第四章 流程控制

条件语句

if语句

if条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一钟情况下执行另外的语句.

例题4.1

package 课本;

public class 例p58 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int phoneNumber = 123456789;					//创建变量,保存电话号码
		if(phoneNumber != 84972266) {					//如果此电话号码不是84972266
			System.out.println("对不起,您拨打的号码不存在!"); //提示号码不存在
		}
	}
}

第四章 流程控制_第1张图片

第四章 流程控制_第2张图片 

 

if...else语句 

if...else语句是条件语句中最常用的一种形式,它会针对某种条件有有选择的做出处理.

例题4.2

package 课本;
public class 例p59 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int password = 987654321;					//密码值
		if(123456789 == password) {					//如果密码是123456789
			System.out.println("密码正确,欢迎登录");	//密码正确的提示
		}else {										//否则
			System.out.println("密码错误,拒绝登录");	//密码错误的提示
		}
	}
}

第四章 流程控制_第3张图片

第四章 流程控制_第4张图片 

 

 if...else if多分支语句

用于处理多种情况,通常表现为"如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理."

例题4.3

package 课本;
public class 例p60 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("欢迎光临,请问有多少人就餐?");			 //输出问题提示
		int count = 9;										 //用餐人数
		System.out.println("回答: " + count + "人");			 //输出回答
		if(count <= 4) {									 //如果人数小于4人
			System.out.println("客人请到大厅4人桌用餐"); 		 //请到4人桌
		}else if(count > 4 && count <= 8) {					 //如果人数在4~8人
			System.out.println("客人请到大厅8人桌用餐"); 		 //请到8人桌
		}else if(count > 8 && count <= 16) {				 //如果人数在8~16人
			System.out.println("客人请到楼上包间用餐"); 			 //请到包厢
		}else {										//当以上条件都不成立时,执行该语句快
			System.out.println("抱歉,我们店暂时没有这么大的包厢! "); //输出信息
		}
	}
}

第四章 流程控制_第5张图片

 第四章 流程控制_第6张图片

 switch 多分支语句

switch语句中表达式的值必须是整形,字符型,字符串类型或枚举类型,常量值1~n的数据类型必须与表达式的值的类型相同

例题4.4

import java.util.Scanner;//引入Scanner类
public class Grade {
 public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);//创建扫描器,接收控制台输入的内容
 System.out.print("请输入成绩:");//输出字符串
 int grade = sc.nextInt();//获取控制台输入的数字
 switch (grade) {//使用switch判断数字
 case 10://如果等于10,则继续执行下一行代码
 case 9://如果等于9
 System.out.println("成绩为优");//输出“成绩为优”
 break;//结束判断
 case 8://如果等于8
 System.out.println("成绩为良");//输出“成绩为良”
 break;//结束判断
 case 7://如果等于7
 case 6://如果等于6
 System.out.println("成绩为中");//输出“成绩为中”
 break;//结束判断
 case 5://如果等于5,则继续执行下一行代码
 case 4://如果等于4,则继续执行下一行代码
 case 3://如果等于3,则继续执行下一行代码
 case 2://如果等于2,则继续执行下一行代码
 case 1://如果等于1,则继续执行下一行代码
 case 0://如果等于0,则继续执行下一行代码
  System.out.println("成绩为差");//输出“成绩为差”
  break;//结束判断
 default://如果不符合以上任何一个结果
  System.out.println("成绩无效");//输出成绩无效
 
  }
sc.close();
 }

}

第四章 流程控制_第7张图片

 第四章 流程控制_第8张图片

 循环语句

while 循环语句

while 语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句.

例题4.5

package 课本;
import java.util.Scanner;
public class 例p62上 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int x = 1;										//从一开始
		int sum = 0;									//相加的结果
		while(x <= 1000) {								//循环1000次
			sum = sum + x;								//sum与之前计算的和相加
			x++;										//每次循环后的x的值+1
		}
		System.out.println("sum = " + sum);				//输出最终相加的结果
    }
}

第四章 流程控制_第9张图片

第四章 流程控制_第10张图片 

 do...while循环语句

do...while循环语句与while循环语句类似,do...while循环为先执行一次循环后在判断是否成立.

例题4.6

package 课本;
import java.util.Scanner;
public class 例p62上 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);			//创建扫描器,获取控制台输入的值
		int password;									//保存用户输入的密码
		do {						
			System.out.println("请输入6位数字密码:");		//输出提示
			password = sc.nextInt();					//将用户在控制台输入的密码记录下来
		}while(931567 != password);						//如果用户在控制台输入的密码不是931567则继续执行循环
		System.out.println("登录成功");					//提示循环结束
		sc.close();										//关闭扫描器
	}
}

第四章 流程控制_第11张图片

 第四章 流程控制_第12张图片

 for循环

for循环语句可以用来重复执行某条语句,直到某个条件得到满足.

例题4.7

package 课本;
public class 例p65 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum = 0;
		for(int i = 2;i <= 100;i+=2) {
			sum = sum + i;
		}
		System.out.println("2到100之间的所有偶数之和为: " + sum);
	}
}

 第四章 流程控制_第13张图片

 foreach语句

为for循环的简化版本,

例题4.8

package 课本;
public class 例p66 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int arr[] = {5,13,96};										//一堆整型数值
		System.out.println("一堆数组中的元素分别为: ");
		//x的类型与arr元素的类型相同.for循环依次取出arr中的值并赋值给x
		for(int x : arr) {
			System.out.println(x);									//输出遍历出的元素值
		}
	}
}

第四章 流程控制_第14张图片

 第四章 流程控制_第15张图片

 循环控制

break语句

break语句跳出当前循环.

例题4.9

package 课本;
public class 例p67 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i = 1;i < 20;i++) {
			if(i % 2 == 0) {						//如果i是偶数
				System.out.println(i);				//输出i的值
				break;								//结束循环
			}
		}
		System.out.println("---end---");			//结束时输出一行文字
	}
}

 第四章 流程控制_第16张图片

 例题4.10

package 课本;
public class 例p68 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i = 1;i <= 3;i++) {								//外循环
			for(int j = 1;j <= 5;j++) {							//内循环
				if(j == 4) {									//内层循环至第4次时就结束
					break;
				}
				System.out.println("i=" + i + "j=" + j);
			}
		}
	}
}

第四章 流程控制_第17张图片

 第四章 流程控制_第18张图片

 continue语句

continue不是立即跳出本次循环,而是跳过本次循环,回到循环的条件测试部分,重新开始执行循环.

例题4.11

package 课本;
public class 例p69 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i = 1;i <= 20;i++) {
			if(i % 2 == 0) {				//如果i是偶数
				continue;     				//跳到下一循环
			}
			System.out.println(i);			//输出i的值
		}
	}
}

 第四章 流程控制_第19张图片

 总结:

本章主要是学习流程图.

通过if,switch,while,for,语句来理解流程图.

流程图难的地方就是循环的时候判断条件的真假,然后指向.

你可能感兴趣的:(java,开发语言)