运算符(Operator)
算术运算符:
+ - * / %(求余数) ++(自加1) - -(自减1)
*当++出现在变量后,会先做赋值运算,再自加1;当++出现在变量前,会先自加1,然后再做赋值运算。
关系运算符:
> >= < <= == !=
所有关系运算符的运算结果都是布尔类型,不是true就是false,不可能是其他值。
逻辑运算符:
&(逻辑与) |(逻辑或) !(逻辑非) &&(短路与) ||(短路或)
逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。
& 同真则真; | 一真则真 ! 取反(右边有表达式)
&& 与 & 的运算结果没有任何区别,只不过 && 会发生短路现象。
什么是短路现象,什么时候会发生“短路”?
使用短路&&的时候,当左边的表达式为false的时候,右边的表达式不执行,这种现象称为短路,短路与&&的效率比&效率高一点。
以后的开发中,短路与&&和逻辑与&还是需要同时并存的。大部分情况下都建议使用短路与&&,只有当既需要两边表达式都执行的时候,才会选择逻辑与。
赋值运算符:
= += -= *= /= %=
使用扩展赋值运算符的时候,永远都不会改变运算结果类型。
byte x=2;
x+=1; x+=1 相当于 x = (byte)(x + 1)
条件运算符(三目运算符):
布尔表达式 ? 表达式1 : 表达式2
布尔表达式的结果为true时,则执行表达式1;如果结果为false时,则执行表达式2。
字符串连接运算符:
+
当 + 运算符两边都是数字的时候,求和;当 + 运算符两边的任意一边是字符串类型,那么这个 + 会进行字符串拼接操作。
字符串拼接完后还是字符串。
当一个表达式当中有多个加号时,遵循 自左向右 的顺序执行,除非额外添加了小括号。
在字符串中间添加变量,需要加一对双引号,然后在双引号中间天剑两个加号,再在两个加号中间添加变量名。
键盘输入
java.util.Scanner s = new java.util.Scanner(System.in); //创建一个键盘扫描对象。(只需要写一次)
或者(import java.util.Scanner;
Scanner s = new Scanner(System.in);)
int i = s.nextInt(); //i变量接收键盘数据
String s = s.next(); // s变量接收的是字符串