有时候选择的条件过多就需要我们用到一个语句:选择语句
三目运算
变量=条件判断?表达式1:表达式2
根据条件判断成立时执行表达式1,失败时执行表达式2
我们通过代码来看:
public class Test
{
public static void main
(String args[]){
int a=2; //定义常量a
int b=9; //定义常量b
int max=0; //定义一个最大值
max=a>b?a:b; //三目运算
System. out.println( "最大值为" +max);
}
}
执行结果:
最大值为9
三目运算其实就相当于另一种的if···else运算
if···else:当需要满足某种特定的条件时,就说用到if和if···else语句
当if中的表达式成立,执行if下{}中的语句,否则执行else {}中的程序
我们通过代码来看:
public class Test {
public static void main
(String args[]){
int a=2; //定义常量a
int b=9; //定义常量b
if (a>b)
{ //当a>b成立时,执行if里面的输出语句
System. out.println( "a>b正确" );
} else {
System. out.println( "a>b错误" ); //当if中()里的语句不正确时,执行else里面的输出语句
}
}
}
执行结果:
a>b错误
当有多个选择条件时,可以使用if···else的嵌套语句
当if()中的表达式成立时,执行if下面{}中的语句,否则执行else if{}中的语句,知道最后一个,如果上面()中的表达式都不成立,则执行else下{}中的语句
我们通过代码来看
public class Test
{
public static void main
(String args[]){
int a=2; //定义常量a
int b=9; //定义常量b
int c=15; //定义常量c
if (a>b)
{ //当a>b成立时,执行if里面的输出语句
System. out.println( "a>b正确" );
} else if(a>c)
{
System. out.println( "a>c正确" ); //当if中()里的语句不正确时,执行else里面的输出语句
} else if (c>b)
{
System. out.println( "c>b正确" );
} else {
System. out.println( "都不正确" );
}
}
}
执行结果:
c>b正确
当选择的条件太多的时候,为了让阅读代码的人更方便,可以使用switch语句
当case的值与switch()中表达式的值相等时,执行当前case下的语句,否则继续判断下一个case,如果没有一个case的值与表达式中的值相等时,则执行default 中的语句
注意:这的break是跳出当前语句,这个一定要写!否则程序会执行每一个语句。
我们通过代码来看
public class Test
{
public static void main
(String args[]){
int a=2; //定义常量a
switch (a)
{ //如果case的值和a相等,则执行当前case下的语句
case 1:{
System. out.println( "a=1");
}
break; //当前case下的语句执行完毕,跳出这个段程序
case 3:{
System. out.println( "a=3");
}
break;
case 2:{
System. out.println( "a=2");
}
break;
case 5:{
System. out.println( "a=5");
}
break;
default:
break;
}
}
}
执行结果:
a=2
再看下面的代码:
public class Test
{
public static void main
(String args[]){
int a=2; //定义常量a
switch (a)
{ //如果case的值和a相等,则执行当前case下的语句
case 12:{
System. out.println( "a=12");
}
break; //当前case下的语句执行完毕,跳出这个段程序
case 3:{
System. out.println( "a=3");
}
break;
case 23:{
System. out.println( "a=23");
}
break;
case 5:{
System. out.println( "a=5");
}
break;
default:{
System. out.println( "没有满足的条件" );
}
break;
}
}
}
执行结果:
没有满足的条件
下面我们来看看没有break,这段语句会怎么样
public static void main
(String args[]){
int a=2; //定义常量a
switch (a)
{ //如果case的值和a相等,则执行当前case下的语句
case 12:{
System. out.println( "a=12");
}
case 2:{
System. out.println( "a=2");
}
case 23:{
System. out.println( "a=23");
}
case 5:{
System. out.println( "a=5");
}
default:{
System. out.println( "没有满足的条件" );
}
}
}
}
执行结果:
a=2
a=23
a=5
没有满足的条件
a=2之前的语句没有执行,当case的值等于2时输出“a=2”,正常的情况到这里这段语句就已经执行完成了,但是a=2后面的语句被一次执行了一次,所以一定要注意加break。