java流程控制语句

    xiaoxiao2023-11-17  134

    流程控制语句结构

    流程控制语句结构分为:

    1、顺序结构:从上到下依次执行

    2、分支结构:多个分支选择其中一个分支执行

    3、循环结构:重复执行某些代码

    顺序结构

    执行过程:从上到下顺序执行

    输出语句

    1、System.out.print(输出内容);     输出内容后不换行

    2、System.out.println(输出内容);     输出内容后换行

    #输出常量 System.out.print(1); System.out.print('尚'); System.out.print(44.4); System.out.print(true); System.out.print("尚硅谷");

    #输出变量 int a = 1; char c = '北'; double d = 44.2; boolean b = true; String school = "北大"; System.out.print(a); System.out.print(c); System.out.print(d); System.out.print(b); System.out.print(school);

    #输出拼接结果 System.out.print("a = " + a); System.out.print("c = " + c); System.out.print("d = " + d); System.out.print("b = " + b); System.out.print("school = " + school);

    输入语句

    键盘输入代码的三个步骤:

    1、准备Scanner类型的变量

    2、提示输入xxx

    3、接收输入内容

    示例代码:

    //1、准备Scanner类型的变量

    import java.util.Scanner; Scanner input = new Scanner(System.in);//System.in代表键盘输入

    //2、提示输入xx System.out.print("请输入一个整数:");

    //3、接收输入内容 int num = input.nextInt();

    //列出各种数据类型的输入 int num = input.nextInt(); long bigNum = input.nextLong(); double d = input.nextDouble(); boolean b = input.nextBoolean(); String s = input.next(); char c = input.next().charAt(0);//先按照字符串接收,然后再取字符串的第一个字符(下标为0)

    分支结构

    分支结构:根据条件选择性的执行某些代码

    分为:

    1、条件判断:if...else系列

    2、选择结构:switch...case系列

    if(条件表达式){     当条件表达式成立时需要执行的语句块; }

    执行过程:

    条件成立,就执行{}其中的语句块,不成立就不执行。

    注意:

    (1)if(条件表达式)中的条件表达式的结果必须是boolean类型

    (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{}

    //省略{}的情况         if(score<0 || score>100)             System.out.println("输入有误!");//简单的语句         else             //复合语句             if(score==100){                 System.out.println("满分");             }else if(score>=80){                 System.out.println("优秀");             }else if(score>=60){                 System.out.println("及格");             }else{                 System.out.println("不及格");             }

    示例代码:

    int year = 2020; int day = 26; if(year%4==0 && year0!=0 || year@0==0){     day = 29; }

    双分支结构

    语法格式:

    if(条件表达式){     当条件表达式成立(true)时需要执行的语句块1; }else{     当条件表达式不成立(false)时需要执行的语句块2; }

    执行过程:

    当条件表达式成立(true)时执行语句块1,否则执行语句块2

    注意:

    (1)if(条件表达式)中的条件表达式的结果必须是boolean类型

    (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{}

    示例代码:

    int num = 15; if(num%2==0){     System.out.println(num + "是偶数"); }else{      System.out.println(num + "是奇数"); }

    多分支结构

    语法格式:

    if(条件表达式1){     当条件表达式1成立的时候,执行的语句块1; }else if(条件表达式2){     当条件表达式1不成立,       条件表达式2成立的时候,执行的语句块2; }else if(条件表达式3){     当条件表达式1不成立,        条件表达式2也不成立,       条件表达式3成立的时候,执行的语句块3; }else{     当以上所有的条件表达式都不成立,需要执行的语句块n+1; }

    执行过程:

    (1)多个条件顺序往下判断,如果上面有一个条件成立了,下面的条件就不看了

    (2)多个分支也只会执行其中的一个

    注意:

    (1)每一个条件表达式都必须是boolean值

    (2)当{}中只有一个语句时,也可以省略{},但不建议省略

    (3)当多个条件是“互斥”关系(没有重叠部分),顺序可以随意;当多个条件是“包含”关系(有重叠部分),顺序不能随意,小的在上,大的在下面.

    示例代码:

    int score = 88;             if(score==100){                 System.out.println("满分");             }else if(score>=80){                 System.out.println("优秀");             }else if(score>=60){                 System.out.println("及格");             }else{                 System.out.println("不及格");             }

    嵌套

    执行过程:

    当嵌套在if中,就是当外面的if成立时,才会看里面的条件判断;

    当嵌套在else中,就当外面的else满足时,才会看里面的条件判断;

    选择结构

    语法格式:

    switch(表达式){     case 常量值1:         语句块1;         break;     case 常量值2:         语句块2;         break;  .........    default:         语句块n+1;         break; }

    执行过程:

    (1)入口

    ①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;

    ②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;

    (2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”

    (3)出口

    ①自然出口:遇到了switch的结束}

    ②中断出口:遇到了break等

    注意:

    (1)switch(表达式)的值的类型,只能是:4种基本数据类型,两种引用数据类型

    (2)case后面必须是常量值,而且不能重复

    循环结构

    循环结构:

    “重复”执行某些代码

    循环结构的分类:

    1、for循环

    2、while循环

    3、do...while循环

    for循环

    语法格式:

    for(;;){     循环体语句块;     if(条件表达式){         break;     } } for(初始化表达式; 循环条件; 迭代表达式){     循环体语句块; }

    执行过程:

    (1)初始化表达式;

    (2)判断循环条件;

    (3)如果循环条件成立,先执行循环体语句块;然后执行迭代表达式,再回到(2)...

    (4)如果循环条件不成立,会结束for;

    或者在当前循环中遇到break语句,也会结束当前for循环;

    注意:

    (1)for(;;)中的两个;不能多也不能少

    (2)循环条件必须是boolean类型

    //遍历1-100之间的偶数 for(int i=1; i<=100; i++){//每次循环的步幅是1     if(i%2==0){         System.out.println(i);     } }

    while循环

    语法格式:

    while(循环条件){     循环体语句块; }

    经典的形式: while(true){     循环体语句块;     if(条件表达式){         break;     } }

    执行过程:

    (1)先判断循环条件

    (2)如果循环条件成立,就执行循环体语句块;然后回到(1)

    (3)如果循环条件不成立,就结束while循环;

    如果在循环体语句块中,遇到break,也会结束while循环;

    注意:(1)while(循环条件)中循环条件必须是boolean类型

    示例代码:

    //遍历1-100之间的偶数 int num = 2; while(num<=100){     System.out.println(num);     num+=2; }

    do...while循环

    语法格式:

    do{     循环体语句块; }while(循环条件);

    执行过程:

    (1)先执行一次循环体语句块;

    (2)判断循环条件

    (3)如果循环条件成立,再次执行循环体语句块;然后回到(2)...

    (4)如果循环条件不成立,就结束do...while循环;

    如果在循环体语句块中,遇到break,也会结束do...while循环;

    注意:

    (1)while(循环条件)中循环条件必须是boolean类型

    (2)do{}while();最后有一个分号

    (3)do...while结构的循环体语句是至少会执行一次,这个和for和while是不一样的

    示例代码:

    //从键盘输入整数,统计正数、负数的个数,输入0结束

    import java.util.Scanner; Scanner input = new Scanner(System.in);

    int num; int zheng = 0; int fu = 0; do{     System.out.print("请输入整数(0结束):");     num = input.nextInt();          if(num > 0){         zheng++;     }else if(num < 0){         fu++;     } }while(num!=0);

    System.out.println("正数的个数:" + zheng); System.out.println("负数的个数:" + fu);

    三种循环的选择

    原则:三种循环之间是可以互相转换的,都能实现循环的功能

    建议(习惯上):当我们次数比较明显的时候,或者说从几循环到几的时候,一般先考虑for;

    当循环体语句块至少要执行一次的时候,一般先考虑do...while;

    当循环条件比较明显,但是次数不明显,循环体语句块也不是至少执行一次,那么可以考虑while结构;

    三种循环结构都具有四要素:

    (1)循环变量的初始化表达式

    (2)循环条件

    (3)循环变量的修改的迭代表达式

    (4)循环体语句块

    跳转语句

    1、break

    用于:(1)switch结构

    作用:结束switch结构

    (2)循环结构

    作用:结束当前循环

    2、continue 只能用于循环结构

    作用:提前结束本次循环,继续下一次循环

     

     

     

     

    最新回复(0)