第三章 java流程控制总结

3.1 程序结构

3.2条件语句

3.2.1 if 条件语句

if条件语句主要用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字f之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为 false,则不执行f条件之后的语句。if条件语句可分为简单的if条件语句、if...else语句和 if...else if多分支语句。

例3.1

public class li3_4 {

	public static void main(String[] args) { //主函数
		// TODO Auto-generated method stub
		if (true)//让判断条件为真
			System.out.println("我没有使用大括号");//输出
		if (true)//让判断条件为真
            System.out.println("我使用大括号");//输出
}
	}

例3.2

import java.util.Scanner;
public class li3_4 {

	public static void main(String[] args) { //主函数
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);            
		  System.out.println("请输入要拨打的电话号码:");
		  int phoneNumber = in.nextInt();
		  if (phoneNumber != 84972266)312312
		    System.out.println("对不起,您拨打的号码不存在");
	}
}

2.if...else语句


if...else语句是冬件语句中最常用的一种形式,它会针对某种处理, 否则就进行另一种处理。

例3.3

public class li3_4 {

	public static void main(String[] args) { //主函数
		// TODO Auto-generated method stub
		int math = 95;//定义math
		  int english = 56;//定义english
		  if (math > 60)  {//判断条件
		   System.out.println("数学及格了");//输出
		  } else {
		   System.out.println("数学没有及格");//输出
		  }
		  if(english > 60) {//判断条件
		   System.out.println("英语及格了");//输出
		  } else {
		   System.out.println("英语没有及格"); //输出
		  }
	}
}

3.if...else if 多分支语句

例3.4

public class li3_4 {

 public static void main(String[] args) { //主函数
  // TODO Auto-generated method stub
int x = 20 ;//定义x等于20
if (x > 30) {//判断变量是否大于30
 System.out.println("a的值大于30");//条件成立的输出信息
}else if (x > 10){//判断变量是否大于10
 System.out.println("a的值大于10,但小于等于30");//条件成立的输出信息
}else if (x > 0) {//判断变量是否大于0
 System.out.println("a的值大于0,但小于等于10");//条件成立的输出信息
}else {
 System.out.printf("a的值小于等于0");//条件成立的输出信息
}
 }

}

4.if 语句的嵌套

例3.5

import java.util.Scanner;
public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		 int iYear;//定义
		  Scanner sc = new Scanner(System.in);//使用Scanner
		  System.out.println("please input number");//输出
		  iYear = sc.nextInt();//定义值
		  if(iYear % 4 == 0)  {//判断语句
		   if(iYear % 100 == 0)  {//判断语句
		    if(iYear % 400 == 0)//判断语句
		     System.out.println("It is a leap year");//输出结果
		    else
		     System.out.println("It is not a leap year");//输出结果
		   }else
		    System.out.println("It is a leap year");//输出结果
		  }else
		   System.out.println("It is not a leap year");//输出结果
		 }

		}

 例3.6

import java.util.Scanner;
public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		int iyear;  //创建整形变量,保存输入的年份
		  Scanner sc=new Scanner(System.in);//创建扫描器
		  System.out.println("please input number");
		  iyear = sc.nextInt();//控制台输入一个数字
		  //如果iyear可以被4整除并且不能被100整除,或者iyear可以被400整除
		  if(iyear%4 ==0&&iyear % 100 != 0||iyear%400 == 0)
		   System.out.println("It is a leap year");//是闰年
		  else
		   System.out.println("It is not a leap year"); //不是闰年
		   
		 }

		}

3.2.2 switch 多分支语句

例3.7

int week = 2; //定义int型变量week
  switch (week){//指定switch语句的表达式为变量week 
  case 1: //定义case语句中的常量为1
  System.out.println("Monday");// 输出信息 break;
  case 2:// 定义case语句中的常量为2
  System.out.println("Tuesday"); break;
  case 3:// 定义case语句中的常量为3
  System.out.println("Wednesday"); break;
  case 4: // 定义case语句中的常量为4
  System.out.println("Thursday"); break;
  case 5://定义case语句中的常量为5
  System.out.println("Friday");break; 
  case 6:// 定义case语句中的常量为6
  System.out.println("Saturday"); break;
  case 7:// 定义case语句中的常量为7
  System.out.println("Sunday"); break;
  default: // default语句,如果week不是1~7之间的数字,则执行此行代码
  System.out.println("Sorry,I don't Know");
  }
  }
}

例3.8

import java.util.Scanner;
public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		  Scanner sc = new Scanner(System.in);//使用Scanner
		  System.out.println("请输入成绩:");//输出
		  int grade = sc.nextInt();//定义值
		  switch (grade) {//判断语句
		  case 10:
		  case 9:System.out.println("成绩为优");break;//输出结果
		  case 8:System.out.println("成绩为良");break;//输出结果
		  case 7:
		  case 6:System.out.println("成绩为中");break;//输出结果
		  case 5:
		  case 4:
		  case 3:
		  case 2:
		  case 1:
		  case 0:System.out.println("成绩为差");break;//输出结果
		  default: System.out.println("成绩无效");//输出结果
	}
		 }

		}

 例3.9

import java.util.Scanner;
public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		String str="明日科技";
		switch (str) {
		case "明日": //定义case中的常量1
			System.out.println("明日图书网www.mingribook.com");//输出信息
			break;
		case"明日科技"://定义case中的常量2
		System.out.println("吉林省明日科技有限公司");//输出信息
		break;
		default://default语句
			System.out.println("以上条件都不是。");//输出信息
			
		}
		 }

		}

3.3 循环语句

循环语句就是在满足一定条件的情况下反复执行某一个操作。在Java中提供了4种常用的循环
语句,分别是while语句、do...while语句、for语句和foreach语句,其中,foreach语句是for语句的
特殊简化版本。

3.3.1 while循环语句

 例3.10

public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		int x = 1;//定义赋值
		int sum = 0;//赋值
		while (x <= 10) {//循环体
			sum = sum + x;//执行语句
			x++;
		}
			System.out.println("sum =" + sum);//输出信息
			
		}

		}

3.3.2 do...while 循环语句

例3.11

public class disanzhang {

 public static void main(String[] args) { //主函数
  // TODO Auto-generated method stub
  int a = 100;//定义a等于100
  while (a == 60)// 指定进入循环语句
  {
  System.out.println("ok1");//while循环执行语句
  a--;
  }
  int b = 100;//定义b等于100
  do {
   System.out.println("ok2");//do...while执行语句循环体
   b--;//
  } while (b == 60);//指定循环结束条件
 }
}

 

例3.12

public class li3_4 {

 public static void main(String[] args) { //主函数
  // TODO Auto-generated method stub
  int i=0, j=0;//定义i,j的值
  System.out.println("before do_while j=" + j);//输出
  do {//执行语句
  j++;
  } while (i > 1);//判断语句
  System.out.println("after do while j=" + j);//输出
}
 }

 例3.13 

public class li3_4 {

 public static void main(String[] args) { //主函数
  // TODO Auto-generated method stub
  int i=0, j=0;//定义i,j的值
  System.out.println("before do_while j=" + j);//输出
   while (i > 1){//判断语句
    j++;//执行语句
   }
  System.out.println("after do while j=" + j);//输出
}
 }

3.3.4 for循环语句

例3.14

public class li3_4 {

	public static void main(String[] args) { //主函数  
		// TODO Auto-generated method stub
		int sum = 0 ;//赋值
		int i; //赋值
		for (i = 1; i <= 100; i++) {//循环体
			sum += i; //赋值
		}
		    System.out.println("the result :" + sum);//输出结果
}
}

3.3.5 foreach语句

 例3.15

public class li3_4 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int arr[]={7,10,1 }; //声明一维数组 
		System.out.println("一维数组中的元素分别为:"); //输出信息 
		for (int x:arr){      //foreach语句,intx引用的变量,arr指定要循环遍历的数组最后将x输出
		System.out.println(x);   //输出X的值
		}
	}
 
	}

3.3.6 循环语句的嵌套

 例3.16

public class li3_4 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i, j; //创建两个整型变量
		for (i=1;i<10;i++){ //输出9行
		for (j=1;j<i+1;j++){ //输出与行数相等的列
		System.out.print(j + "*" + i + "=" + i * j + "\t");  //输出j*i的值,
		}
		System.out.println(); //换行
		}
	}
 
	}

3.4 跳转语句 

跳转语句包含两方面的内容,一方面是控制循环变量的变化方式,也就是让循环判断中的逻辑关系表达式变成false,从而达到终止循环的效果;一方面是控制循环的跳转。控制循环的跳转需要用到break和continue两个关键字,这两条跳转语句的跳转效果不同,break是中断循环,continuc是直接执行下一次循环。

3.4.1 break语句

例3.17

public class li3_4 {

	public static void main(String[] args) { //主函数  
		for (int i = 1; i < 20; i++) {//循环体语句
			if (i % 2 == 0) {//判断语句
				System.out.println(i);//输出语句
				break;
			}
		}
			System.out.println("---end---");//输出信息
			
		}

		}

 例3.18

public class li3_4 {

	public static void main(String[] args) { //主函数  
		for (int i = 0; i < 3; i++) {//循环体语句
			for (int j = 0; j < 6; j++) {//循环体语句
			if ( j == 4) {//判断语句
				break;
			}
				System.out.println("i+" + i + "j" + j);//输出语句
				
			}
			}
		}

		}

 例3.19

public class li3_4 {

	public static void main(String[] args) { //主函数  
		Loop:for (int i = 0; i < 3; i++) {//在for循环前用标签标记
			for (int j = 0; j < 6; j++) {//循环体语句
			if ( j == 4) {//判断语句
				break Loop;//跳出Loop标签标记的循环体
			}
				System.out.println("i+" + i + "j" + j);//输出语句
				
			}
			}
		}

		}

3.4.2 continue 语句

 例3.20

public class li3_4 {

	public static void main(String[] args) { //主函数  
	for (int i = 1; i < 20; i++) {//循环体语句
			if ( i % 2 != 0) {//判断语句
				continue;//跳到下一循环
			}
				System.out.println(i);//输出语句
				
			}
			
		}

		}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值