Java 零基础学习教程
文章目录
1. Java 简介
1.1 Java 的历史
Java 由 Sun Microsystems 公司于 1995 年推出,最初是为嵌入式系统设计的。后来,Java 因其“一次编写,到处运行”的特性,迅速成为企业级应用开发的主流语言。
1.2 Java 的特点
- 跨平台性:Java 程序可以在任何支持 Java 虚拟机(JVM)的平台上运行。
- 面向对象:Java 是一种纯粹的面向对象编程语言。
- 安全性:Java 提供了多层次的安全机制。
- 多线程:Java 内置对多线程的支持。
1.3 Java 的应用领域
- Web 开发(Spring、Hibernate)
- 移动应用开发(Android)
- 大数据处理(Hadoop、Spark)
- 企业级应用(Java EE)
1.4 Java 开发环境搭建
- 安装 JDK:从 Oracle 官网下载并安装 Java Development Kit (JDK)。
- 配置环境变量:设置
JAVA_HOME
和PATH
环境变量。 - 安装 IDE:推荐使用 IntelliJ IDEA 或 Eclipse。
2. Java 基础语法
2.1 第一个 Java 程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
public class HelloWorld
:定义一个公共类,类名必须与文件名一致。public static void main(String[] args)
:程序的入口点。System.out.println
:输出内容到控制台。
2.2 数据类型
- 基本数据类型:
int
,double
,char
,boolean
等。 - 引用数据类型:
String
, 数组, 类, 接口等。
2.3 变量与常量
- 变量:
int age = 25;
- 常量:
final double PI = 3.14;
2.4 运算符
- 算术运算符:
+
,-
,*
,/
,%
- 关系运算符:
==
,!=
,>
,<
- 逻辑运算符:
&&
,||
,!
2.5 控制流程
- if 语句:
if (condition) { // 代码块 } else { // 代码块 }
- switch 语句:
switch (variable) { case value1: // 代码块 break; case value2: // 代码块 break; default: // 代码块 }
- 循环:
for
循环:for (int i = 0; i < 10; i++) { // 代码块 }
while
循环:while (condition) { // 代码块 }
do-while
循环:do { // 代码块 } while (condition);
3. 面向对象编程
3.1 类与对象
- 类:类是对象的模板,定义了对象的属性和行为。
class Dog { String name; int age; void bark() { System.out.println("Woof!"); } }
- 对象:对象是类的实例。
Dog myDog = new Dog(); myDog.name = "Buddy"; myDog.age = 3; myDog.bark();
3.2 构造方法
- 构造方法用于初始化对象。
class Dog { String name; int age; Dog(String name, int age) { this.name = name; this.age = age; } }
3.3 继承
- 继承允许一个类继承另一个类的属性和方法。
class Animal { void eat() { System.out.println("Eating..."); } } class Dog extends Animal { void bark() { System.out.println("Woof!"); } }
3.4 多态
- 多态允许子类对象被视为父类对象。
Animal myDog = new Dog(); myDog.eat(); // 调用的是 Dog 类的 eat 方法
3.5 抽象类与接口
- 抽象类:不能实例化,可以包含抽象方法。
abstract class Animal { abstract void makeSound(); }
- 接口:定义一组方法,类可以实现多个接口。
interface Animal { void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("Woof!"); } }
3.6 包与访问控制
- 包:用于组织类和接口。
package com.example;
- 访问控制:
public
,protected
,private
,default
4. Java 核心类库
4.1 字符串处理
String
类:String str = "Hello"; System.out.println(str.length());
StringBuilder
和StringBuffer
:用于可变字符串操作。
4.2 集合框架
List
:有序集合,允许重复元素。List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana");
Set
:无序集合,不允许重复元素。Map
:键值对集合。Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2);
4.3 异常处理
try-catch
块:try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("Cannot divide by zero"); }
4.4 输入输出流
- 文件读写:
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); }
4.5 多线程编程
- 创建线程:
class MyThread extends Thread { public void run() { System.out.println("Thread is running"); } } MyThread t1 = new MyThread(); t1.start();
5. Java 高级特性
5.1 泛型
- 泛型类:
class Box<T> { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; } }
5.2 反射
- 获取类的信息:
Class<?> clazz = Class.forName("com.example.MyClass");
5.3 注解
- 自定义注解:
@interface MyAnnotation { String value(); }
5.4 Lambda 表达式
- 简化匿名内部类:
List<String> list = Arrays.asList("a", "b", "c"); list.forEach(s -> System.out.println(s));
5.5 流式 API
- 流操作:
List<String> list = Arrays.asList("a", "b", "c"); list.stream().filter(s -> s.startsWith("a")).forEach(System.out::println);
6. Java 开发工具
6.1 Eclipse/IntelliJ IDEA 使用
- 安装与配置
- 创建项目与运行程序
6.2 Maven/Gradle 项目管理
- 依赖管理
- 构建项目
6.3 Git 版本控制
- 基本命令:
clone
,commit
,push
,pull
7. 实战项目
7.1 简单计算器
- 实现加减乘除功能
7.2 学生管理系统
- 实现学生信息的增删改查
7.3 图书管理系统
- 实现图书的借阅与归还
结语
通过本教程,你应该已经掌握了 Java 的基础知识,并能够进行简单的项目开发。继续深入学习 Java 的高级特性和框架,将有助于你在编程领域取得更大的进步。