java基础(流程控制)

流程控制

流程控制分为三种 :顺序结构,分支结构,循环结构

第一种: if(条件表达式){ 执行表达式 }第二种:二选一 if(条件表达式){ 执行表达式1 }else{ 执行表达式2 }第三种:n选一 if(条件表达式1){ 执行表达式1 }else if(条件表达式2){ 执行表达式2 }else if(条件表达式3){

​ 执行表达式3

}...else{ 执行表达式n }

//第一种
    int heartBeat=89;
    if(heartBeat<60||heartBeat>120){
        System.out.println("需要进一步检查");
    };
    System.out.println("检查结束");
​
    //第二种
    int age =23;
    if(age<18){
        System.out.println("你看一看动画片");
        }else{
        System.out.println("你可以看成人电影");
        }
​
    //第三种:
    if(age<0){
            System.out.println("非法");
        }else if(age<18){
            System.out.println("青少年");
        }else if(age<35){
            System.out.println("青壮年");
        }else if(age<60){
            System.out.println("青壮年");
        }else if(age<120){
            System.out.println("老年");
        }else{
            System.out.println("成仙");
            }

练习

编写程序:由键盘输入三个整数分别存入变量num1,num2,num3
对他们进行排序(使用if-else if-else),并且从小到大输出

说明:1.if-else结构可以相互嵌套的2.如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略

import java.util.Scanner;
public class IfTest01{
    public static void main(String [] args){
    Scanner scan=new Scanner(System.in);
    System.out.println("请输入第一个数");
    int num1=scan.nextInt();
    System.out.println("请输入第二个数");
    int num2=scan.nextInt();
    System.out.println("请输入第三个数");
    int num3=scan.nextInt();
    
    if(num1>=num2){
        if(num3>=num1){
        System.out.println(num2+","+num1+","+num3);
        }else if(num2>num3){
        System.out.println(num3+","+num2+","+num1);
        }else{
        System.out.println(num2+","+num3+","+num1);
        }
     }else{//num1<num2
        if(num3>=num2){
        System.out.println(num1+","+num2+","+num3);
        }else if(num1>num3){
        System.out.println(num3+","+num1+","+num2);
        }else{
        System.out.println(num1+","+num3+","+num2);
        }
     }
    }
}

流程语句之二:switch-case

​ 1.结构: switch(表达式){ case 常量1: 执行语句1; //break; case 常量2: 执行语句1; //break; case 常量3: 执行语句1; //break; ... defaule: 执行语句; //break; }

2.说明: 1根据switch表达式中的值,一次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行的语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或者此switch-case结构末尾为止 2.break可以使用在switch-case中,一旦执行到此关键字,就跳出switch-case结构 3.switch结构中的表达式,只能使用以下六种之一 byte short int char String(JDK7) 枚举类型(JDK5) 4.case之后只能声明常量。不能声明范围。(age<18) 5.break关键字是可选的 6.default:相当于if-else结构中else default结构是可选的,而且位置是灵活的

    int num =1;
    switch(num){
        case 0:
    System.out.println("zero");
        break;
        case 1:
    System.out.println("one");
        break;
        case 2:
    System.out.println("tow");
        break;
        default:
    System.out.println("orther");
        break;
    }

说明1.当可以用switch-case的结构都可以用if-else,反之不成立2.当程序程序既可以用switch-case,也可以同if-else时,优先考虑switch-case(因为效率高)

for循环结构的使用

一.循环结构的四要素: 1.初始化条件 2.循环条件 ---->boolean类型 3.循环体 4.迭代条件二.for循环结构for(1;2;4){ 3}执行过程 1--2--3--4--2--3--4--2

for(int i=1;i<=5;i++){
        System.out.println("Hello World!");
        }
        //System.out.println(i); 编译错误
        //结论:i的作用范围在for循环内(),出了for循环就无效了
​
        int num=1;
        for(System.out.println("a");num<=3;System.out.println("c"),num++){
            System.out.println("b");
            }
        //结果:a b c b c b c 
​
        //例题:遍历100以内的偶数,输出所有的偶数和,和偶数的个数
        int sum=0; //记录所有的偶数和
        int count=0;//记录偶数的总个数
        for(int i=1;i<=100;i++){
            if(i%2==0){
            System.out.println(i);
            sum+=i;
            count++;
            }
        }
        System.out.println(sum);//2550
        System.out.println(count);//50

while循环结构

一,循环结构的四个要素 1.初始条件 2.循环条件 -->boolean类型 3.循环体 4.迭代条件二,while循环的结构 1. while(2){ 3; 4; }

执行过程:1--2--3--4--2--3--4--2--3--4--2

说明:1.写while循环千万不要丢了迭代条件。一旦丢了就成了死循环2.我们写程序,要避免出现死循环3.for循环和while循环是可以相互转化的 区别:for循环和while循环的初始化条件的作用范围不同

算法:有限性

//遍历100以内的所有的偶数
        int i=1;
        while(i<=100){
            if(i%2==0){
            System.out.println(i);//
            }
            i++;
        }
        System.out.println(i);//101

do-while循环结构

1.初始条件2.循环条件 -->boolean类型3.循环体4.迭代条件

1do{ 3; 4;}while(2);

执行过程:1--3--4--2--3--4--2--3--4-.....-2

说明:1.do--while循环至少会执行一次循环体2.在开发中,使用for和while更多一些。较少使用do-while

//遍历100以内的偶数,并计算所有偶数的和及所有偶数的个数
​
        int i=1;
        int sum=0;
        int count=0;
        do{
            if(i%2==0){
            System.out.println(i);
            sum+=i;
            count++;
            }
            i++;
        }while(i<=100);
        System.out.println("所有的偶数的和:"+sum);//2550
        System.out.println("所有的偶数的个数:"+count);//50

说明:1.不在循环条件限制次数的结构:for(;;)或while(true)2.结束循环有几种方式? 方式一:循环条件部分返回false 方式二:在循环体中,执行break

嵌套循环的使用

1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环2.外层循环:循环结构B内层循环::循环结构A3.说明 1.内层循环结构循环一遍,相当于外层循环循环体执行一次 2.假设外层循环执行m次,内层循环执行n次。此时内层循环提一共执行了 m*n次

    /*要求:输出效果:
            ******
            ******
            ******
            ******
        */
​
        for(int i=1;i<=4;i++){
            for(int j=1;j<=6;j++){
            System.out.print("*");
            }
            System.out.println();
        }

质数的练习(优化和不优化的例子)

break和continue关键字的使用

​ 使用范围 循环中使用的作用(不同点) 相同点

break switch-case 结束当前循环 关键字后面不能声明执行语句 循环结构中

continue 循环结构中 结束本次循环 关键字后面不能声明执行语句

​
        for(int i=1;i<=10;i++){
            if(i%4==0){
                
            //break; //123
            continue; //123567910
            }
            System.out.println(i);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值