0% found this document useful (0 votes)
6 views6 pages

Java

Uploaded by

17513283070
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views6 pages

Java

Uploaded by

17513283070
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Java 语言学习笔记:从基础到实战的系统梳理

一、Java 语言基础入门
1.1 Java 的特点与应用场景
特点:面向对象编程语言,具有跨平台性(依托 JVM,一次编写多处运行)、安全性(无指针操作、自动垃圾回收)、可移植性强、多线程支持等特性,语法简洁且易于维护。
应用场景:企业级应用开发(如 ERP 系统、CRM 系统)、移动应用开发(Android 应用)、大数据开发(Hadoop、Spark 等框架基于 Java)、Web
开发(Spring、Spring Boot 等主流框架)、桌面应用开发(如 Eclipse、NetBeans)。
1.2 第一个 Java 程序(Hello World)
// 定义 HelloWorld 类,类名需与文件名一致(若为公共类)
public class HelloWorld {
// 程序入口,main 方法是 Java 程序的必选入口
public static void main(String[] args) {
// 输出函数,[Link] 会自动换行
[Link]("Hello World!");
}
}

编译与运行流程:
编写代码(.java 文件,如 [Link]);
使用 javac 命令编译源代码,生成字节码文件(.class 文件,如 [Link]);
使用 java 命令启动 JVM,加载字节码文件并执行,得到程序结果。
注意事项:若类被 public 修饰,类名必须与文件名完全一致(包括大小写);一个.java 文件中可包含多个类,但最多只能有一个公共类。
二、数据类型与变量
2.1 数据类型分类
Java 数据类型分为基本数据类型和引用数据类型,基本数据类型是 Java 语言内置,直接存储数据值;引用数据类型存储对象的引用(内存地址)。
2.1.1 基本数据类型
数据类型
说明
占用字节数
取值范围
默认值
byte
字节型
1
-128 ~ 127
0
short
短整型
2
-32768 ~ 32767
0
int
整型
4
-2147483648 ~ 2147483647
0
long
长整型
8
-9223372036854775808 ~ 9223372036854775807
0L
float
单精度浮点型
4
约 ±3.4×10^38(精度 6-7 位小数)
0.0F
double
双精度浮点型
8
约 ±1.7×10^308(精度 15-16 位小数)
0.0D
char
字符型
2
'\u0000'(空字符)~ '\uffff'(65535)
'\u0000'
boolean
布尔型
1(理论上 1 位,实际按 1 字节存储)
true(真)、false(假)
false

2.1.2 引用数据类型
包括类(如 String、自定义类)、接口、数组、枚举等,默认值为 null(表示不指向任何对象)。例如:
String str; // 字符串类型(类),默认值 null
int[] arr; // 数组类型,默认值 null

2.2 变量的定义与使用
定义格式:数据类型 变量名;,可同时定义多个同类型变量,用逗号分隔。
初始化:变量必须初始化后才能使用(局部变量无默认值,成员变量有默认值),示例:
int age = 20; // 整型变量初始化
char gender = '男'; // 字符变量初始化(单引号包裹单个字符)
double salary = 5000.5; // 浮点型变量初始化(默认 double,float 需加 F/f)
float pi = 3.14159F; // 单精度浮点型初始化,必须加 F/f
boolean isStudent = true; // 布尔型变量初始化
String name = "张三"; // 字符串变量初始化(双引号包裹)

变量命名规则:遵循 “小驼峰命名法”,由字母、数字、下划线、$ 组成,不能以数字开头,区分大小写,不能使用关键字(如 int、class、if 等)。例如:


userName、studentAge。
三、运算符与表达式
3.1 常用运算符分类
3.1.1 算术运算符
包括+(加)、-(减)、*(乘)、/(除,整数除法取商,浮点除法取精确值)、%(取余,结果符号与被除数一致)、++(自增)、--(自减)。
示例:
[Link](5 / 2); // 输出 2(整数除法)
[Link](5.0 / 2); // 输出 2.5(浮点除法)
[Link](5 % 2); // 输出 1
[Link](-5 % 2); // 输出-1(符号与被除数一致)

int a = 3;
[Link](a++); // 输出 3(先使用,后自增,执行后 a=4)
[Link](++a); // 输出 5(先自增,后使用,执行后 a=5)

3.1.2 关系运算符
包括==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于),结果为 boolean 类型(true/false)。
注意:比较字符串内容需用 equals()方法,==比较字符串引用(地址),示例:
String s1 = "abc";
String s2 = new String("abc");
[Link](s1 == s2); // 输出 false(引用不同)
[Link]([Link](s2)); // 输出 true(内容相同)

3.1.3 逻辑运算符
包括&&(短路与,两边都为 true 则为 true,左边为 false 时右边不执行)、||(短路或,一边为 true 则为 true,左边为 true 时右边不执
行)、!(逻辑非,取反),操作数和结果均为 boolean 类型。
示例:
int num = 5;
[Link](num > 3 && num < 10); // 输出 true
[Link](num > 10 || num++ < 8); // 输出 true,num++不执行(num 仍为 5)
[Link](!(num == 5)); // 输出 false
3.1.4 赋值运算符
包括=(简单赋值)、+=(加后赋值)、-=(减后赋值)、*=(乘后赋值)、/=(除后赋值)、%=(取余后赋值),示例:
int b = 10;
b += 5; // 等价于 b = b + 5,执行后 b=15
b *= 2; // 等价于 b = b * 2,执行后 b=30

3.1.5 其他常用运算符
三元运算符:条件表达式 ? 表达式 1 : 表达式 2,条件为 true 时执行表达式 1,否则执行表达式 2,示例:
int max = (3 > 5) ? 3 : 5; // 3>5 为 false,max=5

** instanceof 运算符 **:判断对象是否为某个类(或其子类、接口实现类)的实例,返回 boolean 类型,示例:


String str = "test";
[Link](str instanceof String); // 输出 true

3.2 表达式与优先级
表达式:由运算符和变量 / 常量组成的式子,如(a + b) * c、score >= 60。
优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 三元运算符 > 赋值运算符,可通过括号()改变优先级(括号内优先级最高)。
四、流程控制语句
4.1 分支语句
4.1.1 if-else 语句
格式 1(单分支):
if (条件表达式) {
// 条件为 true 时执行的代码块
}

格式 2(双分支):
if (条件表达式) {
// 条件为 true 时执行的代码块
} else {
// 条件为 false 时执行的代码块
}

格式 3(多分支):
if (条件表达式 1) {
// 条件 1 为 true 时执行
} else if (条件表达式 2) {
// 条件 2 为 true 时执行
} else if (条件表达式 n) {
// 条件 n 为 true 时执行
} else {
// 所有条件都为 false 时执行(可选)
}

示例(判断成绩等级):
int score = 78;
if (score >= 90) {
[Link]("优秀");
} else if (score >= 80) {
[Link]("良好");
} else if (score >= 60) {
[Link]("及格");
} else {
[Link]("不及格");
}

4.1.2 switch 语句
适用场景:多条件判断(条件表达式结果为 byte、short、int、char、String、枚举类型),格式:
switch (表达式) {
case 常量 1:
// 表达式等于常量 1 时执行的代码
break; // 跳出 switch,避免穿透(不写 break 会继续执行下一个 case)
case 常量 2:
// 表达式等于常量 2 时执行的代码
break;
...
default:
// 表达式不匹配任何 case 时执行的代码(可选)
break;
}

示例(根据月份判断季节):
int month = 4;
switch (month) {
case 3:
case 4:
case 5:
[Link]("春季");
break;
case 6:
case 7:
case 8:
[Link]("夏季");
break;
case 9:
case 10:
case 11:
[Link]("秋季");
break;
case 12:
case 1:
case 2:
[Link]("冬季");
break;
default:
[Link]("无效月份");
break;
}

4.2 循环语句
4.2.1 for 循环
格式:for (初始化表达式; 条件表达式; 更新表达式) { 循环体 },初始化表达式仅执行一次,条件表达式为 true 时执行循环体,之后执行更新表达式,重复此过
程直到条件为 false。
示例(打印 1-10 的整数,求其和):
int sum = 0;
for (int i = 1; i <= 10; i++) {
[Link](i + " "); // 输出:1 2 3 ... 10
sum += i;
}
[Link]("\n1-10 的和:" + sum); // 输出:55

增强 for 循环(foreach):用于遍历数组或集合,格式:for (元素类型 变量名 : 数组/集合) { 循环体 },示例:


int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) { // 遍历数组,num 依次取数组中的每个元素
[Link](num + " "); // 输出:1 2 3 4 5
}

4.2.2 while 循环
格式:while (条件表达式) { 循环体 },先判断条件表达式,为 true 时执行循环体,重复此过程直到条件为 false(若条件初始为 false,循环体一次
不执行)。
示例(打印 1-5 的整数):
int j = 1;
while (j <= 5) {
[Link](j + " "); // 输出:1 2 3 4 5
j++;
}

4.2.3 do-while 循环
格式:do { 循环体 } while (条件表达式);,先执行一次循环体,再判断条件表达式,为 true 时继续执行循环体,直到条件为 false(循环体至少执行一
次)。
示例(输入密码,直到输入正确为止):
import [Link]; // 导入 Scanner 类用于输入

public class PasswordCheck {


public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
String correctPwd = "123456";
String inputPwd;

do {
[Link]("请输入密码:");
inputPwd = [Link](); // 获取用户输入
} while (![Link](correctPwd)); // 密码不正确则继续输入

[Link]("密码正确,欢迎进入!");
[Link](); // 关闭 Scanner
}
}

4.3 跳转语句
包括 break、continue、return,用于控制循环或方法的执行流程。
break:跳出当前循环(或 switch 语句),示例:
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // 当 i=5 时跳出循环,循环不再执行
}
[Link](i + " "); // 输出:1 2 3 4
}

continue:跳过当前循环的剩余部分,直接进入下一次循环,示例:
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数,直接进入下一次循环
}
[Link](i + " "); // 输出:1 3 5 7 9
}

return:结束当前方法的执行,若方法有返回值,需带返回值,示例:
public static int add(int a, int b) {
return a + b; // 结束方法,返回 a+b 的结果
}

五、面向对象基础(核心特性)
Java 是纯面向对象编程语言,核心特性包括封装、继承、多态。
5.1 类与对象
类:是对事物的抽象描述,包含属性(成员变量)和行为(成员方法),是创建对象的模板。
对象:是类的具体实例,具有类定义的属性和行为。
类的定义格式:
[修饰符] class 类名 {
// 成员变量(属性)
[修饰符] 数据类型 变量名;

// 构造方法(用于创建对象,方法名与类名一致,无返回值)
[修饰符] 类名([参数列表]) {
// 构造方法体
}

// 成员方法(行为)
[修饰符] 返回值类型 方法名([参数列表]) {
// 方法体
[return 返回值;]
}
}

示例(定义 Person 类,创建并使用对象):


// 定义 Person 类
class Person {
// 成员变量(属性)
String name;
int age;

// 无参构造方法(默认存在,若定义了有参构造,</doubaocanvas>

You might also like