编程进阶网 编程进阶网
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • C语言入门精通

  • Cpp入门到精通

  • Java入门精通

    • README
    • 入门教程

      • README
        • Java入门教程
        • 01.基础语法
        • 02.数据类型
        • 03.运算符
        • 04.字符串和数组
        • 05.流程语句
        • 06.函数方法
        • 07.类和对象
        • 08.继承和多态
        • 09.接口和抽象类
        • 10.异常处理
        • 11.集合框架
        • 12.IO流和File
        • 13.线程和锁
        • 14.泛型
        • 15.注解和反射
      • 基础语法
      • 数据类型
      • 运算符
      • 字符串和数组
      • 流程语句
      • 函数方法
      • 类和对象
      • 继承和多态
      • 接口和抽象类
      • 异常处理
      • 集合框架
      • IO流和File
      • 线程和锁
      • 泛型
      • 注解和反射
    • 综合案例

    • 专栏博客

  • Go入门到精通

  • JavaScript入门

  • CodeX
  • Java入门精通
  • 入门教程
杨充
2026-04-07
目录

README

# Java入门教程

  • 01.Java基础语法
  • 02.Java数据类型
  • 03.Java运算符
  • 04.Java字符串和数组
  • 05.Java判断和循环
  • 06.Java函数方法
  • 07.Java类和对象
  • 08.Java继承和多态
  • 09.Java接口和抽象类
  • 10.Java异常处理
  • 11.Java集合框架
  • 12.Java IO流和File
  • 13.Java线程和锁
  • 14.Java泛型
  • 15.Java注解和反射

# 01.基础语法

  • 1.1.1 Java语言介绍:是一种面向对象的、跨平台的编程语言,广泛应用于企业级开发、Android开发、Web后端等领域。
  • 1.1.2 Java的特点:包括面向对象、跨平台(Write Once, Run Anywhere)、自动内存管理(GC)、强类型语言。
  • 1.1.3 Java平台体系:1.Java SE(标准版);2.Java EE(企业版);3.Java ME(微型版)。
  • 1.1.4 Java应用领域:1.企业级后端开发;2.Android应用开发;3.大数据处理;4.Web应用开发。
  • 1.2.1 JDK是什么:JDK是Java开发工具包,包含JRE和开发工具(编译器javac、调试器等)。
  • 1.2.2 JRE和JVM:JRE是Java运行环境,JVM是Java虚拟机,负责将字节码翻译为机器码执行。
  • 1.2.5 IDE开发环境:IDE 集成了编译器、编辑器、调试器等工具。常用的有IntelliJ IDEA、Eclipse。
  • 1.4.0 最简单编译:javac Main.java编译,java Main运行。
  • 1.4.1 编译单个文件:javac Main.java生成Main.class字节码文件。
  • 1.5.1 单行注释:使用//进行单行注释。
  • 1.5.2 多行注释:使用/* */进行多行注释。
  • 1.5.3 文档注释:使用/** */进行文档注释,配合javadoc工具生成API文档。
  • 1.6.1 包的概念:使用package关键字声明包,类似于C++的命名空间,用于组织类并避免命名冲突。
  • 1.6.2 导入包:使用import关键字导入其他包中的类。
  • 1.8.1 访问控制修饰符:public所有均可访问,private类本身访问,protected类和子类访问,默认(包访问)同包可访问。
  • 1.8.2 非访问修饰符:static静态成员,final不可修改/不可继承/不可重写,abstract抽象类或方法。
  • 1.9 关键字:Java关键字包括class、interface、extends、implements、new、this、super等。

# 02.数据类型

  • 2.1.1 基本数据类型:Java有8种基本数据类型:byte、short、int、long、float、double、char、boolean。
  • 2.2.1 整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节),默认是int类型。
  • 2.3.1 字符类型:char占2字节,使用Unicode编码,可以存储中文字符。
  • 2.4 浮点类型:float(4字节)和double(8字节),默认是double类型,float需要加f后缀。
  • 2.5.1 布尔类型:boolean只有true和false两个值,不能与整数类型相互转换。
  • 2.6.1 变量:给一段指定的内存空间起名,方便操作这段内存。
  • 2.6.2 常量:使用final关键字定义常量,一旦赋值不可修改。
  • 2.7 类型转换:自动类型转换(小转大)和强制类型转换(大转小可能丢失精度)。
  • 2.8 包装类:每个基本类型都有对应的包装类,如Integer、Double等,支持自动装箱和拆箱。

# 03.运算符

  • 3.1.1 运算符由来:主要是数学与逻辑的抽象,引入编程中用于操作变量、常量和表达式。
  • 3.2 算术运算符:加减乘除取模,以及自增自减运算符。
  • 3.3 赋值运算符:=, +=, -=, *=, /=, %=等复合赋值运算符。
  • 3.4 比较运算符:==, !=, >, <, >=, <=,返回boolean类型。
  • 3.5 逻辑运算符:&&(短路与)、||(短路或)、!(非)。
  • 3.6 位运算符:&, |, ^, ~, <<, >>, >>>(无符号右移)。
  • 3.7 运算符优先级:括号优先级最高,赋值运算符优先级最低。
  • 3.8 instanceof运算符:用于判断对象是否是某个类的实例。

# 04.字符串和数组

  • 4.2.1 String类:Java中字符串是对象,使用String类表示,字符串是不可变的。
  • 4.2.2 字符串创建:直接赋值和new创建的区别,涉及字符串常量池。
  • 4.3 StringBuilder和StringBuffer:可变字符串,StringBuilder线程不安全但快,StringBuffer线程安全但慢。
  • 4.4.1 数组基本概念:存储相同类型元素的连续内存数据结构,大小固定不可变。
  • 4.4.2 数组的声明:int[] arr = new int[5];或int[] arr = {1,2,3,4,5};。
  • 4.4.5 多维数组:int[][] arr = new int[3][4];。
  • 4.4.7 增强for循环遍历:for(int item : arr)简化数组遍历。

# 05.流程语句

  • 5.2.1 if语句:单行if、if-else、多条件if-else if-else。
  • 5.2.7 switch语句:支持byte、short、int、char、String(JDK7+)、枚举类型。
  • 5.3.1 while循环:先判断条件再执行。
  • 5.3.2 do-while循环:先执行再判断条件,至少执行一次。
  • 5.3.3 for循环:标准for循环和增强for循环(for-each)。
  • 5.4.1 break语句:跳出当前循环或switch。
  • 5.4.2 continue语句:跳过本次循环。

# 06.函数方法

  • 6.1.1 方法概念:Java中函数叫方法,是一段可重用的代码块,必须定义在类中。
  • 6.1.2 方法声明和定义:访问修饰符、返回类型、方法名、参数列表。
  • 6.2.1 值传递:Java只有值传递,基本类型传值,引用类型传引用的副本。
  • 6.4.1 方法重载:同一个类中方法名相同但参数列表不同。
  • 6.5 可变参数:使用...定义可变参数,如void method(int... nums)。
  • 6.6 递归:方法调用自身,需要有终止条件。

# 07.类和对象

  • 10.1.1 类的含义:类是对象的模板,封装了数据(属性)和行为(方法)。
  • 10.2.1 类的定义:使用class关键字定义类。
  • 10.2.2 创建对象:使用new关键字创建对象。
  • 10.3.1 成员变量:实例变量和类变量(static修饰)。
  • 10.3.2 成员方法:实例方法和静态方法。
  • 10.4.1 构造方法:对象创建时自动调用,用于初始化。
  • 10.4.2 构造方法重载:一个类可以有多个参数不同的构造方法。
  • 10.5 封装:使用private修饰属性,提供public的getter/setter方法。
  • 10.6 this关键字:指向当前对象的引用。

# 08.继承和多态

  • 11.1.1 继承基本概念:使用extends关键字实现继承,子类继承父类的属性和方法。
  • 11.1.2 Java单继承:Java只支持单继承,一个类只能有一个直接父类。
  • 11.2.1 方法重写:子类重写父类方法,使用@Override注解。
  • 11.3.1 super关键字:用于调用父类的构造方法和成员。
  • 12.1.1 多态基本概念:父类引用指向子类对象,运行时根据实际类型调用方法。
  • 12.1.2 向上转型和向下转型:向上自动,向下需要强制转换并用instanceof检查。

# 09.接口和抽象类

  • 抽象类:使用abstract关键字修饰的类,不能被实例化,可以包含抽象方法和具体方法。
  • 接口:使用interface关键字定义,JDK8后可以有default方法和static方法。
  • 抽象类和接口的区别:抽象类可以有构造方法和成员变量,接口只能有常量;类单继承,接口多实现。

# 10.异常处理

  • 17.1.1 异常概念:运行时发生错误(如空指针、数组越界等),Java通过异常机制处理。
  • 17.1.3 异常基本语法:try-catch-finally语句。
  • 异常体系:Throwable分为Error和Exception,Exception分为检查异常和运行时异常。
  • throw和throws:throw用于抛出异常,throws用于声明方法可能抛出的异常。
  • 自定义异常:继承Exception或RuntimeException创建自定义异常类。

# 11.集合框架

  • Collection接口:List(有序可重复)、Set(无序不重复)。
  • List:ArrayList(数组实现)、LinkedList(链表实现)。
  • Set:HashSet(哈希表)、TreeSet(红黑树,有序)。
  • Map接口:HashMap(哈希表)、TreeMap(红黑树)。
  • 遍历方式:for-each、Iterator迭代器、Stream流。

# 12.IO流和File

  • File类:用于表示文件和目录路径。
  • 字节流:InputStream/OutputStream,用于读写二进制数据。
  • 字符流:Reader/Writer,用于读写文本数据。
  • 缓冲流:BufferedReader/BufferedWriter,提高读写效率。
  • 序列化:Serializable接口,对象序列化和反序列化。

# 13.线程和锁

  • 创建线程:继承Thread类或实现Runnable接口。
  • 线程状态:新建、就绪、运行、阻塞、终止。
  • synchronized:同步关键字,保证线程安全。
  • Lock接口:ReentrantLock可重入锁。
  • 线程池:ExecutorService,避免频繁创建销毁线程。

# 14.泛型

  • 泛型类:class Box<T>,类型参数化。
  • 泛型方法:<T> void method(T t)。
  • 通配符:?、? extends T、? super T。
  • 类型擦除:Java泛型在编译后会擦除类型信息。

# 15.注解和反射

  • 内置注解:@Override、@Deprecated、@SuppressWarnings。
  • 自定义注解:使用@interface定义注解。
  • 反射机制:在运行时获取类的信息并操作对象。
  • Class类:获取Class对象的三种方式。
上次更新: 2026/06/10, 11:13:41
README
基础语法

← README 基础语法→

最近更新
01
信号崩溃快速排查
06-15
02
CoreDump破案
06-15
03
perf火焰图实战
06-15
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式