Java零基础自学系列教程
Java零基础自学系列教程(全套5篇Markdown笔记)
第一篇:Java入门初识与环境搭建
一、Java语言简介
1. 什么是Java
Java是跨平台、面向对象、编译型+解释型高级编程语言,1995年由Sun公司发布,目前后端开发、安卓开发、大数据、嵌入式、政务系统主流开发语言,企业用工需求量极大。
2. Java三大版本
-
Java SE(J2SE):标准版,核心基础,桌面开发、语法底层,所有Java分支基础
-
Java EE(J2EE):企业版,Web后端开发,Spring、SpringBoot框架所属体系
-
Java ME(J2ME):微型版,移动端嵌入式开发,目前基本淘汰
3. 核心特点
-
跨平台:一次编写,到处运行(JVM虚拟机实现)
-
面向对象:封装、继承、多态三大特性
-
安全稳定:内存自动回收、权限校验机制完善
-
类库丰富:自带海量工具类,生态完善
二、JDK、JRE、JVM区别(高频面试题)
|名称|全称|作用|包含关系| |---|---|---|---| |JVM|Java虚拟机|运行class字节码,实现跨平台|最小单元| |JRE|Java运行环境|运行Java程序必备,包含JVM+核心类库|JRE > JVM| |JDK|Java开发工具包|开发+运行程序,包含JRE+编译工具|JDK > JRE > JVM|
💡 开发必须安装JDK,只运行程序安装JRE即可
三、Windows环境JDK安装配置
1. 版本选择
企业长期稳定版:JDK8、JDK17,新手优先安装JDK8
2. 环境变量配置三步
-
新建系统变量:
JAVA_HOME,值为JDK根目录 -
编辑Path变量:新增
%JAVA_HOME%\bin -
cmd校验:输入
java -version输出版本即配置成功
四、第一个Java程序:HelloWorld
1. 代码编写
// 公共类,类名必须和文件名完全一致 HelloWorld.java public class HelloWorld { // 程序入口main方法,固定写法 public static void main(String[] args) { // 控制台打印输出语句 System.out.println("Hello Java 零基础入门!"); } }
2. 编译运行指令
# 编译:生成.class字节码文件 javac HelloWorld.java # 运行:执行字节码 java HelloWorld
3. 新手语法硬性规则
-
public修饰的类名 = 文件名,大小写完全一致
-
语句结尾必须加分号 ;
-
Java严格区分大小写
-
main方法是程序唯一固定入口,缺一不可
第二篇:Java变量、数据类型与运算符
一、变量核心概念
变量:内存中开辟的一块存储空间,用于存储程序运行中可变的数据,格式:数据类型 变量名 = 初始值;
变量命名规范(必须遵守)
-
由字母、数字、下划线、$组成,不能以数字开头
-
不能使用Java关键字(public、class、int等)
-
小驼峰命名法:首个单词小写,后续单词首字母大写 userName
-
见名知意,禁止拼音、乱序字母
二、八大基本数据类型(必考)
Java数据类型分为:基本类型 + 引用类型(String、数组、对象)
|类型分类|数据类型|字节大小|取值范围| |---|---|---|---| |整型|byte|1字节|-128~127| ||short|2字节|-32768~32767| ||int(默认整型)|4字节|正负21亿左右| ||long|8字节|超大整数,赋值后缀加L| |浮点型|float|4字节|单精度小数,后缀F| ||double(默认浮点)|8字节|双精度小数| |字符型|char|2字节|单个字符,单引号包裹 'a'| |布尔型|boolean|1字节|只有true/false|
三、数据类型转换
1. 自动转换(小转大,无需手动处理)
转换顺序:byte→short→int→long→float→double
int a = 10; double b = a; // int自动转为double
2. 强制转换(大转小,丢失精度)
格式:目标类型 变量 = (目标类型)原变量
double num = 3.99; int res = (int)num; // 结果为3,直接舍去小数
四、常用运算符分类
-
算术运算符:
+ - * / % ++ -- -
赋值运算符:
= += -= *= /= -
比较运算符:
> < == != >= <=,结果全为布尔值 -
逻辑运算符:
&& || !,多用于条件判断
易错点:==比较基本类型值相等,String字符串比较值必须用equals()
第三篇:Java流程控制语句
一、分支结构
1. if-else分支
// 双分支判断成绩是否及格 public class IfDemo { public static void main(String[] args) { int score = 78; if(score >= 60){ System.out.println("考试及格"); }else{ System.out.println("考试不及格"); } } }
2. switch分支
适用固定值匹配,支持byte/short/int/char/String/枚举,必须加break防止穿透
int week = 2; switch (week){ case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; default: System.out.println("日期错误"); }
二、循环结构(三大循环)
1. for循环(使用最多,已知循环次数)
// 打印1-10数字 for(int i = 1; i <= 10; i++){ System.out.println(i); }
2. while循环(未知循环次数,先判断后执行)
3. do-while循环(先执行后判断,至少执行一次)
三、循环关键字
-
break:终止当前循环、终止switch
-
continue:跳过本次循环,直接进入下一次
四、经典练习题
1. 求出1-100偶数之和 2. 九九乘法表打印
第四篇:Java面向对象核心基础
一、面向对象思想
面向对象(OOP):把业务抽象为对象,关注整体实体,区别于面向过程关注步骤,Java纯面向对象语言。
核心三大特性:封装、继承、多态
二、类与对象
1. 概念
-
类:对象的模板,抽象概念(人类、手机类)
-
对象:类的实例,真实存在个体(张三、苹果15手机)
2. 类的组成
-
成员变量:描述对象属性
-
成员方法:描述对象行为功能
-
构造方法:创建对象,给属性初始化
3. 类对象实操代码
// 定义学生类 class Student{ // 成员属性 String name; int age; // 成员方法 public void study(){ System.out.println("学生正在学习Java"); } } // 测试类 public class OopDemo { public static void main(String[] args) { // 创建对象:new 构造方法() Student stu = new Student(); // 赋值调用 stu.name = "小明"; stu.age = 20; stu.study(); } }
三、封装详解
定义:私有化成员变量,提供public get/set方法访问属性,保护数据安全性
class User{ // 私有变量,外部无法直接访问 private String password; // set赋值 public void setPwd(String pwd){ this.password = pwd; } // get取值 public String getPwd(){ return password; } }
四、this关键字用法
-
区分成员变量和局部变量重名
-
代表当前对象
第五篇:Java集合框架零基础详解
一、集合是什么
集合:存储多个引用类型数据的容器,长度可变,替代固定长度数组,日常开发存储数据首选。
二、集合顶层架构
Collection(单列集合)
├─List(有序可重复):ArrayList、LinkedList
└─Set(无序不可重复):HashSet
Map(双列集合:键值对):HashMap
三、常用集合对比
|集合类|特点|使用场景| |---|---|---| |ArrayList|数组实现,查询快、增删慢|高频查询业务| |LinkedList|链表实现,增删快、查询慢|频繁新增删除数据| |HashSet|元素唯一,无序存储|数据去重| |HashMap|键唯一,值可重复,键值对存储|后端业务最常用集合|
四、ArrayList基础实操代码
import java.util.ArrayList; public class ListDemo { public static void main(String[] args) { // 创建字符串集合 ArrayList<String> list = new ArrayList<>(); // 新增元素 list.add("Java"); list.add("Python"); // 删除元素 list.remove("Python"); // 获取元素 System.out.println(list.get(0)); } }
五、新手学习注意点
-
JDK5之后支持泛型,集合尽量指定存储数据类型
-
集合只能存储引用类型,基本类型自动装箱
-
HashMap默认容量16,负载因子0.75
(注:文档部分内容可能由 AI 生成)

浙公网安备 33010602011771号