三元运算符:三个元素参与运算的符号
【三元运算符:简略版的 if(){} else() {}语句】
class Text
{
public static void main(String[] args)
{
int num = 60;
int n1 = num & 15;
System.out.println((char) (n1 - 10 + 'A'));
//要获取下一组四位,将 60 右移 4 位
int temp = 60 >> 4;
//对temp的值进行最低4位的获取
int n2 = temp & 15;
System.out.println( n2 );
/*
0 — 9 'A' 'B' 'C' 'D' 'E' 'F'
65 66 67
10 11 12 13 14 15
12 - 10 = 2 + 'A' = (char)67;
*/
}
}
三元运算符:就是具有一定语法规则的语句,三个元素参与运 算的符号,因为是运算符,所以一定会有结果
- 格式
- (条件表达式)?表达式1: 表达式2;
- 如果条件为 true ,运算后的结果是表达式1;
- 如果表达式为false,运算后的结果表达式2;
- 示例:
- 获取两个数中最大数。
- int x = 3, y = 4, z;
- z = (x > y) ? x: y; //z 变量存储的就i是两个数的大数。
class Text
{
/*
public static void main(String[] args)
{
int num = 60;
int n1 = num & 15;
System.out.println(n1>9?(char)(n1 - 10 + 'A'):n1);
//要获取下一组四位,将 60 右移 4 位
int temp = 60 >> 4;
//对temp的值进行最低4位的获取
int n2 = temp & 15;
System.out.println(n2>9?(char)(n2 - 10 + 'A'):n2);
// 0 — 9 'A' 'B' 'C' 'D' 'E' 'F'
// 65 66 67
// 10 11 12 13 14 15
// 12 - 10 = 2 + 'A' = (char)67;
【注意】这部分代码里还没有定义变量,鉴于目前还没讲到函数那部分,等到时候学到了就可以定义功能,写个if语句
}
*/
public static void main(String[] args)
{
int x = 3, y;
y = (x>1)?100:200;
//若 x>1 ,判别式为true,则执行表达式1 —— y = 100,
//若 判别式为falsr,则执行表达式2 —— y = 200;
System.out.println("y=" + y);
int z = 2;
//若把 y = (x>1)?100:200; 改写成
y = (z > 1)?'a':200; //带字符型的
//则 这个字符型会自动提升,因为它在和表达式2做运算
//而表达式2会是一个整数
System.out.println("y = "+ y);
}
}