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