三种流程控制语句
一、顺序结构
从上到下依次执行
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.计算关系表达式的值,看结果是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");
}
}
}
3、switch语句
package Test3;
import java.util.Scanner;
/*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则结束;
*/
public class SwitchDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("只能输入1,2,3:");
int a = sc.nextInt();
switch(a){
case 1:
System.out.println("你");
break;
case 2:
System.out.println("好");
break;
case 3:
System.out.println("呀");
break;
default:
System.out.println("输入错误,请重新输入");
break;
}
}
}
三、循环结构
1、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);
}
}
2、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);
}
}
3、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);
}
}