原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
看到这章,那么你已经掌握了java的基本的语法,现在可以来做点稍微高级的事情啦。判断,是编程的最基本的逻辑,因此本章我们来讲一讲java的条件判断。
在java中,最常用的条件判断无非是if判断语句,我们的if语句又有三种格式
int a = 1;
int b = 2;
if(a+b==3){
System.out.println("a+b等于3");
}
这段代码运行的结果是a+b等于3,因为a+b运算结果为3,这个结果刚好等于3为true,因此程序进入了判断的方法体内,执行了输出语句。如果我们把b的值改为1:int a = 1;
int b = 1;
if(a+b==3){
System.out.println("a+b等于3");
}
运行结果是什么也没有,那就说明方法体没有被进入,输出语句没有执行。int a = 1;
int b = 1;
if(a+b==3){
System.out.println("a+b等于3");
}else{
System.out.println("a+b不等于3");
}
这段代码运行的结果是a+b不等于3,因为判断条件a+b=3的结果是false,所以执行了else下的内容。int a = 1;
int b = 0;
if(a+b==3){
System.out.println("a+b等于3");
}else if(a+b==2){
System.out.println("a+b等于2");
}else if(a+b==1){
System.out.println("a+b等于1");
}
这段代码的执行结果是a+b等于1,由此可以看出这种格式的判断是符合哪个条件就会执行下面的方法别的就不去执行了。当然,为了方便那种不符合任何条件的判断,我们可以在最末尾加上一个else{执行的内容},如果前面所有的条件都不符合,则执行else下的内容。除了if语句,我们的判断还有switch语句,格式如下:
switch (条件) {
case 值1:
要执行的内容
break;
case 值2:
要执行的内容
break;
…
default:
要执行的内容
break;
}
代码如下:
int a = 1;
int b = 2;
switch (a+b) {
case 3:
System.out.println("a+b等于3");
break;
case 2:
System.out.println("a+b等于2");
break;
case 1:
System.out.println("a+b等于1");
break;
default:
System.out.println("都不是");
break;
}
这段代码执行的结果是a+b等于3,我们目前可以手动改变ab的值来决定结果。
switch的执行效率要比if else执行的效率高。因此我们可以用在已知有固定结果的条件下进行判断,代替if else,最后一个default是在没有找到想要的值的时候执行的内容,是不是跟if else的逻辑非常像?另外,程序中的break;可不能少,这个break的作用是执行了想要的语句之后跳出循环,若没有break,会继续执行紧挨着的下一个case下的内容一直到遇到break或者到循环末尾。
三目运算:
格式为:
条件?结果为true是时执行:结果为fasle时执行
代码如下:
int a = 1;
int b = 2;
int c = a>b?a:b;
System.out.println(c);
这段代码的执行结果为2,它的意思是先判断a是否大于b,如果a大于b就把a的值赋给c,反之,就把b的值赋给c。
三目运算本质上也是一种判断并且的执行效率也比if else高,在一定的条件下可以代替if else语句。