Java特性

Java重要特点

Java语言是跨平台性的

Java开发工具

Jdk介绍

Java运行机制及运行过程

Java编译与运行

JDK与JRE

Java中有中文

java开发注意事项

java学习方法

java转义符

java易犯错误

java注释

java代码规范

DOS命令

相对路径和绝对路径

常用DOS命令

java基本数据类型

整型

浮点数

通常情况下,应该使用 double 型,因为它比 float 型更精确。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//浮点数使用陷阱: 2.7 和 8.1 / 3 比较 
//看看一段代码
double num11 = 2.7;
double num12 = 8.1 / 3;
System.out.println(num11);//2.7
System.out.println(num12);//接近 2.7 的一个小数,而不是 2.7
//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断是,要小心
//应该是以两个数的差值的绝对值,在某个精度范围类判断
if( num11 == num12) {
System.out.println("num11 == num12 相等");
}
//正确的写法 , ctrl + / 注释快捷键, 再次输入就取消注释
if(Math.abs(num11 - num12) < 0.000001 ) {
System.out.println("差值非常小,到我的规定精度,认为相等...");
}
// 可以通过 java API 来看 下一个视频介绍如何使用 API
System.out.println(Math.abs(num11 - num12));
//细节:如果是直接查询得的的小数或者直接赋值,是可以判断相等

java文档

java字符型

java布尔类型

java数据类型转换

1
2
3
4
5
6
7
//细节 3: (byte, short) 和 char 之间不会相互自动转换 
//当把具体数赋给 byte 时,(1)先判断该数是否在 byte 范围内,如果是就可以
byte b1 = 10; //对 , -128-127
// int n2 = 1; //n2 是 int
// byte b2 = n2; //错误,原因: 如果是变量赋值,判断类型,n2是int类型,不能赋给byte
//
// char c1 = b1; //错误, 原因 byte 不能自动转成 char

java强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成 精度降低或溢出,格外要注意。

string类型

1
2
3
//怎么把字符串转成字符 char -> 含义是指 把字符串的第一个字符得到 
//解读 s5.charAt(0) 得到 s5 字符串的第一个字符 '1'
System.out.println(s5.charAt(0));

1) 在将 String 类型转成基本数据类型时,要确保string类型能够转成有效的数据,比如 我们可以把 “123” , 转成一个整数,但是不能把 “hello” 转成一个整数。

2) 如果格式不正确,就会抛出异常,程序就会终止

java算术运算符

1
2
3
4
5
// % 取模 ,取余 
// 在 % 的本质 看一个公式!!!! a % b = a - a / b * b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
// -10 % -3 = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
1
2
3
4
5
6
7
//++的使用 

int i = 10;

i++;//自增 等价于 i = i + 1; => i = 11

++i;//自增 等价于 i = i + 1; => i = 12

java关系运算符

java逻辑运算符

1) a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false

2) a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false

3) a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

4) a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

5) !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true

6) a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false


(1)对于&&短路与而言,如果第一个条件为 false ,后面的条件不再判断

(2)对于&逻辑与而言,如果第一个条件为 false ,后面的条件仍然会判断

(3)开发中, 我们使用的基本是使用短路与&&, 效率高


1) ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

2) | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

3) 开发中,我们基本使用 ||

java逻辑非、逻辑异或

a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

java赋值运算符

//复合赋值运算符会进行类型转换

byte b = 3;

b += 2; // 等价 b = (byte)(b + 2);

b++; // b = (byte)(b+1);

java运算符优先级

java标识符规范

1) 包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.hsp.crm

2) 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰]

比如: TankShotGame

3) 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小驼峰, 简称 驼峰法]

比如: tankShotGame

4) 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

比如 :定义一个所得税率 TAX_RATE

5) 后面我们学习到 类,包,接口,等时,我们的命名规范要这样遵守,更加详细的看文档

java键盘输入语句

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
import java.util.Scanner;//表示把 java.util 下的 Scanner 类导入 

public class Input {

//编写一个 main 方法

public static void main(String[] args) {

//演示接受用户的输入

//步骤

//Scanner 类 表示 简单文本扫描器,在 java.util 包

//1. 引入/导入 Scanner 类所在的包

//2. 创建 Scanner 对象 , new 创建一个对象,体会

// myScanner 就是 Scanner 类的对象

Scanner myScanner = new Scanner(System.in);

//3. 接收用户输入了, 使用 相关的方法

System.out.println("请输入名字");

//当程序执行到 next 方法时,会等待用户输入~~~

String name = myScanner.next(); //接收用户输入字符串

System.out.println("请输入年龄");

int age = myScanner.nextInt(); //接收用户输入 int

System.out.println("请输入薪水");

double sal = myScanner.nextDouble(); //接收用户输入 double

System.out.println("人的信息如下:");

System.out.println("名字=" + name

\+ " 年龄=" + age + " 薪水=" + sal);

}

}

java四种进制

对于整数,有四种表示方式:

二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。

十进制:0-9 ,满 10 进 1。

八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。

十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 0X 开头表示。此处的 A-F 不区分大小写。