一次小小的总结https://github.com/DuGuQiuBai/Java/blob/master/day02/day02%E6%80%BB%E7%BB%93.txt
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,右边不执行。