//例题一int i =1;
i = i++;//规则使用临时变量:(1)temp=i(右边);(2)i=i+1(右边);(3)i=temp(左边);System.out.println(i);//i=1//例题二int i =1;
i =++i;//(1)i=i+1;(2)temp=i;(3)i=temp;System.out.println(i);//i=2
关系运算符
==、!=、<、>、instanceof
关系运算符的结果都是boolean型,要么是true,要么是false
关系运算符组成的表达式,称为关系表达式
比较运算符“==”不能误写成“=”
逻辑运算符
短路与&&、逻辑与&
相同点:两个条件都为true,结果为true
不同点:
短路与&&:如果第一个条件为false,则第二个条件不会判断,效率高
逻辑与&:不管第一个条件是否为false,第二个条件都要判断,效率低
短路或||、逻辑或|
相同点:两个条件中只要有一个成立,结果为true,否则为false
不同点:
短路或||:如果第一个条件为true,则第二个条件不判断,效率高
逻辑或|:不管第一个条件是否为true,第二个条件都要判断,效率低
逻辑非!、逻辑异或
!操作是取反操作
a^b:逻辑异或,当a和b不同时,结果为true,否则为假
//练习题,注意算术运算符和关系运算符的区别boolean x =true;boolean y =false;short z =46;if((z++==46)&&(y =true)) z++;if((x =false)||(++z ==49)) z++;System.out.println("z="+ z);//z=50
赋值运算符
= ,+= ,-= ,*= ,/= ,%=
a += b;[等价于 a=a+b]
运算顺序从右向左
赋值运算符左边只能是变量,右边可以是变量、表达式、常量值
复合赋值运算符会进行类型转换
byte b =3;
b +=2;//等价 b = (byte)(b + 2);改成b=b+2将编译不通过
b ++;//b = (byte)(b + 1);
三元运算符
语法:条件表达式?表达式1:表达式2;
如果为true,就返回表达式1结果;如果为false,返回表达式2结果
表达式1和表达式2要为可以赋给接收变量的类型,或可以自动转换(强制转换)
三元运算符可以转成if–else语句
运算符优先级
(),{}等
单目运算符 ++,–(从右向左运算)
算术运算符
位移运算符>>,<<
比较运算符
逻辑运算符
三元运算符
赋值运算符(从右向左运算)
标识符规则和规范
由26个英文字母大小写,0-9,下划线_或$组成
数字不可以开头
不可以使用关键字和保留字,但可以包含关键字和保留字
严格区分大小写,长度没有限制
标识符不能包含空格
规范:
包名:多单词组成时所有字母小写
类名、接口名:多单词组成时,所有单词首字母大写(大驼峰)
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始首字母大写(小驼峰)
常量名:所有字母都大写,多单词之间用下划线连接
键盘输入语句
用于接收用户输入的数据
步骤:
导入Scanner类所在包,java.util.*
创建Scanner对象,new创建一个对象
//键盘输入语句练习Scanner myScanner =newScanner(System.in);System.out.println("请输入名字");String name = myScanner.next();System.out.println("请输入工资");int salary = myScanner.nextInt();System.out.println("人的信息如下:");System.out.println("名字:"+ name +"工资:"+ salary);