Java的判断与循环语句

判断语句

if判断语句
  1. 第一种格式:

if(条件表达式){
执行语句
}

class Demo {
     public static void main(String[] args) {
        int a = 1;         
        if( a > 0){
             System.out.println("大于");
            }
        System.out.println("小于");
     }
 } 

if 后的圆括号中的条件表达式必须为boolean类型,进行真假判断

执行顺序:
遇到 if :
条件表达式为真,则执行花括号内部的语句;
如果为假,则执行跳过整段 if 语句,执行后面的语句。

Created with Raphaël 2.2.0 主函数开始 if(条件表达式)? 执行语句 主函数结束 yes no
  1. 第二种格式:
    if(条件表达式){
    执行语句;
    } else{
    执行语句;
    }
class Demo {
     public static void main(String[] args) {
        int a = 1;         
        if( a > 0){
             System.out.println("大于");
            }else{
             	System.out.println("小于");
          		}        
     }
 } 

执行顺序:
遇到 if:
如果条件表达式为真,执行 if 后面花括号里面的值;
如果条件表达式为假,执行 else 后面花括号里面的值。

Created with Raphaël 2.2.0 主函数开始 if(条件表达式) if括号的语句 主函数结束 else括号的语句 yes no
  1. 第三种格式:
    if(条件表达式){
    执行语句;
    } else if(条件表达式){
    执行语句;
    }
    ……
    else{
    执行语句;
    }
import java.util.*;
class class05{
    public static void main(String[] arge){
        //num1系统给出的数字  num2用户给出的数字
        Random random=new Random();
        Scanner scanner=new Scanner(System.in);
        int num1=random.nextInt(90)+10;
        //System.out.println(num1);
        System.out.print("Please inter a number:");
        int num2=scanner.nextInt();
        //把数字各位分开
        int a=num1/10;
        int b=num1%10;
        int c=num2/10;
        int d=num2%10;
        //进行判断
        if(num1==num2){
            System.out.println("一等奖,奖金10000美元");
        }else if(a==d&&b==c){
            System.out.println("二等奖,奖金3000美元");
        }else if(a==c||a==d||b==c||b==d){
            System.out.println("三等奖,奖金1000美元");
        }else{
            System.out.println("没中奖,谢谢");
        }
    }
}

执行顺序:
是if-else语句的一个嵌套语句,
在第一个if中不满足条件的else条件中,又增加了一个条件

Created with Raphaël 2.2.0 主函数开始 if1(条件表达式) if括号的语句 主函数结束 else1括号的语句 if2(条件表达式) if2括号的语句 else2括号的语句 yes no yes no
多分支结构(switch)
  1. 格式:
    switch(表达式){
    case 取值1:
    执行语句;
    break
    case 取值2:
    执行语句;
    break;
    ……
    default:
    执行语句;
    break;
    }
class demo{
    public static void main(String[] ager){
        int i=6;
        switch(i){
            case 1:
                System.out.println("no 1");
                break;
            case 4:
                System.out.println("no 4");
                break;
            case 6:
                System.out.println("yes!");
                break;
            default:
                System.out.println("not right");
                break;
        }
    }
}

执行顺序:

开始执行主函数时,遇到switch
将switch里的表达式与case后面的表达式进行比较,执行case后面表达式一样的语句;
如果case后面都没有,就执行default后面的语句

主函数开始
case1
case2
default
主函数结束
  • 其能够选择的类型只有四种:byte,short,int,char
  • ★★★★★★注意:在switch语句中的case后必须有break跳出语句,否则程序会继续执行下一个case,直到遇到break跳出
  • case之间与default没有顺序,先执行第一个case,没有匹配的case执行default

if和switch的区别

  • if用于判断数值,也可判断区间,要求其表达式结果为boolean类型
  • switch用于对固定的几个值进行判断
循环结构(while 和 do - while)
  1. 格式:
    while(条件表达式){
    执行语句;
    }
class demo{
    public static void main(String[] ager){
        int i=6;
        while(i>0){			//当条件表达式为真时执行
            System.out.println("I等于1");
            i--;
        }
}

执行顺序:
开始执行主函数,当遇到while时,先计算while后面的条件表达式;
当表达式为真时,执行while后面大括号中的语句;
然后再进行while后面的表达式判断,直到表达式为假时,跳出循环。

注意事项:
1.括号中的表达式计算结果必须为boolean类型的值。
2.括号中不能直接写false常量。
3.while循环的括号后面不要写分号,循环控制的语句的代码用大括号扩起来。
4.while循环控制的条件变量一定要更新,保证循环能够正常结束 (防止死循环)

  1. 格式:
    do{
    执行语句;
    }while(条件表达式);
do{
            sel=sel+(int)(num%10);
            num/=10;
            if(num==0){
                break;
            }
        }while(true);

执行顺序:
先执行do后面的语句,当执行完之后再进入条件表达式进行判断,若条件 表达式结果为true继续执行do后面的语句,若条件表达式结果为false,则结束循环。
do while特点是无论条件是否满足,循环体至少被执行一次

循环结构(for)
  1. for循环格式 :
    for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3)){
    执行语句;(4)
    }
for(int i=0;i<num.length();i++){
            char c=num.charAt(i);
            if(isnumber(c)){
                count++;
            }
        }

执行顺序:
for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条 件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找 个过程,直到条件不满足为止

for 与while的不同
for更倾向于知道次数的循环(根据已知条件进行循环),而while更倾向于不知道次数的循环

流程控制(break和continue)

break:终止该层循环 ,跳出循环,不再执行下面的循环
continue:跳过该层循环,继续下一层循环,循环次数减一

break实例:

if(s1.charAt(i)==s2.charAt(j)){
                    i=i+j;
                }else{
                    break;
                }
      //执行break后不执行接下来的数字,跳出该循环

continue实例:

if(s1.charAt(i)==s2.charAt(j)){
                    i=i+j;
                }else{
                    continue;
                    j+=1;
                }
      //执行continue后,不执行j+=1;语句,并继续判断下一个是否满足

你可能感兴趣的:(Java的判断与循环语句)