-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest
More file actions
65 lines (63 loc) · 2.93 KB
/
test
File metadata and controls
65 lines (63 loc) · 2.93 KB
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
# Java基本程序结构
## 1. 数据类型
> 8种基本数据类型
4种整型:byte(1字节),short(2字节),int(4字节),long(8字节)
2种浮点型:float(4字节),double(8字节)
1种表示Unicode编码的字符单元的字符类型:char
1种表示真值的boolean类型:boolean
### 1. 整型
- 在Java7之后,加上0b可以写二进制数。
- 在Java7之后,可以为数字字面量加下划线,如1_000_000表示一百万,Java编译器会去除下划线。
- Java中没有任何无符号类型(unsigned)。
### 2. 浮点型
- 可以使用Double.NaN检测一个值是不是,不是一个数。
- 所有的“非数值”都认为是不相同的。
### 3. char类型
- 除非要对代码单元进行操作,建议不使用char类型。。。
### 4. boolean类型
- 整型和布尔值之间不能进行转换。
```java
if(x = 0)//Java无法通过编译,C++中结果总是false
```
## 2.运算符
> 当使用关键字strictfp标记方法时,该方法必须使用严格的浮点计算产生理想的结果。
### 1. 位运算符
- ">>>" 用0填充高位;
- ">>"用符号位填充高位。
- 移位运算符右边的参数需要进行模32运算(如果左边的操作数是long类型,右侧操作数需模64)如 1<<35 = 1<<3。
### 2. 运算符优先级
- +=等运算符是右结合运算符,a+=b+=c 等同于 a += (b += c)。
## 3.字符串
### 1. 检测字符串是否相等
- 使用equals方法检测两个字符串是否相等。
- 使用equalsIgnoreCase方法不区分大小写检测。
- 不能使用==检测字符串是否相等。= =运算符只能比较变量指向的存储位置。
### 2. StringBuilder
- insert(int offset, String str)方法在offset位置插入一个字符串并返回this。
## 4. 控制流程
### 1. break
- 可以在循环体之前加一个标签`label:`,使用`break label;`跳出到这个循环体末尾。类似与goto,不提倡使用。
### 2. foreach
```java
//array是数组
for(int i : array){
i = 1;
}//只是给i赋了值,与数组无关
```
## 5. 大数值BigInteger和BigDecimal
- 这两个类可以处理任意长度数字序列的数值。
- BigInteger实现了任意精度的整数运算。
- BigDecimal实现了任意精度的浮点数运算。
- 不能使用算术运算符进行运算。
## 6. 数组
- 可以使用Arrays.toString(array)打印数组所有值。
### 1. 数组拷贝
- 允许将一个数组变量拷贝给另一个数组变量,两个变量引用同一个数组。
- 用Arrays.copyOf将一个数组的所有值拷贝到另一个数组中,引用不同数组。
### 2. 数组排序
- Arrays.sort()优化了快速排序,快排对于大多数数据集合效率较高。
### 3. 二维数组
- 快速打印方式:Arrays.deepToString(arr);
### 4. 不规则数组
- 其实java只有一维数组,数组中的每个元素又可以是一个新的数组,最终构成多维数组。
- 当数组的每一行有不同长度时,即可构造不规则数组。