-
Notifications
You must be signed in to change notification settings - Fork 5.1k
/
Copy pathday02总结.txt
184 lines (167 loc) · 4.12 KB
/
day02总结.txt
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
1:常量(掌握)
(1)常量:在程序的运行过程中,其值不发生改变的量。
(2)常量的分类:
A:字面值常量
B:自定义常量(面向对象部分讲)
(3)字面值常量
A:字符串常量 用""括起来的内容。举例:"helloworld"
B:整数常量 举例:1,200
C:小数常量 举例:12.5
D:字符常量 用''括起来的内容。举例:'a','A','0'
E:布尔常量 比较特殊,只有两个值。举例:true,false
F:空常量 null(数组部分讲)
(4)Java中针对整数常量的表现形式
A:二进制
由0,1组成。以0b开头
B:八进制
由0,1,2,3,4,5,6,7组成。以0开头
C:十进制
由0,1,2,3,4,5,6,7,8,9组成。默认是十进制。
D:十六进制
由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成。以0x开头。
注意:字母不区分大小写。
2:进制(理解)
(1)一种计数的方式。x进制表示逢x进1。
(2)进制转换
A:其他进制到十进制
系数*基数^权之和。
B:十进制到其他进制
除基取余,直到商为0,余数反转。
C:快速转换
a:二进制和十进制
8421码
b:二进制和八进制
三位组合
c:二进制和十六进制
四位组合
D:任意X进制到任意Y进制的转换
可以使用十进制作为桥梁即可。
3:有符号数据表示法(理解)
(1)计算机中数据的存储和运算都是采用补码进行的。
(2)数据的有符号表示法
用0表示正号,1表示负号。
A:原码
正数:正常的二进制
负数:符号为为1的二进制
B:反码
正数:和原码相同
负数:和原码的区别是,符号位不变,数值位取反。1变0,0变1
C:补码
正数:和原码相同
负数:反码+1
(3)数据的有符号表示法练习
A:已知原码,求反码和补码
B:已知补码,求原码。
(4)补充:float浮点数在计算机中的表示
符号位 指数位 底数位
S E M
3:变量(掌握)
(1)变量:在程序的运行过程中,其值发生改变的量。
(2)定义格式:
A:数据类型 变量名 = 初始化值;
B:数据类型 变量名;
变量名 = 初始化值;
4:数据类型(掌握)
(1)数据类型分类
A:基本类型:4类8种
B:引用类型:类,接口,数组
(2)基本类型
A:整数 占用的内存空间
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1
面试题:Java中的字符可以存储一个汉字吗?为什么呢?
(3)注意事项:(特别注意)
A:整数默认是int类型,浮点数默认是double类型(运算中一定要特别注意隐式转换)
B:定义long类型数据的时候,建议加上L或者l。推荐L
定义float类型数据的时候,建议加上F或者f。推荐F
(不加f或F编译会报损失精度的错误)
(4)使用变量的注意事项
A:作用域
每一个变量在它所属的大括号内有效,并且,同一个作用域不能定义同名的变 量。(for循环()中定义的变量与在for{}中定义有相同的作用域)
B:初始化值
变量必须先声明,赋值,最后才能使用
C:在一行上定义的问题
可以在一行上定义多个变量,但是不建议。
int a,b;
a = 10;
b = 20;
int a = 10,b = 20;
int a = 10;
int b = 20;
5:类型转换(掌握)
注意:
boolean类型不参与。
(1)隐式转换:从小到大
byte,short,char --> int --> long --> float --> double
long为什么可以到float呢?
A:因为long和float的底层存储结构不同。
B:数据范围
long: 2^63
float: 3.4*10^38
3.4*10^38 > 3.4*8^38 = 3.4*2^3^38 = 3.4*2^114 > 2^63
(2)强制转换:从大到小
一般不建议这样做,因为可能有精度的损失。
格式:
目标数据类型 变量名 = (目标数据类型)(被转换的数据);
6:运算符(理解)
(1)运算:对常量和变量进行操作的过程称为运算。
(2)运算符:对常量和变量进行操作的符号称为运算符
(3)表达式:由运算符把常量和变量连接起来的式子
注意:表达式必须有结果
7:算术运算符(掌握)
(1)+,-,*,/,%,++,--
(2)+:
正号
加法
字符串连接符
(3)%和/的区别
%:余数
/:商
整数相除,结果是整数。想得到小数,可以乘以或者除以1.0
%的结果的符号和前面的那个数一致。
(4)++,--
A:单独使用
放在数据的前面和后面效果一样。
B:参与操作使用
放在数据的前面,先数据变化,再参与运算。
放在数据的后面,先参与运算,再数据变化。
C:++,--的练习题。
8:赋值运算符(掌握)
(1)=,+=,-=,*=,/=,%=,...
(2)基本用法
int a = 10;
把10赋值给int类型的变量a。
(3)复合用法
int a = 10;
a += 20;
值等价于:a = a + 20;
把左边和右边的结果赋值给左边,并强制转换为左边的类型。
(4)面试题
short s = 1; s = s + 1;
short s = 1, s +=1;
哪个有问题。
9:关系运算符(掌握)
(1)==,!=,>,>=,<,<=
(2)注意:
A:无论表达式简单还是复杂,结果肯定是boolean类型
B:千万不要把"=="写成"="
10:逻辑运算符(掌握)
(1)&,|,^,!,&&,||
(2)单用法
&:有false则false
|:有true则true
^:相同false,不同true(情侣关系)(交换两个变量的值的四种方式)
!:偶数个,值不变;奇数个,值相反。
(3)双用法:
&&,||和&,|的区别
&&具有短路效果,左边为false,右边不执行。
||具有短路效果,左边为true,右边不执行。