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; // 返回两个数的和
}
绘制程序流程图
程序流程图是一种图形化表示程序执行流程的工具,它包括以下元素:
- 开始/结束:用椭圆形表示程序的开始和结束。
- 处理:用矩形表示,包含执行的操作或计算。
- 决策:用菱形表示,表示分支点。
- 流程线:表示控制流的方向。
以下是使用伪代码表示的流程图绘制示例:
- 开始
- 读取输入
- 判断输入是否有效
- 是:继续
- 否:显示错误信息,结束
- 执行计算
- 显示结果
- 结束
流程图可以帮助开发者在编写代码之前可视化程序的逻辑流程,有助于设计和调试程序。
浙公网安备 33010602011771号