Android Java 教程:从零开始成为 Android 开发者
这份教程分为四个主要部分:

- 第一部分:Java 基础入门 - 学习 Android 开发所必需的 Java 核心语法。
- 第二部分:Android 开发核心 - 了解 Android 应用的基本结构和组件。
- 第三部分:实战项目:一个简单的计算器 - 将所学知识整合,亲手开发一个完整的小应用。
- 第四部分:进阶与学习资源 - 了解如何进一步提升技能和解决常见问题。
第一部分:Java 基础入门 (为 Android 定制)
在开始之前,你需要安装 Android Studio,这是 Google 官方推荐的 Android 开发 IDE(集成开发环境),它已经内置了 Java 开发环境(JDK),你无需单独安装。
你好,世界!
这是每个程序员的第一个程序,在 Android Studio 中创建一个新项目,选择 "Empty Activity",然后找到 MainActivity.java 文件,在 onCreate 方法中加入下面这行代码:
// 在 setContentView(R.layout.activity_main); 这行下面添加
System.out.println("你好,世界!");
运行你的 App,然后在 Android Studio 的底部 Logcat 窗口中,你会看到 "你好,世界!" 的输出,这就是你的第一个 Java 程序!
变量与数据类型
变量就像一个可以存放东西的盒子,在 Java 中,你必须先声明变量的类型,才能使用它。

| 数据类型 | 描述 | 示例 |
|---|---|---|
int |
整数 (没有小数) | int age = 25; |
double |
双精度浮点数 (带小数) | double price = 19.99; |
float |
单精度浮点数 (比 double 精度低) | float weight = 65.5f; // 注意末尾的 f |
char |
单个字符 | char grade = 'A'; // 用单引号 |
boolean |
布尔值,只有 true 或 false |
isStudent = true; |
String |
字符串 (一串字符),不是基本类型,但非常常用 | String name = "张三"; // 用双引号 |
Android 中的使用:
在 activity_main.xml 布局文件中,拖拽一个 TextView 组件,在 MainActivity.java 中,你可以这样修改它的显示文本:
// 1. 在类的开头声明一个 TextView 变量
private TextView myTextView;
// 2. 在 onCreate 方法中,找到布局中的 TextView 并关联起来
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 通过 ID 找到布局中的 TextView
myTextView = findViewById(R.id.myTextView); // 确保 myTextView 是你在 XML 中设置的 ID
// 3. 定义一个字符串变量,并设置给 TextView
String message = "欢迎来到 Android 开发!";
myTextView.setText(message);
}
运算符
- 算术运算符: , , , , (取余)
int a = 10; int b = 3; int sum = a + b; // 13 int remainder = a % b; // 1
- 比较运算符: , ,
>,<,>=,<=(返回 boolean 值)int x = 5; boolean isEqual = (x == 5); // true
- 逻辑运算符:
&&(与), (或), (非)boolean isAdult = true; boolean hasJob = false; boolean canLoan = isAdult && hasJob; // false
控制流
a. 条件语句
-
if-elseint score = 85; if (score >= 90) { System.out.println("优秀"); } else if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); }Android 中的使用: 根据用户输入或网络状态,显示不同的提示信息。
(图片来源网络,侵删) -
switch(适合多分支选择)int day = 3; switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; // ... 其他 case default: System.out.println("未知日期"); break; }
b. 循环语句
-
for循环 (当你知道循环次数时)// 打印 1 到 5 for (int i = 1; i <= 5; i++) { System.out.println("数字: " + i); }Android 中的使用: 遍历一个列表(如联系人列表、新闻列表)并显示出来。
-
while循环 (当条件为true时持续循环)int count = 0; while (count < 3) { System.out.println("Count is: " + count); count++; // 别忘了增加计数器,否则会死循环! }
方
方法(也称为函数)是一段可以重复执行的代码块。
// 语法: [修饰符] 返回类型 方法名(参数列表) { ... }
// 一个没有返回值,没有参数的方法
public void sayHello() {
System.out.println("你好!");
}
// 一个有返回值 (int),有参数 (int, int) 的方法
public int add(int num1, int num2) {
return num1 + num2; // return 关键字用于返回结果
}
Android 中的使用: 点击按钮时执行的操作,通常就写在一个方法里。
// 在 MainActivity.java 中
Button myButton = findViewById(R.id.myButton);
// 为按钮设置点击监听器
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 点击按钮时,这个 onClick 方法会被执行
Toast.makeText(MainActivity.this, "按钮被点击了!", Toast.LENGTH_SHORT).show();
}
});
Toast 是 Android 中一个非常方便的提示工具,会显示一个小弹窗。
面向对象编程 - Android 的核心
Android 应用开发就是面向对象的过程,你创建的每一个界面、每一个功能,都是一个对象。
a. 类与对象
- 类:是创建对象的“蓝图”或“模板”。
Person类可以定义人有姓名、年龄等属性,以及吃饭、睡觉等行为。 - 对象:是类的具体实例。
Person类可以创建出 "张三" 和 "李四" 这两个具体的对象。
b. 创建一个简单的类
// Person.java
public class Person {
// 成员变量 (属性)
String name;
int age;
// 构造方法 (用于创建对象时初始化属性)
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 成员方法 (行为)
public void introduce() {
System.out.println("大家好,我叫 " + this.name + ",今年 " + this.age + " 岁。");
}
}
c. 使用类
// 在 MainActivity.java 的 onCreate 方法中
Person person1 = new Person("张三", 25);
person1.introduce(); // 输出: 大家好,我叫 张三,今年 25 岁。
Person person2 = new Person("李四", 30);
person2.introduce(); // 输出: 大家好,我叫 李四,今年 30 岁。
c. 继承
继承允许一个类(子类)继承另一个类(父类)的属性和方法,这是 Android 中实现代码复用的关键。
Activity类:所有 Android 界面 Activity 的父类。AppCompatActivity类:Activity的子类,提供了向后兼容等现代功能。
当你创建 MainActivity 时,你实际上是在继承 AppCompatActivity:
public class MainActivity extends AppCompatActivity { ... }
这意味着你的 MainActivity 自动拥有了 AppCompatActivity 的所有功能(如 setContentView, findViewById 等)。
