三种流程控制语句
顺序结构
1、从上到下依次执行
package Test3; public class OrderDemo { public static void main(String[] args) { System.out.println(1); System.out.println(2); System.out.println(3); } }
顺序输出:1 2 3
选择结构
1、if的第一种
package Test3; /* * if语句第一种: * if(关系表达式){ * 语句体; * } * * 执行流程: * 1.计算关系表达式的值,看结果是true还是flase; * 2.若是true则执行语句体; * 3.若是flase则不执行语句体 * */ public class IfDemo1 { public static void main(String[] args) { int a = 10; int b = 10; if(a>b){ System.out.println("hello"); } System.out.println("..........."); if(a==b){ System.out.println("hello"); } } }
2、if的第二种
package Test3; /* * if语句第二种: * if(关系表达式){ * 语句体1; * }else{ * 语句体2; * } * * 执行流程: * 1.计算关系表达式的值,看结果是true还是flase; * 2.若是true则执行语句体1; * 3.若是flase则执行语句体2 * */ public class IfDemo2 { public static void main(String[] args) { int a = 10; int b = 10; if(a==b){ System.out.println("hello"); }else{ System.out.println("你好"); } System.out.println("............"); if(a>b){ System.out.println("hello"); }else{ System.out.println("你好"); } } }
3、if的第三种
package Test3; /* * if语句第三种: * if(判断条件1){ * 执行语句1; * } else if (判断条件2){ * ... * }else if(判断条件n){ * 执行语句n; * } else { * 执行语句n+1; * } * / * 执行流程: * 1.首先判断表达式1结果是true还是flase; * 2.若是true则执行语句体1; * 3.若是flase继续判断表示式2看结果式true还是false * 4.如果没有任何关系表达式为true,就执行语句体n+1 * *public class IfDemo4 { public static void main(String[] args){ double score=10; String sex="男"; if(score<=10){ System.out.println("进决赛了"); if(sex.equals("男")){ // 用于字符串的比较 System.out.println("进男子组"); }else{ System.out.println("进女子组"); } } } }
选择语句
switch语句
/*switch语句格式: * switch(表达式){ * case 值1: * 语句体1; * break; * case 值2: * 语句体1; * break; * ...... * default: * 语句体n+1; * break; * } * * 注:表达式只可以是 byte,short,int,char;jdk5以后可以是枚举,jdk7以后可以是字符串; * * 执行流程: * 1.计算表达式的值; * 2.将得到的值依次与case后的值进行匹配,一旦匹配成功则执行相应的语句体,遇到break则结束; * 3.若是都不匹配,则执行语句体n+1,遇到break则结束; */
循环结构
for循环
package Test3; /* * for循环语句的格式: * for(初始化语句;判断条件语句;控制条件语句){ * 循环体语句; * } * * 执行流程: * 1.执行初始化语句; * 2.执行判断条件语句; * 3.执行循环体语句; * 4.执行控制条件语句; * 5.回到2在开始执行,直至不符合控制条件语句. * */ public class ForDemo { public static void main(String[] args) { int sum = 0; for(int i=1; i<=10;i++){ sum+=i; } System.out.println("sum:"+sum); } }
while循环
package Test3; /* * while循环语句的格式: * while(判断条件语句){ * 循环体语句; * 控制条件语句; * } * 执行流程: * 1.执行判断条件语句; * 2.执行循环体语句; * 3.执行控制条件语句; * 4.回到1在开始执行,直至不符合控制条件语句. * */ public class WhileDemo { public static void main(String[] args) { int sum = 0; int i = 1; while(i<=10){ sum+=i; i++; } System.out.println("sum:"+sum); } }
do…while循环
package Test3; /* * do...while循环语句的格式: * do{ * 循环体语句; * 控制条件语句; * }while(判断条件语句); * * 执行流程: * 1.执行循环体语句; * 2.执行控制条件语句; * 3.执行判断条件语句; * 4.回到1在开始执行,直至不符合控制条件语句. * */ public class DoWhileDemo { public static void main(String[] args) { int sum = 0; int i = 1; do{ sum+=i; i++; }while(i<=10); System.out.println("sum:"+sum); } }
三种循环体的区别
do…while循环至少可以执行一次循环体,for和while循环只有在判断条件成立才可以执行循环体
for循环结束后初始化的变量不能继续使用,而while循环结束后初始化的变量可以继续使用
package Test3;
/* * for循环与while循环的区别 * */ public class CompareDemo { public static void main(String[] args) { for(int x=1;x<=5;++x){ System.out.println("hello"); } // System.out.println("x:"+x); System.out.println("................."); int y = 1; while(y<=5){ System.out.println("world"); y++; } System.out.println("y:"+y); } }