%取模(取余数)
取模就是取余数。
a%b=a除以b的余数
eg:取一个数的各个位的值。
字符也可以直接比,比的是ascii码
&&又称作短路运算符。
位运算符:了解
位与:
两个数转化成二进制,比较每一位,如果相同,且都是1 那就是1 如果相同都是0 就是0 如果不同 也是0 然后在转化为10进制
对应位置相同得0 不同的为1
左移 即便移到了符号位上,也不考虑符号位 不占符号位。
扫描二维码关注公众号,回复:
5438554 查看本文章
第一个括号:条件表达式 只有两种结果 true or false 如果 是true 则执行第二个括号的内容 否则执行第三个括号的内容。
ava运算符优先级记忆口诀
尊重原创:(口诀)转自http://lasombra.iteye.com/blog/991662
今天看到《java编程思想》中的运算符优先级助记口诀,不过“Ulcer Addicts Really Like C A lot”在中文语境下不好记。我试着写一个口诀:
单目乘除为关系,逻辑三目后赋值。
单目:单目运算符+ –(负数) ++ – 等
乘除:算数单目运算符* / % + -
为:位移单目运算符<< >>
关系:关系单目运算符> < >= <= == !=
逻辑:逻辑单目运算符&& || & | ^
三目:三目单目运算符A > B ? X : Y
后:无意义,仅仅为了凑字数
赋值:赋值=
面试题1:
x>x+1 在什么情况下是对的?
x输入byte且x=127 则x>x+1(x+1溢出了,为负数)
面试题2:
s1=s1+s2 是错的,因为s1+s2的时候已经转换成int类型,而s1是short类型,则等号不成立。
s1+=s2; 是对的 输出30(为什么?)
因为s1=s1+s2
+= s1 = (short)(s1+s2) 加等的特性,会进行一个数据类型的转换
import java.util.Scanner;
Scanner sc = new Scanner(System.in); // sc是自己起的名字。
//若希望输入的是字符串 英文等:用String,后面next不加int ;
String userKnock = sc.next();
//若希望输入的是数字:用int 或者float double,后面next加int/float/double 首字母大写;
int userKnock = sc.nextInt();