第一日:初识Java,开启编程之旅
在初入Java的世界时,我仿佛置身于一片未知的海洋。Java,这个拥有悠久历史和广泛应用的编程语言,让我既感到兴奋又有些迷茫。我深知,要想在这个领域有所建树,必须从基础开始,一步一个脚印。
Java基础语法
首先,我学习了Java的基础语法,包括变量、数据类型、运算符、控制结构等。这些看似简单的知识点,却构成了Java编程的基石。我通过编写简单的程序,如“Hello World”,来巩固这些知识。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
面向对象编程
接下来,我学习了Java的面向对象编程(OOP)思想。通过学习类、对象、继承、多态等概念,我逐渐明白了如何将现实世界中的事物抽象成程序中的对象。
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
public void bark() {
System.out.println(name + " is barking.");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog("旺财");
animal.eat();
((Dog) animal).bark();
}
}
第二日:Java集合框架,轻松管理数据
在掌握了Java基础语法和OOP思想后,我开始学习Java集合框架。这个框架提供了丰富的数据结构,如List、Set、Map等,让我能够轻松地管理数据。
List集合
List集合是一个有序的集合,它允许重复元素。我学习了ArrayList和LinkedList两种常见的List实现。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("苹果");
list.add("香蕉");
list.add("橙子");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
Set集合
Set集合是一个无序的集合,它不允许重复元素。我学习了HashSet和TreeSet两种常见的Set实现。
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("苹果");
set.add("香蕉");
set.add("橙子");
for (String fruit : set) {
System.out.println(fruit);
}
}
}
Map集合
Map集合是一个键值对集合,它允许重复的键,但不允许重复的键值对。我学习了HashMap和TreeMap两种常见的Map实现。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("苹果", 1);
map.put("香蕉", 2);
map.put("橙子", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
第三日:Java多线程,让程序飞起来
在掌握了Java集合框架后,我开始学习Java多线程。多线程编程可以让程序同时执行多个任务,提高程序效率。
创建线程
Java提供了两种创建线程的方式:实现Runnable接口和继承Thread类。
// 实现Runnable接口
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("线程1:执行任务");
}
}
// 继承Thread类
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("线程2:执行任务");
}
}
public class Main {
public static void main(String[] args) {
// 创建并启动线程
new Thread(new MyRunnable()).start();
new MyThread().start();
}
}
线程同步
在多线程编程中,线程同步是避免数据竞争和资源冲突的重要手段。Java提供了synchronized关键字和Lock接口来实现线程同步。
public class Main {
public static void main(String[] args) {
Object lock = new Object();
new Thread(() -> {
synchronized (lock) {
System.out.println("线程1:获取锁");
}
}).start();
new Thread(() -> {
synchronized (lock) {
System.out.println("线程2:获取锁");
}
}).start();
}
}
每日一记:学无止境
在Java项目实习的过程中,我深刻体会到了“学无止境”的道理。每天都是一个新的开始,都有新的知识等待我去探索。我相信,只要我保持学习的热情和毅力,就一定能够在Java领域取得更大的成就。
