Java作为一门跨平台、面向对象的编程语言,凭借其强大的生态系统和广泛的应用场景,成为无数编程学习者的首选入门语言。无论是企业级开发、安卓应用开发,还是大数据处理,Java都扮演着核心角色。本教程将带你从零基础出发,系统掌握Java基础语法、面向对象思想及常用工具,为你的编程进阶之路打下坚实基础。
在学习Java之前,明确其优势和应用领域,能让你更有方向感。Java的核心优势包括:
无论你是想进入IT行业,还是提升现有技能,Java基础都是不可或缺的起点。
JDK(Java Development Kit)是Java开发的核心工具包,包含编译器(javac)、运行时环境(JRE)和调试工具。安装步骤如下:
C:Program FilesJavajdk-21
)。JAVA_HOME
:值为JDK安装路径(如 C:Program FilesJavajdk-21
)Path
:添加 %JAVA_HOME%in
和 %JAVA_HOME%jrein
vi ~/.bash_profile
,添加 export JAVA_HOME=$(/usr/libexec/java_home)
,保存后执行 source ~/.bash_profile
。java -version
和 javac -version
,若显示版本信息,则安装成功。选择合适的IDE(集成开发环境)能大幅提升开发效率,以下是适合新手的工具:
Java是强类型语言,所有变量必须先声明数据类型才能使用。基本数据类型分为8种,分为四大类:
byte
(1字节,-128~127)、short
(2字节)、int
(4字节,最常用)、long
(8字节,需加后缀L,如 100L
)。float
(4字节,需加后缀F,如 3.14F
)、double
(8字节,默认类型,如 3.14
)。char
(2字节,存储Unicode编码,如 A
、中
)。boolean
(仅 true
或 false
,用于条件判断)。变量定义格式:数据类型 变量名 = 初始值;
,如 int age = 20;
、String name = Java;
(注意:String是引用类型,后续面向对象部分会详细介绍)。变量命名需遵循驼峰命名法(如 studentName
),不能以数字开头或使用关键字。
运算符是对数据进行操作的符号,Java中的运算符可分为算术、赋值、比较、逻辑、位等类型:
+
(加)、-
(减)、*
(乘)、/
(除,整数相除结果取整)、%
(取余),如 5 / 2 = 2
、5 % 2 = 1
。=
(基本赋值)、+=
(加后赋值,如 a += 3
等价于 a = a + 3
)等。==
(等于)、!=
(不等于)、>
、<
、>=
、<=
,结果为布尔值,用于条件判断。&&
(短路与)、||
(短路或)、!
(非),用于连接多个条件,如 age > 18 && gender == 男
。表达式是由运算符和操作数组成的有意义的式子,运算时需注意优先级(如括号最高,其次算术运算符,再逻辑运算符)。
程序的执行流程由控制结构决定,Java提供三种基本控制结构:
if-else
:处理范围判断,如 if (score >= 90) { System.out.println(优秀); } else if (score >= 60) { System.out.println(及格); } else { System.out.println(不及格); }
switch-case
:处理等值判断,如 switch (day) { case 1: System.out.println(周一); break; case 2: System.out.println(周二); break; default: System.out.println(其他); }
(注意break跳出分支,避免穿透)。for循环
:适合已知循环次数,语法 for (初始化; 条件; 更新) { ... }
,如 for (int i = 0; i < 10; i++) { System.out.println(i); }
while循环
:适合未知循环次数,语法 while (条件) { ... }
,先判断条件,再执行代码。do-while循环
:至少执行一次,语法 do { ... } while (条件);
,先执行代码,再判断条件。循环中可通过 break
(跳出循环)和 continue
(跳过本次循环)控制执行流程。
面向对象编程(OOP)的核心是“类”与“对象”。类是对一类事物的抽象描述(包含属性和行为),对象是类的具体实例。例如:“人类”是类,有“姓名、年龄”等属性,“吃饭、说话”等行为;“张三”是对象,是“人类”的一个实例,他的年龄是20岁,会“吃饭”。
Java中定义类的语法:class 类名 { 属性; 方法; }
,创建对象通过 类名 对象名 = new 类名();
。例如:
class Person {
// 属性(成员变量)
String name;
int age;
// 方法(行为)
void eat() {
System.out.println(name + 在吃饭);
}
}
// 创建对象
Person zhangsan = new Person();
zhangsan.name = 张三;
zhangsan.age = 20;
zhangsan.eat(); // 输出:张三在吃饭
面向对象的三大特性是Java的核心思想,掌握它们能让你的代码更优雅、更易维护:
private
(私有),通过 getXxx()
和 setXxx()
方法访问/修改,可防止数据被随意修改,保证数据安全。
class Person {
private String name; // 私有属性,外部无法直接访问
public String getName() { // getter方法
return name;
}
public void setName(String name) { // setter方法
if (name.length() > 0) { // 增加数据校验
this.name = name;
}
}
}
extends
关键字让子类复用父类的属性和方法,实现代码复用。Java中类只能单继承(一个子类只能有一个父类),但支持接口多实现。例如:
class Student extends Person { // Student继承Person
private String school;
// 子类可重写父类方法(@Override注解)
@Override
void eat() {
System.out.println(name + 在学校食堂吃饭);
}
}
Person student = new Student(); // 父类引用指向子类对象
student.eat(); // 调用Student类重写的eat()方法
数组是存储相同数据类型的有序集合,长度固定。Java数组分为动态初始化和静态初始化:
int[] arr = new int[5];
(长度为5的int数组,初始值为0)。int[] arr = {1, 2, 3, 4};
或 int[] arr = new int[]{1, 2, 3, 4};
。数组通过索引访问元素(索引从0开始),如 arr[0] = 10;
。遍历数组可使用for循环或增强for循环(foreach):
int[] arr = {1, 2, 3, 4};
// for循环遍历
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 增强for循环遍历
for (int num : arr) {
System.out.println(num);
}
Java提供了许多预定义的“常用类”,无需自己实现即可直接使用,掌握它们能极大提升开发效率:
length()
(长度)、equals()
(比较内容)、substring()
(截取字符串)、indexOf()
(查找字符位置),如 Hello.length() = 5
、Hello.equals(hello) = false
(注意区分“==”和equals(),“==”比较地址,equals()比较内容)。add()
(添加元素)、get()
(获取元素)、remove()
(删除元素)、size()
(元素个数),如:
ArrayList<String> list = new ArrayList<>();
list.add(Java);
list.add(Python);
System.out.println(list.get(0)); // 输出:Java
学习Java基础需遵循“理论-实践-总结”的闭环: