JAVA基础针对自己薄弱环节总结01 java中的标识符 组成:数字、字母、下划线、美元$符号组成。 规则:不能由数字开头。 类名:每个单词的首字母大写 包名:全部小写 变量名、方法名:第一个单词首字母小写,后面首字母大写 常量:全部大写用下划线连接 注释 单行注释:// 多行注释:/*……*/ (不能嵌套) 文档注释:/**…..*/(可以被javadoc命令解析成Html文档(说明书)) 变量概述 格式一: 数据类型 变量名=初始化值; 格式二: 数据类型 变量名; 变量名=初始化值; 变量在使用前必须初始化。 java中的数据类型 整型:byte 1字节 Short 2字节 Int 4字节 Long 8字节 浮点型:float 4字节 Double 8字节 字符型:char 2字节 布尔型:Boolean java中定义变量并使用 对 byte,short类型的变量进行赋值时保证在其范围内即可。(超出范围报错) 对long, float 类型的变量进行赋值时后面必须加L和F。 数据类型转换 1) 自动类型转换(隐式转换) bytechar short -- int -- long -- float -- double 2) 强制类型转换(显式转换) (数据类型) 变量或者常量值; byte b1 = 3; byte b2 = 4; byteb3 = b1 + b2; // 此行会报错,因为参与运算的byte类型会自动提升为int类型, 可能损失精度. byteb4 = 3 + 4; // 不报错,对于字面值常量3和4, jvm会在编译期对其进行计算(优化), 并比较其值是否在byte范围内,如果未超出,则不报错. 算术运算符 注意: 1) 注意除运算符 1)除数不能为0. 2)整形与整形进行运算,结果还是整形.它会将余数舍弃. 比如: 5 / 2 -- 结果是2 2) ++ 和 -- 运算符原理 以 ++ 为例: 单独运算: 在前在后都一样,相当于把值加1 参与运算: ++在前,先加后用. ++a 相当于 a = a + 1 ++在后,先用后加. a++ 会产生一个临时的量, 这个量相当于a的一个副本,然后将a的值自增, 将副本的值返回. 举例: intx = 10; inty = x++; //结果是y = 10; x =11; inta = 10; a= a++; System.out.println(a);// 结果是10 3) 加法运算符的特殊用法: 例如: System.out.println(3 + 4 +"hello" + 5 + 'a' + 6 + 7); // 输出结果为: 7hello5a67 逻辑运算符 注意: 1)java中不能写成 1 < x< 9 , 而应该写成 x > 1& x < 9 2)& 和 && 的区别: 单&时,左边无论真假,右边都会参与运算. 双&时,左边为真时,右边才会参与运算;左边为假时,右边不会参与运算,有短路功能. 3)| 和 || 的区别同理: 对于双或,左边为真时,右边不会参与运算. 位运算符 << 左移 -- 将运算数的二进制码整体左移指定位数,左移之后的空位用0补充. 相当于乘以2的指定次幂. >> 右移 -- 将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充.相当于除以2的指定次幂. >>> 无符号右移 -- 将运算数的二进制码整体右移指定位数,不管正负,空位全部都用0补充. 注意: 1)没有无符号左移. 2)API中很多源码的实现都是采用了位运算符,因为效率高.但咱们开发中自己写程序一般不会用,易读性差. 关于位运算的两个面试题: 1)用最高效的方式计算2*8的结果. 2<< 3 2)不使用第三个变量的前提下,交换两个变量的值. int a = 10; intb = 20; //结果要求: a = 20;b = 10; a= a ^ b; b= a ^ b; a= a ^ b;
|