看到这章,那么你已经掌握了java的基本的语法,现在可以来做点稍微高级的事情啦。判断,是编程的最基本的逻辑,因此本章我们来讲一讲java的条件判断。
在java中,最常用的条件判断无非是if判断语句,我们的if语句又有三种格式
-
第一种的格式是:
if(条件){
要执行的语句
}
代码如下:- int a = 1;
- int b = 2;
- 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");
- }
-
第二种的格式是: if(条件){ 要执行的语句 }else{ 要执行的语句 } 代码如下:
- int a = 1;
- int b = 1;
- if(a+b==3){
- System.out.println("a+b等于3");
- }else{
- System.out.println("a+b不等于3");
- }
-
第三种格式是: if(条件){ 要执行的语句 }else if(){ 要执行的语句 }else if(){ 要执行的语句 }… 代码如下:
- 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");
- }
除了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");
- 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语句。