三元运算符格式
(条件表达式)?表达式1:表达式2
如果条件为True,运算后得结果为表达式1
如果条件为False,运算后得结果为表达式2
示例:
获取两个数中的大数
int x =3,y=4,z;
z=(x>y)?x:y //z变量存储的是两个数的大数。
表达式就是具有一定语法规则的语句
语句:
1)循环结构
代表语句:while、do while、 for
while语句格式
while(条件表达式)
{
执行语句;
}
do while 语句格式:
do
{
执行语句;
}while(条件表达式);
while:先判断条件,只有条件满足才执行循环体
do while:先执行循环体,再判断条件,条件满足再继续执行循环体
do while 特点是条件无论是否满足,循环体至少被执行一次
2)判断结构
if语句三种格式
1. 3.
if(条件表达式) if (条件表达式)
{ {
执行语句; 执行语句;
} }
else if (条件表达式)
2. {
if(条件表达式) 执行语句;
{ }
执行语句; else
} {
else 执行语句;
{ }
执行语句;
}
选择结构
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
...
default:
执行语句;
break;
}
示例:
int x = 3; switch(x) { case 3: case 4: case 5: System.out.println(x+"春季"); break; case 6: case 7: case 8: System.out.println(x+"夏季"); break; case 9: case 10: case 11: System.out.println(x+"秋季"); break; case 9: case 10: case 11: System.out.println(x+"冬季"); break; }
if和switch语句很像
具体什么场景下,应用哪个语句呢?
如果判断具体数值不多,而且符合byte short char 这4种类型
虽然两个语句都可以使用,建议使用switch,因为效率稍高
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
switch 语句特点:
1)switch语句选择的类型只有4种:byte,char,int,short
2)case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
3)结束switch语句的两种情况:遇到break,执行到switch语句结束
4)如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,知道遇到break或者switch结尾结束