三元(三目)运算符
?:
规则:布尔表达式?表达式1:表达式2如果布尔表达式的结果为true,返回表达式1的结果如果布尔表达式的结果为false,返回表达式2的结果案例:
取最大值(两个整数和三个整数)
int a=100,b=34,c=289;
int max=a>b?a:b;
max=max>c? max:C;
System. out. println(max);
运算符优先级
默认优先级
通过()控制优先级
三元(三目)运算符
?:
规则:布尔表达式?表达式1:表达式2如果布尔表达式的结果为true,返回表达式1的结果如果布尔表达式的结果为false,返回表达式2的结果案例:
取最大值(两个整数和三个整数)
int a=100,b=34,c=289;
int max=a>b?a:b;
max=max>c? max:C;
System. out. println(max);
运算符优先级
默认优先级
通过()控制优先级
三元运算符:
?:
规则:布尔表达式?表达式1:表达式2
如果布尔表达式的结果为true,返回表达式1的结果
如果布尔表达式的结果为false,返回表达式2的结果
案例:
取最大值(两个整数和三个整数)
public class TernaryOperator{
public static void main(String[] args){
//int a = 0;
System.out.println(7>8?"7大于8":"7不大于8");
//System.out.println(10>8?a=10:a=8);
int a = 100 , b = 34,c=289;
//int max = a > b?a:b;
int max = a>b?a:b;
max=max>c?max:c;
System.out.println(max);
}
}
java运算符优先级
[ ] . ( ) (方法调用) |
从左向右 |
! ~ ++ -- +(一元运算) -(一元运算) |
从右向左 |
* / % |
从左向右 |
+ - |
从左向右 |
<< >> >>> |
从左向右 |
< <= > >= instanceof |
从左向右 |
== != |
从左向右 |
& |
从左向右 |
^ |
从左向右 |
| |
从左向右 |
&& |
从左向右 |
|| |
从左向右 |
?: |
从右向左 |
= |
从右向左 |
默认优先级
通过()控制优先级
public class TernaryOperator{
public static void main(String[] args){
//int a = 0;
//System.out.println(7>8?"7大于8":"7不大于8");
//System.out.println(10>8?a=10:a=8);
//int a = 100 , b = 34,c=289;
//int max = a > b?a:b;
//int max = a>b?a:b;
//max=max>c?max:c;
//System.out.println(max);
int a = 1,b=2;
boolean b=(a>b && a<10)
&&
b>100;
}
}
public class TernaryOperator{
public static void main (String [] args){
/**
int a = 5;
System.out.println(a>8?"干死黄旭东":"干死孙一峰");
int b = 2;
System.out.println(b>10?"老八":"奥利给");
int c = 15;
System.out.println(7>10?"c=11":"c=12");
*/
/** int a = 30, b =34, c = 300;
int max = a>b?a:b;
max = max>c?max:c;//通过赋值语句将右侧三元运算的最大值,赋值于max;
System.out.println(max);//输出max;
*/
int a = 1, b = 2;
boolean gan = ((a>b) && (a<10))
&&
b >100;//false true false//false;
System.out.println("爷晕了");
System.out.println(gan);
int 黄旭东 = 250;
int 孙一峰 = 249;
boolean 双狗 = ((黄旭东>孙一峰) |(黄旭东<孙一峰) );
System.out.println(双狗);
}
}
三元运算符
?:
规则:布尔表达式 ? 表达式1:表达式2
如果布尔表达式的结果为true,返回表达式1的结果
如果布尔表达式的结果为false,返回表达式2的结果
System . out . println ( 7>8 ? "7大于8" : "7不大于8" );
最大值比较:
int a = 100 , b = 34 , c = 289 ;
int max = a > b ? a : b;
max = max > c ? max : c ;
System . out . println (max) ;
运算符的优先级:
默认优先级
通过()控制优先级
三元运算符:
布尔表达式?表达式1:表达式2
int a=7;
int b=8;
a>b?a:b
三元运算符
?:
规则:布尔表达式?表达式1:表达式2
如果布尔表达式的结果为true,返回表达式1的结果
如果布尔表达式的结果为false,返回表达式2的结果
案例:取最大值(两个整数和三个整数)
运算符优先级
默认优先级
通过()控制优先级
数据类型转换
隐式类型转换
小类型到大类型会自动转换:byte->short,char->int->long->float->double
虽然float比long小,但是因为存储方法不一样导致float里面可以存储的数据范围比long要大(浮点型来说,有一部分是用来表示有效位数的,有一部分是用来表示多少次方。)