java笔记1
1.Java初识笔记
JDK、JRE和JVM
JDK(Java Development Kit)
- JDK是Java开发工具包,它提供了Java开发所需的所有工具和库。
- JDK包括JRE,并且提供了编译Java程序所需的编译器(javac)和运行Java程序所需的工具。
- JDK是开发Java应用程序的基础。
JRE(Java Runtime Environment)
- JRE是Java运行时环境,它提供了运行Java应用程序所需的核心库和虚拟机。
- JRE不包含开发工具(如编译器),仅用于运行Java程序。
- JRE是运行Java应用程序的最小环境。
JVM(Java Virtual Machine)
- JVM是Java虚拟机,它是一个可以执行Java字节码的虚拟计算机。
- JVM为Java程序提供了一个运行时环境,使得Java程序可以在不同的操作系统上运行。
- JVM负责加载Java类、执行字节码,并提供内存管理功能。
JDK的安装和配置
-
下载JDK
- 访问Oracle官网下载适合你操作系统的JDK版本。
-
安装JDK
- 运行下载的安装程序,按照提示完成安装。
-
配置环境变量
- 将JDK的
bin
目录添加到系统的PATH
环境变量中。 - 打开系统的环境变量设置,找到
Path
变量,添加JDK的bin
目录路径(例如:C:\Program Files\Java\jdk-11.0.1\bin
)。
- 将JDK的
-
验证安装
- 打开命令行工具,输入
java -version
和javac -version
,检查JDK是否正确安装。
- 打开命令行工具,输入
Java编译和运行的CMD命令
编译Java程序
-
使用
javac
命令编译Java源文件(.java)。javac HelloWorld.java
- 这会生成一个名为
HelloWorld.class
的字节码文件。
- 这会生成一个名为
运行Java程序
-
使用
java
命令运行编译后的字节码文件(.class)。java HelloWorld
- 注意:不需要在命令中包含
.class
扩展名。
- 注意:不需要在命令中包含
Java跨平台原理
字节码和JVM
- Java源代码被编译成字节码(.class文件),而不是直接编译成特定操作系统的机器码。
- 字节码可以在任何安装了JVM的平台上运行,JVM负责将字节码转换为特定平台的机器码并执行。
JVM的作用
- JVM为Java程序提供了一个统一的运行时环境,使得Java程序可以在不同的操作系统上运行而不需要重新编译。
- JVM屏蔽了底层操作系统和硬件的差异,使得Java程序具有很好的可移植性。
平台无关性
- Java的“一次编写,到处运行”的特性,使得开发者可以专注于编写代码,而不需要关心代码在不同平台上的运行细节。
- 这种跨平台的特性使得Java在企业级应用、移动应用和Web应用等领域得到了广泛的应用。
2.Java基础语法笔记
关键字和保留字
关键字是Java语言预定义的,具有特定意义和用途的词汇。例如:
class
:定义类。public
:访问修饰符,表示成员或类可以被任何其他类访问。static
:表示属于类而非类的实例。void
:表示方法没有返回值。
保留字是Java中尚未使用,但保留用于未来扩展的词汇。例如:
goto
:Java不支持goto
语句,因此它是保留字。
标识符
标识符是用于类、方法、变量等的名称。它们必须遵循以下规则:
- 标识符可以包含字母、数字和下划线(_)。
- 标识符不能以数字开头。
- 标识符不能是Java的关键字或保留字。
- 标识符区分大小写。
数据类型
Java中的数据类型分为两大类:基本数据类型和引用数据类型。
基本数据类型包括:
byte
:8位有符号整数(-128到127)。short
:16位有符号整数。int
:32位有符号整数(默认整数类型)。long
:64位有符号整数,后缀L
或l
。float
:32位单精度浮点数,后缀F
或f
。double
:64位双精度浮点数(默认浮点数类型)。char
:16位Unicode字符。boolean
:只有两个可能的值:true
和false
。
引用数据类型包括:
- 类(
class
)。 - 接口(
interface
)。 - 数组。
数据类型的转换
数据类型转换分为两种:自动类型转换(小范围类型到大范围类型)和强制类型转换(大范围类型到小范围类型)。
- 自动类型转换:例如,从
int
到long
或从char
到int
。 - 强制类型转换:需要显式进行,例如,从
double
到int
,使用(int)
进行转换。
运算符
Java中的运算符包括:
- 算术运算符:
+
,-
,*
,/
,%
(取余)。 - 关系运算符:
>
,<
,>=
,<=
,==
,!=
。 - 逻辑运算符:
&&
(逻辑与),||
(逻辑或),!
(逻辑非)。 - 位运算符:
&
,|
,^
(异或),~
(取反),<<
,>>
,>>>
(位移)。 - 赋值运算符:
=
,+=
,-=
,*=
,/=
,%=
等。 - 条件运算符:
? :
(三元运算符)。 - 其他运算符:
++
(自增),--
(自减),.
(成员访问),[]
(数组索引)。
3.流程控制语句结构笔记
顺序结构
顺序结构是程序中最简单的执行方式,按照代码的书写顺序,从上到下依次执行。
// 示例代码
System.out.println("第一步");
System.out.println("第二步");
分支结构
分支结构允许程序根据条件选择不同的执行路径。
if语句
if (条件) {
// 条件为真时执行的代码
}
if...else语句
if (条件) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
if...else if...else语句
if (条件1) {
// 条件1为真时执行的代码
} else if (条件2) {
// 条件2为真时执行的代码
} else {
// 所有条件都不为真时执行的代码
}
switch语句
switch (变量) {
case 值1:
// 值1时执行的代码
break;
case 值2:
// 值2时执行的代码
break;
// ...
default:
// 没有匹配的case时执行的代码
}
循环结构
循环结构允许多次执行一段代码。
for循环
for (初始化; 条件; 更新) {
// 循环体
}
while循环
while (条件) {
// 条件为真时重复执行的代码
}
do...while循环
do {
// 至少执行一次的代码
} while (条件);
跳转语句
跳转语句可以改变程序的执行顺序。
break语句
用于立即退出循环或switch结构。
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 退出循环
}
System.out.println(i);
}
continue语句
跳过当前循环的剩余部分,直接开始下一次循环迭代。
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数,不打印
}
System.out.println(i);
}
return语句
从方法中返回,并可以返回一个值。
public int sum(int a, int b) {
return a + b; // 返回两个数的和
}
绘制程序流程图
程序流程图是一种图形化表示程序执行流程的工具,它包括以下元素:
- 开始/结束:用椭圆形表示程序的开始和结束。
- 处理:用矩形表示,包含执行的操作或计算。
- 决策:用菱形表示,表示分支点。
- 流程线:表示控制流的方向。
以下是使用伪代码表示的流程图绘制示例:
- 开始
- 读取输入
- 判断输入是否有效
- 是:继续
- 否:显示错误信息,结束
- 执行计算
- 显示结果
- 结束
流程图可以帮助开发者在编写代码之前可视化程序的逻辑流程,有助于设计和调试程序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!