Java学习语言基础03
运算符
算数运算
- 加(+)、减(-)、乘(*)、除(/)、取余(%)。
- 自增(++)、自减(–)-------单独使用时,在前后无差别,被使用时在前后有差别
//结果是8,整数除法会取整
int a = 120;
int b = 15;
int c = a/ b;
//计算a除以2取余数,结果是1
int a =5;
System.out.printIn(a % 2);
int i= 10;
int m= i++;// ++(--)在后时,为先用后加(减)。
System.out.println(m+"," + i);// 10, 11
intn=++i;// ++(--)在前时,为先加(减)后用。
System.out.printIn(n+ "," + i); // 12, 12
关系运算
- Java关系运算用于判断数据之间的大小关系。
- Java提供如下关系运算符:">" (大于),"<"(小于),‘’>=” (大于等于), “<=” (小于等于),"==” (等于),"!=" (不等于)
- 关系表达式的值为boolean类型( “true” 或"false" )
int a=10;
boolean b1=a>10;//false
boolean b2=(a+1)>=10;//true
逻辑运算
- 逻辑运算的操作数均为boolean表达式。
- Java提供如下逻辑运算符: "&&” ( 与)、"l”(或)、 ”I” (非)
double income = 4000;
boolean b1 = (income >= 3500) && (income < 5000);
System.out.printIn(b1); // true
int num= 30;
boolean b2 = num<0 | num > 100;
System.out.println(b2); // false
boolean b3 = (str != null) && (str.length()> 0);
//"&&” 、"I” 具备"短路”的特性:如果通过第一 个表达式的值即可得出最后的结果,则不计算第二个 表达式。
- "!"的优先级最高
- 短路要清楚 “|”,"&"不短路
赋值运算符
- “=” 称为赋值运算符,用于对变量赋值。
- 赋值表达式本身也有值,其本身之值即为所赋之值。可以使用扩展赋值表达式( +=、-=、*=、/-…)
int num = 90;
int index = num % 5;
int a, b, c;
a=b =c= 100;//"c=100”整个表达式的值为100
int sum = 100;
sum += 10;//相当于"sum= sum + 10”
short s1=5;
s1=s1+10;//编译错误
s1+=10;//正确,扩展赋值运算自动强转
字符串连接运算符
- "+” 可以实现字符串的连接。同时可以实现字符串与其他数据类型的"相连”
- 若两边为数字,则做加法运算
- 若有一边为字符串,则做字符串拼接
int a = 100;
String msg = "a="+ a;
System.out.println(msg);//结果为: a=100
msg=""+100+200;
System.out.println(msg);//结果为: 100200
msg= 100 + 200 + "";
System.out.println(msg);//结果为: 300
使用条件(三目)运算符
- 条件运算符又称“三目”运算符,其结构为:boolean表达式?表达式1 :表达式2
- 条件运算符的规则如下:
-先计算boolean表达式;
-如果boolean表达式的值为true ,整个表达式的值为表达
式1的值;
-如果boolean表达式的值为false ,整个表达式的值为表达
式2的值。
int a = 100, b = 200;
int flag = a > b ? 1 :-1; // flag的值为-1
条件(三目)运算符的嵌套
- 条件运算符可以嵌套使用,所谓嵌套是指在条件(三目)表达式: "boolean表达式? 表达式1 :表达式2”中的表达式1或表达式2也是条件(三目)表达式。
int a=-3;
String r=a>0?"正数":(a==0?"O":"负数");
System.out.println(r); //结果为负数
上述代码将输出"负数 。这是因为a的值小于0,即boolean表达式的值为false , 则取问号后第二个表达式的值作为表达式的结果。而问号后的第个表达式也是一个三目运算符所构成的表达式。因为a==0表达式的值为false ,则取"负数”为表达式的结果。
下次补上这节笔记的实战演练小问题(代码)