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) 自动类型转换(隐式转换)
byte char short – int – long – float – double
2) 强制类型转换(显式转换)
(数据类型) 变量或者常量值;
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2; // 此行会报错,因为参与运算的byte类型会自动提升为int类型, 可能损失精度.
byte b4 = 3 + 4; // 不报错,对于字面值常量3和4, jvm会在编译期对其进行计算(优化), 并比较其值是否在byte范围内,如果未超出,则不报错.
算术运算符
注意:
1) 注意除运算符
1) 除数不能为0.
2) 整形与整形进行运算,结果还是整形.它会将余数舍弃.
比如: 5 / 2 – 结果是2
2) ++ 和 – 运算符原理
以 ++ 为例:
单独运算:
在前在后都一样,相当于把值加1
参与运算:
++在前,先加后用. ++a 相当于 a = a + 1
++在后,先用后加. a++ 会产生一个临时的量, 这个量相当于a的一个副本,然后将a的值自增, 将副本的值返回.
举例:
int x = 10;
int y = x++;
// 结果是y = 10; x = 11;
- int x = 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;
int b = 20;
// 结果要求: a = 20; b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;
流程控制语句
switch语句
注意事项:
a:default整体可以省略吗?
可以,但是不建议。
b:default的位置可以放到前面吗?
可以,但是不建议。
c:break可以省略吗?
可以,但是不建议。
default在最后,break是可以省略的。
case后面的break可以省略,但是结果可能有问题。
d:switch语句什么时候结束呢?
就是遇到break或者执行到程序的末尾。
版权声明:本文为博主原创文章,未经博主允许不得转载。