基础语法
1. Hello World
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
讲解
这是一个典型的Java程序,它定义了一个名为HelloWorld
的类,该类包含一个main
方法——Java应用程序的入口点。System.out.println("Hello, World!");
打印出"Hello, World!"到控制台。
2. 数据类型
int a = 100;
float b = 5.25f;
double c = 5.25;
boolean d = true;
char e = 'A';
String f = "Hello";
讲解
此代码片段展示了Java中的基本数据类型。int
是整数,float
和double
是浮点数,boolean
是布尔类型,char
用于单个字符,String
用于字符串。
3. 条件判断
if (a > b) {// 条件成立时执行
} else if (a == b) {// 另一个条件
} else {// 条件都不成立时执行
}
讲解
使用条件判断来执行不同的代码块。if-else
的结构帮助程序做出选择,执行基于不同条件的代码。
4. 循环结构
for循环
for (int i = 0; i < 10; i++) {System.out.println("i: " + i);
}
讲解
for
循环允许在满足某个条件时重复执行代码。这里的for
循环从0开始,打印到9。
while循环
int i = 0;
while (i < 10) {System.out.println("i: " + i);i++;
}
讲解
while
循环在一个条件成立时不断执行一段代码。只要i
小于10,就会继续循环。
do-while循环
int i = 0;
do {System.out.println("i: " + i);i++;
} while (i < 10);
讲解
do-while
循环与while
循环相似,但它在先执行一次代码之后,才检查条件。
5. 数组
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
// ...
int[] arr2 = {1, 2, 3, 4, 5};
讲解
数组是用于存储同一类型元素的集合。int[] arr
是一个整数数组,arr2
是一个带初始化的数组。
6. 方法定义与调用
public static int add(int a, int b) {return a + b;
}
int sum = add(5, 3); // 调用方法
讲解
方法是可重用的代码段。add
是一个方法,它接收两个整数参数并返回它们的和。通过调用add(5, 3)
获取结果。
面向对象编程
7. 类与对象
public class Dog {String name;public void bark() {System.out.println(name + " says: Bark!");}
}Dog myDog = new Dog();
myDog.name = "Rex";
myDog.bark();
讲解
Dog
类具有属性name
和方法bark
。通过创建Dog
对象并设置其属性, 可以调用其方法。
8. 构造方法
public class User {String name;public User(String newName) {name = newName;}
}User user = new User("Alice");
讲解
构造方法用于对象初始化。在User
类中,构造函数赋值name
为传入的参数。
9. 继承
public class Animal {void eat() {System.out.println("This animal eats food.");}
}public class Dog extends Animal {void bark() {System.out.println("The dog barks.");}
}Dog dog = new Dog();
dog.eat(); // 继承自Animal
dog.bark();
讲解
继承允许类继承其他类的属性和方法。Dog
继承Animal
,因此可以调用eat
方法。
10. 接口
public interface Animal {void eat();
}public class Dog implements Animal {public void eat() {System.out.println("The dog eats.");}
}Dog dog = new Dog();
dog.eat();
讲解
接口定义类须实现的方法。Dog
类实现Animal
接口,需要具体化eat
方法。
11. 抽象类
public abstract class Animal {abstract void eat();
}public class Dog extends Animal {void eat() {System.out.println("The dog eats.");}
}Animal dog = new Dog();
dog.eat();
讲解
抽象类可以包含抽象方法,子类必须实现这些方法。Dog
类实现抽象类Animal
的eat
方法。
12. 方法重载
public class Calculator {int add(int a, int b) {return a + b;}double add(double a, double b) {return a + b;}int add(int a, int b, int c) {return a + b + c;}
}Calculator calc = new Calculator();
calc.add(5, 3); // 调用第一个方法
calc.add(5.0, 3.0); // 调用第二个方法
calc.add(5, 3, 2); // 调用第三个方法
讲解
方法重载允许在同一类中创建多个同名方法,但参数类型或数量不同。Java选择最匹配的签名。
13. 方法重写
public class Animal {void makeSound() {System.out.println("Some sound");}
}public class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Bark");}
}Animal myDog = new Dog();
myDog.makeSound(); // 输出 "Bark"
讲解
重写允许子类提供父类方法的新实现。在Dog
中,makeSound
方法重写了Animal
类的方法。
14. 多态
public class Animal {void makeSound() {System.out.println("Some generic sound");}
}public class Dog extends Animal {@Overridevoid makeSound() {System.out.println("Bark");}
}public class Cat extends Animal {@Overridevoid makeSound() {System.out.println("Meow");}
}Animal myAnimal = new Dog();
myAnimal.makeSound(); // Bark
myAnimal = new Cat();
myAnimal.makeSound(); // Meow
讲解
多态允许一个对象表现为多种类型。makeSound
方法可由Animal
类型引用调用,并根据对象类型改变行为。
15. 封装
public