# Java基础到面向对象实战编程指南
---
## 一、Java基础语法解析
### 1.1 变量与数据类型
```java
public class BasicSyntax {
public static void main(String[] args) {
// 变量声明
int age = 25; // 基本数据类型
String name = Java; // 引用类型
boolean flag = true; // 布尔类型
// 类型转换
double salary = 5000.5;
int basicSalary = (int) salary; // 强制转换
}
}
```
---
### 1.2 基本流程控制
#### 条件语句(if-else)
```java
if (age >= 18) {
System.out.println(成年人);
} else {
System.out.println(未成年人);
}
```
#### 循环(for, while)
```java
// for循环
for (int i = 0; i < 5; i++) {
System.out.println(循环次数: + i);
}
// while循环
int count = 0;
while (count < 3) {
System.out.println(当前计数: + count++);
}
```
---
### 1.3 数组与字符串
```java
// 数组初始化
int[] numbers = {10, 20, 30, 40};
String[] names = new String[]{Alice, Bob};
// 字符串操作
String str = Hello Java;
System.out.println(str.length()); // 输出长度6
System.out.println(str.charAt(0)); // 输出 'H'
System.out.println(str.contains(Java)); // 输出 true
```
---
### 1.4 类与对象基础
```java
// 定义类
class Student {
String name;
int age;
// 构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 方法
public void display() {
System.out.println(学生姓名: + name + ,年龄: + age);
}
}
// 使用对象
Student s = new Student(张三, 20);
s.display(); // 输出学生姓名:张三,年龄:20
```
---
## 二、面向对象进阶
### 2.1 封装原则(Encapsulation)
```java
class Person {
private String name; // 私有属性
// Getter and Setter
public String getName() {
return name;
}
public void setName(String name) {
if (!name.isEmpty()) {
this.name = name;
}
}
}
// 使用封装类
Person p = new Person();
p.setName(李四); // 合法
p.setName(); // 验证失败,自动忽略
```
---
### 2.2 继承与多态
```java
// 父类
class Animal {
public void speak() {
System.out.println(动物在发声...);
}
}
// 子类
class Dog extends Animal {
@Override
public void speak() {
System.out.println(汪汪汪!);
}
}
// 多态演示
Animal myAnimal = new Dog();
myAnimal.speak(); // 输出:汪汪汪!
```
---
### 2.3 接口与抽象类
```java
// 接口定义
interface Shape {
void draw();
}
// 实现接口
class Circle implements Shape {
public void draw() {
System.out.println(绘制圆形);
}
}
// 抽象类
abstract class ShapeBase {
protected String color;
abstract void getColor(); // 抽象方法
}
// 继承抽象类
class Square extends ShapeBase {
@Override
void getColor() {
System.out.println(方形颜色: + color);
}
}
```
---
## 三、实战项目:简单计算器
### 3.1 需求分析
- 支持加、减、乘、除运算
- 用户输入两个数字和操作符
- 输出计算结果
### 3.2 类设计
```java
// 计算器类
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print(请输入第一个数:);
double num1 = scanner.nextDouble();
System.out.print(请输入第二个数:);
double num2 = scanner.nextDouble();
System.out.print(请输入操作符 (+, -, , /):);
char operator = scanner.next().charAt(0);
double result = calculate(num1, num2, operator);
System.out.println(运算结果: + result);
}
// 计算方法
private static double calculate(double a, double b, char op) {
switch(op) {
case '+': return a + b;
case '-': return a - b;
case '': return a b;
case '/':
if (b != 0) return a / b;
else {
System.out.println(除数不能为零);
return Double.NaN;
}
default:
System.out.println(未知操作符);
return Double.NaN;
}
}
}
```
---
## 四、关键概念总结
| 术语 | 核心要点 |
|------------------------|-----------------------------------------------------------------------------|
| 封装 | 使用`private`修饰成员变量,通过`getter/setter`方法控制访问 |
| 继承 | 使用`extends`实现父子类关系,重写方法实现多态行为 |
| 接口 | 使用`interface`定义契约,通过`implements`实现多个接口 |
| 异常处理 | 使用`try-catch`捕获并处理运行时错误(如计算除数为零) |
---
## 五、进阶学习建议
1. 项目实践:尝试实现一个学生管理系统
2. 设计模式:学习工厂模式、观察者模式等
3. 工具链:熟练使用IDE(如IntelliJ IDEA)、版本控制(Git)
4. 框架:掌握Spring Boot、JUnit等开发工具
> 通过系统理解核心语法和面向对象原则,结合动手编码实践,能快速从入门到实战开发。
1298

被折叠的 条评论
为什么被折叠?



