基本语法
- **注释**:用于解释代码,分为单行注释(`//`)、多行注释(`/* */`)和文档注释(`/** */`)。
java
// 这是单行注释
/*
这是多行注释
*/
/**
这是文档注释
*/
- **变量与数据类型**:变量是存储数据的容器,Java 有基本数据类型(如`int`、`double`、`char`、`boolean`等)和引用数据类型(如数组、类、接口等)。
java
int num = 10; // 定义一个整数类型的变量
double price = 9.9; // 定义一个双精度浮点类型的变量
char ch = 'A'; // 定义一个字符类型的变量
boolean isTrue = true; // 定义一个布尔类型的变量
- **运算符**:用于执行各种运算,包括算术运算符(`+`、`-`、`*`、`/`等)、关系运算符(`>`、`<`、`==`等)、逻辑运算符(`&&`、`||`、`!`等)。
java
int a = 5;
int b = 3;
int sum = a + b; // 算术运算
boolean result = a > b; // 关系运算
boolean logicalResult = (a > 2) && (b < 5); // 逻辑运算
- **控制语句**:用于控制程序的执行流程,包括条件语句(`if-else`、`switch`)和循环语句(`for`、`while`、`do-while`)。
java
// if-else语句
if (a > b) {
System.out.println("a 大于 b");
} else {
System.out.println("a 小于等于 b");
}
// for循环
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
面向对象编程
- **类与对象**:类是对象的抽象,对象是类的实例。类中可以包含属性(成员变量)和方法。
java
class Person {
String name; // 属性
int age;
void introduce() { // 方法
System.out.println("我叫" + name + ",今年" + age + "岁。");
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person(); // 创建对象
person.name = "张三";
person.age = 20;
person.introduce();
}
}
- **封装**:将数据和操作数据的方法绑定在一起,隐藏对象的内部实现细节,通过访问修饰符(`private`、`protected`、`public`)来控制对类成员的访问。
java
class Student {
private String name; // 私有属性,外部无法直接访问
private int age;
public void setName(String name) { // 提供公共的访问方法
this.name = name;
}
public String getName() {
return name;
}
}
- **继承**:一个类可以继承另一个类的属性和方法,提高代码的复用性。被继承的类称为父类(基类),继承的类称为子类(派生类)。
java
class Animal {
void eat() {
System.out.println("动物吃东西");
}
}
class Dog extends Animal {
void bark() {
System.out.println("狗叫");
}
}
- **多态**:允许不同类的对象对同一消息做出不同的响应,通过方法重载和方法重写实现。
java
class Shape {
void draw() {
System.out.println("绘制形状");
}
}
class Circle extends Shape {
@Override
void draw() {
System.out.println("绘制圆形");
}
}
异常处理
Java 中的异常是程序运行时出现的错误,通过`try-catch-finally`语句块来捕获和处理异常。
java
public class ExceptionExample {
public static void main(String[] args) {
try {
int result = 10 / 0; // 可能会抛出异常的代码
} catch (ArithmeticException e) {
System.out.println("发生算术异常:" + e.getMessage());
} finally {
System.out.println("无论是否发生异常,都会执行这里的代码");
}
}
}
输入输出
- **控制台输入输出**:使用`System.out.println()`进行输出,使用`Scanner`类进行输入。
java
import java.util.Scanner;
public class InputOutputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);
scanner.close();
}
}
- **文件输入输出**:使用`FileInputStream`、`FileOutputStream`、`FileReader`、`FileWriter`等类进行文件的读写操作。
数组与集合
- **数组**:用于存储相同类型的多个元素,数组的长度是固定的。
java
int[] numbers = new int[5]; // 创建一个长度为 5 的整数数组
numbers[0] = 1;
numbers[1] = 2;
- **集合**:用于存储多个对象,集合的长度是可变的,Java 提供了丰富的集合类,如`List`、`Set`、`Map`等。
java
import java.util.ArrayList;
import java.util.List;
public class CollectionExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("苹果");
list.add("香蕉");
System.out.println(list);
}
}