Java 语言教程

Java 语言全面教程

一、Java 概述

Java 是一种面向对象的编程语言,具有"一次编写,到处运行"(Write Once, Run Anywhere)的跨平台特性。它的核心思想是面向对象编程(OOP),围绕封装、继承、多态三大特性展开。

二、Java 基础语法

1. 基本数据类型(8种)

  • 整型:byte、short、int(最常用)、long
  • 浮点型:float、double(最常用)
  • 字符型:char(存储单个字符,如 'A')
  • 布尔型:boolean(只有 true 和 false 两个值)

2. 变量声明与使用

java 复制代码
int age = 25;          // 整型变量
String name = "张三";    // 引用类型变量

3. 程序逻辑控制

  • 运算符:算术运算符(+, -, *, /, %)、关系运算符(>, <, ==, !=)、逻辑运算符(&&, ||, !)等
  • 条件语句:if-else、switch-case
  • 循环语句:for、while、do-while

三、面向对象编程(OOP)

1. 类与对象

  • :是对象的蓝图或模板,定义了对象的属性(字段)和行为(方法)
  • 对象:是类的实例,是真实存在的个体
java 复制代码
// 类的定义
public class Person {
    // 成员变量(属性)
    String name;
    int age;
    
    // 成员方法(行为)
    public void sayHello() {
        System.out.println("Hello, I'm " + name);
    }
}

// 创建和使用对象
Person person = new Person();
person.name = "张三";
person.sayHello();

2. 构造器

构造器用于初始化对象,具有以下特点:

  • 必须与类名相同
  • 没有返回类型,也不能写void
  • 使用new关键字创建对象时会自动调用构造器
java 复制代码
public class Person {
    String name;
    
    // 无参构造器
    public Person() {
        name = "默认名称";
    }
    
    // 有参构造器
    public Person(String name) {
        this.name = name;
    }
}

3. 面向对象三大特性

(1) 封装

将数据(字段)和操作数据的方法绑定在一起,并隐藏内部实现细节。通常通过将字段设为private,然后提供公共的getter和setter方法来访问和修改。

(2) 继承

允许一个类(子类)继承另一个类(父类)的字段和方法,实现代码复用。使用extends关键字。

java 复制代码
class Animal {
    public void eat() {
        System.out.println("动物需要进食");
    }
}

class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("狗吃骨头");
    }
}
(3) 多态

同一个方法在不同对象上有不同的实现。多态的实现需要满足三个条件:继承、方法重写、父类引用指向子类对象。

四、接口

1. 接口的定义与特点

接口是抽象方法的集合,通常用interface关键字声明:

  • 方法默认都是public abstract
  • 变量默认是public static final
  • 接口不能被实例化,需要被实现
  • 实现接口的类必须实现所有方法,否则必须声明为抽象类
java 复制代码
interface IPay {
    int MONEY = 100;  // 相当于 public static final int MONEY = 100;
    
    void pay();       // 相当于 public abstract void pay();
}

class Alipay implements IPay {
    @Override
    public void pay() {
        System.out.println("支付宝支付");
    }
}

2. 接口的继承与实现

  • 接口可以继承另一个接口,使用extends关键字
  • 一个类可以实现多个接口,用逗号分隔
java 复制代码
interface IOnlinePay extends IPay {}
class WeChatPay implements IPay, IOnlinePay {
    // 实现方法
}

3. JDK 8 接口新特性

  • static方法:接口中可以有static方法,必须有方法实现体,接口名直接调用
  • default方法:接口中新增default关键字修饰的方法,必须有方法体,可以在子类或子接口中被重写
java 复制代码
interface IPay {
    static void staticMethod() {
        System.out.println("接口中的静态方法");
    }
    
    default void defaultMethod() {
        System.out.println("接口中的默认方法");
    }
}

五、常用API与数据结构

1. Collections框架

Java的Collections框架提供了一套用于存储和操作数据的接口和类:

(1) List接口
  • 有序集合,允许重复元素
  • 常用实现类:ArrayList、LinkedList
java 复制代码
import java.util.ArrayList;
import java.util.List;

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
(2) Set接口
  • 无序集合,不允许重复元素
  • 常用实现类:HashSet、TreeSet
(3) Map接口
  • 键值对集合,不允许重复键
  • 常用实现类:HashMap、TreeMap

2. 常用工具类

  • String:字符串操作类
  • StringBuilder/StringBuffer:可变字符串,用于高效拼接字符串
  • Date/Calendar:日期时间处理
  • Math:数学运算方法
  • Arrays:数组操作工具类

六、异常处理

Java使用异常机制来处理程序运行时可能出现的错误:

java 复制代码
try {
    // 可能发生异常的代码
    int result = 10 / 0;
} catch (ArithmeticException e) {
    // 捕获并处理异常
    System.out.println("发生算术异常:" + e.getMessage());
} finally {
    // 无论是否发生异常都会执行的代码
    System.out.println("程序结束");
}

七、Java高级特性

  • 泛型:提供编译时类型安全检测机制
  • 反射:运行时动态获取类的信息和调用方法
  • 注解:为代码添加元数据信息
  • 多线程:并发编程支持
  • IO流:文件和网络操作

八、学习建议

  1. 循序渐进:从基础语法开始,逐步掌握面向对象编程
  2. 多写代码:理论结合实践,通过大量练习巩固知识
  3. 阅读源码:学习Java标准库和优秀开源框架的实现
  4. 参与项目:通过实际项目提升编程能力

Java是一门功能强大且广泛应用的编程语言,掌握好Java基础知识对后续学习框架和深入理解编程思想都至关重要。

相关推荐
Python私教11 分钟前
使用 FastAPI 实现文件上传接口:从入门到进阶
后端
Mos_x1 小时前
springboot系列--自动配置原理
java·后端
IT_陈寒1 小时前
Vue 3响应式原理深度拆解:5个90%开发者不知道的Ref与Reactive底层实现差异
前端·人工智能·后端
计算机学姐4 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
程序员爱钓鱼9 小时前
Python编程实战:面向对象与进阶语法——类型注解与代码规范(PEP 8)
后端·python·ipython
程序员爱钓鱼9 小时前
Python实战:用高德地图API批量获取地址所属街道并写回Excel
后端·python·ipython
Yeats_Liao9 小时前
时序数据库系列(三):InfluxDB数据写入Line Protocol详解
数据库·后端·时序数据库
王元_SmallA9 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
好好研究9 小时前
Spring框架 - 开发方式
java·后端·spring