Java学习笔记(1)

1.1 什么是JDK、JRE、JVM

JVM(Java Virtual Machine): Java虚拟机,简称JVM,是运行所有Java程序的假象计算机,是Java运行环境,同时也是Java最具吸引力的特征之一。我们编写的Java代码都将运行在JVM之上

JRE(Java Runtime Environment):是Java程序的运行环境,包含JVM和运行时所需要的核心类库

JDK(Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。

我们想要运行一个已有的Java程序,那么只需要安装JRE即可。

我们想要开发一个全新的Java程序,那么必须安装JDK

1.2 环境配置

JDK下载地址:官方下载
安装即可

1.3 第一个Java程序:HelloWorld

1
2
3
4
5
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello, World!");
}
}

配置好环境变量后,可以通过打开CMD进行编译,在Java源代码HelloWorld.java根目录下运行代码:

1
javac HelloWorld.java

将生成一个Java类文件HelloWorld.class,这就是Java的编译文件,随后通过运行命令提示符代码:
1
java HelloWorld

即可看到程序输出的Hello, World!字段。

1.4 Java程序的注释

与C语言注释一致,具体可参照C语言注释方法,在此不再赘述。

1
2
3
4
5
6
7
8
9
10
11
12
// 第一行的HelloWorld必须与其文件名一致,区分大小写
// public class后面代表定义一个类的名称,类是Java当中所有源代码的基本组织单位。
public class HelloWorld {
// 第二行的内容是万年不变的main方法
// 这一行代表程序执行起点
public static void main(String[] args){
/* 对系统输出字符
Hello, World!
*/
System.out.println("Hello, World!");
}
}

1.5 标识符

其命名规则与C语言基本相同,可包含26个大小写字母、0-9数字、美元符号$和下划线。

1.6 Java常量

常量分类:

  1. 字符型常量:凡是用双引号引起来的部分,叫做字符串常量。例如:”abc”、”Hello”、”123”;
  2. 整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250;
  3. 浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0;
  4. 字符常量:凡是用单引号引起来的单个字符。例如:’A’、’b’、’9’、’中’;
  5. 布尔常量:只有两种取值。true、false;
  6. 空常量:代表没有任何数据,用null表示。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Demo01Const {
public static void main(String[] args){
// 字符串常量
System.out.println("ABC");
System.out.println(""); //字符串两个双引号中间内容为空
System.out.println("XYZ");

// 整数常量
System.out.println(30);
System.out.println(-500);

// 字符常量
System.out.println('A');
System.out.println('6');
//System.out.println('');
//System.out.println('AB');//两个单引号中间必有且仅有一个字符,没有不行,两个也不行!

//布尔常量
System.out.println(true);
System.out.println(false);

//空常量,不能直接用来打印输出
//System.out.println(null);
}
}

1.7 基本数据类型

Java的数据类型可以分为以下两大类:

  • 基本数据类型: 包括整数浮点数字符布尔
  • 引用数据类型: 包括数组接口

四类八种数据类型如下表所示:

数据类型 关键字 内存占用 取值范围
字节型 byte 1个字节 -128~127
短整型 short 2个字节 -32768~32767
整型 int(Default) 4个字节 -2的31次方到2的31次方-1
长整型 long 8个字节 -2的63次方到2的63次方-1
单精度浮点数 float 4个字节 1.4013E-45~3.4028E+38
双精度浮点数 double(Default) 8个字节 4.9E-324~1.7977E+308
字符型 char 2个字节 0~65535
布尔型 boolean 1个字节 true false

Java中的默认类型:整数类型是int、浮点类型是double。以下代码则进行测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
变量类型测试Demo
*/

public class Demo02Varible {
public static void main(String[] args) {
// 创建一个变量
// 格式:数据类型 变量名称;
int num1;
// 向变量中存入一个数据
// 格式:变量名称 = 数据值;
num1 = 10;
System.out.println(num1); // 10

// 改变变量中本来的数字,变成新的数字
num1 = 20;
System.out.println(num1); // 20

// 使用一步到位的格式来定义变量
// 格式:数据类型 变量名称 = 数据值;
int num2 = 25;
System.out.println(num2); // 25

num2 = 35;
System.out.println(num2);
System.out.println("=================");

byte num3 = 30; //注意:右侧数值范围不能超过左侧数据类型的取值范围
System.out.println(num3); // 30
//byte num4 = 400; // 右侧超出了byte数据范围,错误

// 短整型
short num5 = 50;
System.out.println(num5); // 50

// 长整型
long num6 = 3000000000L;
System.out.println(num6); // 3000000000

// 浮点型
float num7 = 2.5F;
System.out.println(num7); //2.5

// 双精度浮点型
double num8 = 1.2;
System.out.println(num8); //1.2

// 字符型
char chara1 = 'A';
System.out.println(chara1); // A
chara1 = '中';
System.out.println(chara1); // 中

// 布尔型
boolean var1 = true;
System.out.println(var1); // true
var1 = false;
System.out.println(var1); // false

// 将一个变量的数据内容,赋值交给另一个变量
// 右侧的变量名称var1已经存在,里面装的是false布尔值
// 将右侧变量里面的false值,向左交给var2变量进行储存
boolean var2 = var1;
System.out.println(var2); // false
}
}

变量使用注意事项:

  1. 如果创建多个变量,那么变量之间的名称不可以重复;
  2. 对于float和long类型来说,字母后缀F和L不能丢掉;
  3. 如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围;
  4. 没有进行赋值的变量不能直接使用,一定要赋值后才能使用;
  5. 变量使用不能超过作用域的范围。
    【作用域】 从定义变量的一行开始,一直到直接所属的大括号结束为止。