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,右边不执行。 |
Java学习第二天
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Qt学习第二天
学习常用控件及布局管理
常用控件 布局 事件 QtCreator -
第二天
今天什么都没有做
记录 Android