一、if...else语句
1.1if...else 语句可以看作有4种形式:
if语句
if...else语句
if...else if...else语句
嵌套的if...else语句
1.2if语句语法
if 选择结构是根据条件判断之后再做处理的一种语法结构。默认情况下,if 语句控制着下方跟的一条语句的执行。不过,通过语句块,if 语句可以控制多个语句。
if 语句最简单的语法格式如下:
if(布尔表达式)
{
如果布尔表达式为true将执行的语句
}
布尔表达式可以是 任意一种逻辑表达式,最后返回的一定是一个布尔值,取值可以是一个单纯的布尔变量或常量,也可以是使用关系或者布尔运算符的表达式,如果条件为真(真为true)那么就执行语句块,如果条件为假(假为false),则语句块这一块将直接跳过,且不执行这一块
当if条件成立的时候执行的语句只有一条的话,是可以省略大括号的,但是如果执行语句二条以上,那么大括号就是必要的…
以下是可以省略大括号的:
int A=15;
if(A>18){
System.out.println("成年人");
}
1.3 if...else语句
If…else就相当于是if的加强版,当条件成立时,就执行if大括号部分代码块,若条件不成立,则执行else的代码块。
int age=19;
if (age>18) {
System.out.println("成年人");
} else {
System.out.println("未成年人");
}
成绩大于18岁,就是成年人,否则是未成年人
age19大于18所以得出结果
以上结果是:成年人
1.4 if...else if...else语句
if...else if...else语句格式:
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
如果布尔表达式 3的值为true执行代码
}else {
如果以上布尔表达式都不为true执行代码
}
也就是说,1不满足 条件,就会去到2判断,当前面的条件都不成立的时候就执行else代码块
int num=0;
if (num == 0) {
值大于0执行正数,值小于0执行负数,==0不正不负
System.out.println("该数字既不是正数也不是负数");
} else if (num>0) {
System.out.println("该数字是正数");
} else {
System.out.println("该数字是负数");
}
如果num等于0,则执行:数字既不是正数也不是负数;
大于0执行:该数字是正数;
若前面条件都不成立就执行:该数字是负数
1.5嵌套的if...else语句
只有当外层的if的条件成立时,才会判断里面的if条件
嵌套的if...else语句格式:
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
果布尔表达式 2的值为true执行代码}}
int num=0;
if(num>0){
if(num%2!=0){
System.out.println("只能输入正数且为偶数");
}else{
System.out.println("输入正确");
}
}else{
System.out.println("只能输入正数");
}
结果是:只能输入正数