- 运算符 ++a和a++的区别,++a是先自增再赋值,a++是先赋值再自增。
- 短路原则 对于与运算,只有两个条件结果都为真时,结果才为真,所以在前一个条件为假时,后面不进行计算。
- 例子:
-
结果c为3,不进行c++
- 位移 <<左移 补符号位, 表示乘法 例:2>>3 表示在2进制从2的位数向左移3位 1000 >>右移 补符号位, 表示除法 例 16>>3 在2进制在16的位置上向右移动3位 >>>表示补位补0
- 字符串连接 System.out.println(“”+a+b); System.out.println(a+b+"")的结果不同,字符串在前面表示输出结果为字符串型,字符串在后面表示输出结果为数值型。
- 三元运算符 x ?y :z 若x条件正确则执行y否则执行z
- 比较运算符
- 逻辑运算符 && || ! 也是布尔类型;
- && 并且 A&&B 当A和B都为true时表达式才为正确;有一个是false结果也是false;
- || 或者 A||B 当A和B只有一个位true,整个表达式结果就是true,只有A和B都位false,整个表达式的结果才为false;
- !反转结果 原来为true 现在就变成了false;
- 短路现象
- A&&B 如果A为false,整个表达式的结果就可以判定为false,B不需要做运算了,B就被短路了;
- A||B 如果A为true,整个表达式的结果就为true,B表达式就不需要运算了;
- 位运算[二进制]
- 移位运算>> >>> << 111 1|11 越过有效位就销毁;
- 按位运算 & | ^ ~;
- & 按位与运算 将A和B装换成二进制,右侧对齐,上下比较,两个都为1,结果才为1;
- | 按位或运算 A|B 转换成二进制,右侧对齐,上下比较,有一个结果为1就为1;
- ^ 按位异或运算 转换成二进制,右侧对齐,上下比较,两个不同为1,相同为0;
- ~ 反码 符号位也反;
- &&和&的区别
- &&是逻辑与运算符,用于计算两个布尔值,当两个都为true时,结果才为true,
- &是按位与运算,把两个数转换成二进制运算,当两个位都是1结果才为1,
- 都可以进行逻辑运算,&&有短路现象,&二进制位都要进行运算,没有短路现象;
- JavaDoc javadoc命令是用来生成自己的API文档的(可以加在类上面或方法上面)
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
- 优先级
- java流程控制
- 用户交互scanner
- scanner是IO流,所以写完记得关流 scanner.close();
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们要使用hasNext()与hasNextLine()判断是否还有输入的数据;
- next()是通过空格来判断是否结束的,所以它不会输出空格以后的东西;
- nextLine()是通过回车键来判断是否结束的;
- next会遗留回车符,解决方法不用或scanner.nextline()吃掉回车符;
- 不是字符串,是数值的要用对应的next对应数值类型来接收;
- scanner必须要写next()和nextLine()来接受输入的字符串;
最精简的代码
- 小技巧
- 光标定位到当前行,ctrl+D能将这一行全部内容复制到下一行;
- alt+enter 能显示错误改正方式;
- if判断语句()的内容默认为true,才执行if里的操作。
-
public static void main(String[] args) { int a=10,b=a++;//b的值为10,a的值为11 int c=a+++b---++a+--b;//后面a,b的值会根据前面运算发生变化 System.out.print(a++<--b|b--<++a&&c-->--c); System.out.print(a); System.out.print(b); System.out.print(c); }
- float f =45 // int范围小于float类型,所有int类型的45可以隐式转换为float类型;
- char 可以直接转换为int类型,char范围小可以隐式转换int;