Java流程控制简单应用

    科技2024-10-30  14

    流程控制的分类,分支结构,循环语句

    一、分支结构

    (1)单分支条件判断语句

    if ( 条件 ) { 代码 ; } 只判断if后面小括号内的条件是否成立,如果成立,则执行代码块,不成立则跳出分支,

    举例:

    public class QuIfElse03 { public static void main(String[] args){ int Num1 = 20,Num2 = 82; if(Num1 + Num2 >= 50){ System.out.print("hello world"); } } }

    (2)双分支

    判断if后面小括号内的条件是否成立,如果成立,则执行代码块1,不成立则执行代码块2, if( 条件 ){ 代码 1 ; } else { 代码2; }

    举例:

    public class QuIfElse04 { public static void main(String[] args){ double Num1 = 79.5,Num2 = 16.7; if(Num1 > 10.0 && Num2 < 20.0){ System.out.print("Num1+Num2="+(Num1+Num2)); }else{ System.out.print("Num1*Num2="+(Num1*Num2)); } } }

    (3)多分支 判断if后面小括号内的条件是否成立,成立则执行该条件下的代码,只要有一个条件成立,就结束分支,进行输出,

    if(条件){ 代码1; } else if{ 代码2 ; } else if { 代码3; }...else { 代码N; }

    举例;

    import java.util.Scanner; public class QuIfElse05 { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("请输入狗的年龄:"); int age = input.nextInt(); if(age<=2 && age >0){ System.out.print("你家狗的年龄相当于人类"+(10.5*age)+"岁了。"); }else if(age>2) { System.out.print("你家狗的年龄相当于人类"+(21+(age-2)*4)+"岁了。"); }else{ System.out.print("你输入的年龄不符合要求,请输入人一个大于零的年龄"); } } }

    2.switch语句 switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

    swich (算数表达式) { case 常量1: 代码1; break;

    举例:

    import java.util.Scanner; public class QuSwitchCase08 { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("请输入您的成绩:"); int score = input.nextInt(); switch(score/10){ case 0: case 1: case 2: case 3: case 4: case 5: System.out.print("您的成绩不合格"); break; case 10: case 9: case 8: case 7: case 6: System.out.print("您的成绩合格"); break; } } }

    3.嵌套分支

    if(1){ if (2){ } switch(3){ } } ★多个变量构成复杂条件,建议用嵌套分支,一层只负责一个变量构建的条件 注意:只有外层 条件1 成立true,才能进行内层 条件2 的判断。

    4.了解循环语句

    概念:重复操作 四要素: 1、循环变量的声明和初始化 2、循环条件的构建 3、循环体 4、循环变量的更新

    使用循环解决问题的步骤

    1、是否存在重复操作 2、如果存在,确定四要素 3、选择循环结构,套用语法 while 和 do ...while 循环次数不确定 while先判断后执行 do ...while 先执行后判断 for 循环次数确定 4、确认循环是否正常结束 循环语句: while(条件){ 循环体; } do{ 循环体; }while(条件); for ( 循环变量的声明和初始化 ; 条件 ; 循环变量的更新 ) { 循环体; } 循环跳转语句 continue; 结束本次循环,进入下一次循环 break; 结束循环

    // 九九乘法表

    public class LJ05 { public static void main(String[] args) { for(int i = 1 ; i < 10 ; i++ ){ for(int j = 1 ; j <= i ; j++ ) { System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.println(); } } }

    //年历

    public class LJ05 { public static void main(String[] args) { int total = 1, year = 2016; final int BEGIN = 1900; //累计整数年; for (int i = BEGIN; i < year; i++) { total += (i % 4 == 0 && i % 100 != 0) || i % 400 == 0 ? 366 : 365; } //控制月份 for (int i = 1, day = 0; i <= 12; i++) { System.out.println(MessageFormat.format("\n\n{0}年{1}月:",year, i)); System.out.println("日\t一\t二\t三\t四\t五\t六"); for (int j = 1; j <= total % 7; j++) { System.out.print("\t"); } switch (i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; case 2: day = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 29 : 28; break; } for (int j = 1; j <= day; j++) { System.out.print(j + "\t"); if (total++ % 7 == 6) System.out.println(); } } }
    Processed: 0.028, SQL: 8