Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

声明变量和赋值

1
2
3
4
5
6
7
8
9
// 声明变量
int age;

// 初始化变量
age = 25;

// 声明并初始化变量
double price = 19.99;

类的定义和创建对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 定义类
class car {
String name;
int age;

void introduce() {
System.out.println("我是" + name + "车,今年车龄:" + age + "岁。");
}
}

// 创建对象
car c = new car();
c.name = "Bumblebee";
c.age = 20;
c.introduce();

循环

for

已知道迭代次数,或者知道迭代条件时,for更加直观

1
2
3
for (初始化; 条件; 更新) {
// 循环体代码
}

while

循环次数不确定,需要根据条件是否成立的,使用while

1
2
3
4
5
6
7
8
9
10
while (条件) {
// while循环体代码
}



do {
// do while循环体代码
} while (条件);

选择

if

从简单条件到复杂条件,if都可以

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (条件) {
// 如果条件为真,执行这里的代码
}




if (条件) {
// 如果条件为真,执行这里的代码
} else {
// 如果条件为假,执行这里的代码
}



if (条件1) {
// 如果条件1为真,执行这里的代码
} else if (条件2) {
// 如果条件2为真,执行这里的代码
} else {
// 如果前面条件都为假,执行这里的代码
}



switch

需要特定的值成立时,switch语句更加简洁易读

1
2
3
4
5
6
7
8
9
10
switch (表达式) {
case1:
// 如果表达式的值与值1匹配,执行这里的代码
break;
case2:
// 如果表达式的值与值2匹配,执行这里的代码
break;
default:
// 如果没有匹配的值,执行这里的代码
}

方法的定义和调用

1
2
3
4
5
6
7
8
// 定义方法
public int add(int a, int b) {
return a + b;
}

// 调用方法
int sum = add(5, 3);

数据结构

数组

1
int[] numbers = {1, 2, 3, 4, 5};

集合

1
2
3
4
Set<String> names = new HashSet<>();
names.add("Alice");
names.add("Bob");
System.out.println(names);

列表

1
2
3
4
List<Integer> scores = new ArrayList<>();
scores.add(85);
scores.add(90);
System.out.println(scores);

映射

1
2
3
4
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
System.out.println(ages);

1
2
3
4
Stack<String> stack = new Stack<>();
stack.push("First");
stack.push("Second");
System.out.println(stack);

对列

1
2
3
4
Queue<Double> queue = new LinkedList<>();
queue.offer(3.14);
queue.offer(2.71);
System.out.println(queue);

1
2
3
4
5
6
7
8
9
10
11
12
13
class TreeNode {
int value;
TreeNode left;
TreeNode right;

TreeNode(int value) {
this.value = value;
}
}
TreeNode root = new TreeNode(10);
root.left = new TreeNode(5);
root.right = new TreeNode(15);
System.out.println(root.value);

链表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ListNode {
int value;
ListNode next;

ListNode(int value) {
this.value = value;
}
}

ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);
System.out.println(head.value);

异常处理

异常处理是在编程中用于处理可能发生的错误情况的一种机制。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("发生除以零的异常:" + e.getMessage());
catch (ArithmeticException e) {
// 处理算术异常
} catch (NullPointerException e) {
// 处理空指针异常
} catch (Exception e) {
// 处理其他异常
} finally {
System.out.println("无论是否发生异常,这里都会执行。");
}

继承和多态

多态:多态性的实际效果是,你可以使用父类的引用变量来引用子类的对象,然后根据实际对象的类型调用相应的方法。

@Override :是Java中的一个注解(Annotation),用于标识一个方法是在子类中对父类中的方法进行重写(覆盖)。当你在子类中重写父类的方法时,为了确保你的重写是正确的,你可以使用 @Override 注解。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 父类定义
class Animal {
void makeSound() {
System.out.println("Animal makes a sound");
}
}

// 子类定义,继承父类
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Dog barks");
}
}

// 多态示例
Animal animal1 = new Animal();
Animal animal2 = new Dog();
animal1.makeSound(); // 输出:Animal makes a sound
animal2.makeSound(); // 输出:Dog barks

接口与实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 接口定义
interface Shape {
double getArea();//得面积
}

// 类实现接口
class Circle implements Shape {
double radius;//得半径

Circle(double r) {
radius = r;
}

@Override
public double getArea() {
return Math.PI * radius * radius;
}
}

// 实例化并调用接口方法
Shape shape = new Circle(5);
double area = shape.getArea();
System.out.println("Circle area: " + area); // 输出:Circle area: 78.53981633974483

在这个示例中,我们首先定义了一个名为 Shape 的接口,其中有一个 getArea 方法,用于获取图形的面积。然后,我们创建了一个实现了 Shape 接口的类 Circle,该类表示一个圆,它有一个属性 radius 表示半径。

Circle 类中,我们实现了 getArea 方法,根据圆的半径计算并返回面积。这是我们遵循接口要求的方式来为每种形状提供计算面积的方法。

在主程序中,我们使用多态性的概念。我们声明了一个 Shape 类型的引用变量 shape,并将其初始化为一个 Circle 对象。由于 Circle 实现了 Shape 接口,我们可以使用 Shape 引用变量来引用 Circle 对象。

然后,我们调用 shape.getArea() 方法,实际上是调用了 Circle 类中的 getArea 方法。这是因为 shape 引用的对象是 Circle 类的一个实例。最后,我们将计算得到的面积输出。

通过这个示例,你可以看到多态性的好处:无论是 CircleSquare 还是其他实现了 Shape 接口的类,只要它们实现了相同的方法,我们就可以使用相同的接口引用来调用这些方法,使得代码更加灵活和可扩展。

评论