1. Java编程语言的基本语法
在进行Android编程之前,需要对Java编程语言拥有一定的基础知识,这包括Java的语法、面向对象编程、集合框架等。以下是Java编程语言的基本语法部分:
1.1 关键字和标识符
Java中关键字(keyword)是指具有特殊含义的单词,不能将它们用作程序中的标识符(identifier)。标识符是用来给变量、方法、类等命名的符号。以下是Java中的一些关键字:
public class Hello {
public static void main(String[] args) {
int i = 1;
if (i == 1) {
System.out.println("Hello World!");
}
}
}
关键字:public, class, static, void, main, String, int, if, else, System, out, println
标识符:Hello, i
1.2 变量和数据类型
Java中的变量是用来存储数据的,数据类型(data type)是指变量可以保存的数据的类型。Java中的数据类型可以分为两类:
基本数据类型(primitive data type):这些数据类型是Java中基本的数据类型,包括整型、浮点型、布尔型、字符型等。
引用数据类型(reference data type):这些数据类型是指可以引用对象的变量。它们包括类(class)、数组(array)和接口(interface)。
以下是Java中的一些基本数据类型:
byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 9223372036854775807L;
float f = 3.1415926f;
double d = 3.141592653589793;
boolean bool = true;
char c = 'A';
1.3 运算符
Java中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符等,这些运算符用于执行不同的操作。以下是Java中的一些运算符:
int a = 10, b = 5;
System.out.println(a + b); // 加法运算
System.out.println(a - b); // 减法运算
System.out.println(a * b); // 乘法运算
System.out.println(a / b); // 除法运算
System.out.println(a % b); // 取模运算
System.out.println(a > b); // 大于运算
System.out.println(a >= b); // 大于等于运算
System.out.println(a < b); // 小于运算
System.out.println(a <= b); // 小于等于运算
System.out.println(a == b); // 等于运算
System.out.println(a != b); // 不等于运算
System.out.println(a > b && a < 15); // 逻辑与运算
System.out.println(a > b || a < 5); // 逻辑或运算
System.out.println(~a); // 按位取反运算
System.out.println(a & b); // 按位与运算
System.out.println(a | b); // 按位或运算
System.out.println(a ^ b); // 按位异或运算
System.out.println(a << 1); // 左移运算
System.out.println(a >> 1); // 右移运算
System.out.println(a >>> 1); // 无符号右移运算
2. 面向对象编程
Java是一种面向对象编程(Object-Oriented Programming,简称OOP)的编程语言,面向对象编程是一种编程范式,它将现实世界中的实体抽象成程序中的对象,通过封装、继承、多态等概念来实现程序的设计和开发。
2.1 类和对象
在Java中,类(class)是一种用来描述对象的数据类型,每个类都有一些属性和方法,属性是用来描述对象的状态,方法则描述对象的行为。
对象(object)是类的实例,它包含了类的属性和方法,可以执行类中定义的方法和访问类中定义的属性。
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void sayHello() {
System.out.println("Hello, my name is " + name + ", I am " + age + " years old.");
}
public static void main(String[] args) {
Person person = new Person();
person.setName("Tom");
person.setAge(18);
person.sayHello();
}
}
解释:上述代码定义了一个Person类,包含了name和age两个私有属性,分别用于描述人的姓名和年龄。Person类中还包含了一个get方法和一个set方法,用于获取和设置name和age属性的值。sayHello方法则是Person类中的一个行为,用于输出人的姓名和年龄。最后在main方法中创建了一个Person对象,设置它的属性值,然后调用sayHello方法。
2.2 继承和多态
继承(inheritance)是面向对象编程中的一个重要概念,它允许新的类继承旧的类的属性和方法,从而可以重用旧类的代码。子类(subclass)是继承的类,父类(superclass)是被继承的类。
Java中的继承可以使用extends关键字定义,如下所示:
public class Student extends Person {
private String school;
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public void sayHello() {
System.out.println("Hello, my name is " + getName() + ", I am " + getAge() + " years old, I am a student of " + school + ".");
}
public static void main(String[] args) {
Student student = new Student();
student.setName("Lucy");
student.setAge(20);
student.setSchool("Harvard University");
student.sayHello();
}
}
解释:上述代码定义了一个Student类,它继承了Person类的属性和方法。在Student类中,新增了一个私有属性school和一个sayHello方法,在sayHello方法中,使用了父类Person中的方法getName和getAge获取到name和age属性的值,并输出学生的学校名称。
多态(polymorphism)是指同一种行为具有多个不同的表现形式或形态的能力,可以通过继承和接口实现。在Java中,多态性可以通过父类或接口实现,可以使程序具有更好的灵活性和扩展性。
3. 集合框架
集合框架是Java中的一种重要的数据结构,它提供了一组接口和类,用于存储和操作一组对象。常见的集合框架包括List、Map、Set等。以下是Java中的一些集合类和接口:
List:有序的、可重复的集合
Set:无序的、不可重复的集合
Map:具有映射关系的集合,由键值对组成
ArrayList:List接口的实现类,基于数组实现
LinkedList:List接口的实现类,基于链表实现
HashSet:Set接口的实现类,使用哈希表实现
HashMap:Map接口的实现类,使用哈希表实现
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
for(String str : list) {
System.out.println(str);
}
}
}
解释:上述代码演示了如何使用Java中的List接口和ArrayList类来存储一组字符串,并通过for-each循环输出其中的元素。