漫漫Java路1—基础知识4—运算符,Scanner类和循环拓展
分类和优先级


重点运算符详解
-
&(与)
位同为1时结果为1,否则为0
a=111000110101; b=100110001001; c=a&b; c=100000000001; -
|(或)
a=111000110101; b=100110001001; c=a|b; c=111110111101; -
~(取反)
a=111011; c=~a; c=000100; -
a^b(异或)
相同为0 ,不同为1
a=111000110101; b=100110001001; c=a^b; c=011110111100 -
>>>"无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.
注:左移右移其实就是进位,在2进制里其实就是乘除2
-
?:
1==1?a++:b++;if语句的简化
短路运算
在逻辑运算的时候,如果前面的运算已经可以判断出表达式的值,这时程序就不会执行后面的表达式
tips:用同一个值进行异或运算两次的结果不变
a=a^b;
b=a^b;//b=a^b^b=a
a=a^b;//a=a^b^a=b
这时我们突然发现,a和b换位了,而且,没有引入第三变量,在位运算中有很多技巧,后面的文章会逐步赘述
指数运算
其实自带的Math类有许多方法,学Java的时候,要学会看源码,通过官方库来规范自己的编程书写标注,观察别人的思路,还有看懂源码和使用
Math.pow(2,3)
Scanner类



for
for(int x:a){
//其实就是把数组或其他数据结构的值随着循环逐个传给x
//每次赋值之后都会执行代码体
}
作者:lijing
若标题中有“转载”字样,则本文版权归原作者所有。若无转载字样,本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

浙公网安备 33010602011771号