第三章 流程控制 总结

3.1 程序结构

结构化程序设计分为:顺序结构、选择结构和循环结构,是各种复杂程序的基本构造单元。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5LiRMjUz,size_20,color_FFFFFF,t_70,g_se,x_16

3.2 条件语句

3.2.1 if 条件语句

1.简单的if语句

if (布尔表达式){

语句

}

  • 布尔表达式:最后返回结果必须是一个布尔值,它可以是一个单纯的布尔变量或常量也可以是表达式。
  • 语句:当语句序列中只有一条语句时可以省略{}

 例3.1

public class 三1 {
public static void main (String args []) {
if (true)//让判断条件永远为真
System.out.println("我没有使用大括号");//没有大括号,直接跟在if语句之后
if (true){//让判断条件永远为真
System.out.println("我使用了大括号");}//输出语句在大括号内
    }
}

 例3.2

import java.util.Scanner;
public class 三2 {
public static void main (String args[]) {
Scanner in =new Scanner (System.in);//创建Scanner对象,用于进行输入
System.out.println("请输入要拨打的电话号码:");//输出对用户的提示
int phoneNumber = in.nextInt();//创建变量,保存电话号码
if (phoneNumber != 84972266)//判断此电话是否是84972266
System.out.println("对不起,您拨打的电话不存在!");//如果不是84972266号码,则提示号码不存在
    }
}

Scanner类:可以解析基本数据类型和字符串的文本扫描器

nextInt()方法用来扫描一个值并返回int类型。

 2.if...else语句

if (布尔表达式){

语句1;

}else {

语句2;

例3.3 

public class 三3 {
public static void main(String[] args) {
int math = 95;                         //声明int型变量,并赋初值95
int english = 56;                      //声明int型变量,并赋初值56
if (math > 60) {                       //使用if语句判断math是否大于60
System.out.println("数学成绩及格了");//条件成立时输出的信息
}else {
System.out.println("数学成绩没有及格");//条件不成立时输出的值
}if ( english > 60) {                     //判断英语成绩是否大于60
System.out.println("英语成绩及格了");//条件成立输出的信息
}else {System.out.println("英语成绩没有及格");//条件不成立时输出的值
        }
    }
}

 

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

if (表达式1){

语句1

}

else if (表达式2){

语句2

}

...

else if(表达式n){

语句n

}

例3.4 

public class 三4 {
public static void main (String args []) {//主方法
int x = 20; //声明int型局部变量
if (x > 30) { //判断变量x是否大于30
System.out.println("a的值大于30");//条件成立的输出信息
}else if (x > 10) {//判断变量x是否大于10
System.out.println("a的值大于10");//条件成立的输出信息
}else if (x > 0) {//判断变量x是否大于0
System.out.println("a的值大于0,但小于10");//条件成立的输出信息
}else {//当以上条件都不成立时,执行的语句块
System.out.println("a的值小于10");//输出信息
        }
    }
}

 4. if 语句的嵌套

例3.5 

import java.util.Scanner;
public class 三5 {
	public static void main (String args []) {
		int iYear;                                   //创建整型变量,保存输入的年份
		Scanner sc = new Scanner(System.in);         //创建扫描器
		System.out.println("please input number");   //输出用户提示
		iYear = sc.nextInt();                        //控制台输入一个数字
		if (iYear % 4 == 0) {                        //如果能被4整除
			if (iYear % 100 == 0) {                  //如果能被100整除
				if(iYear % 400 == 0)                 //如果能被400整除
					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 三6 {
	public static void mian (String args []) {
		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

public class 三7 {
	public static void main (String args []) {
		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 三8 {
	public static void main (String args []) {
		Scanner sc = new Scanner(System.in);
		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

public class 三9 {
	public static void main (String args []) {
		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循环语句  

3.3.1while循环语句

例3.10

public class 三10 {
	public static void main (String args []) {
		int x = 1;                        //定义int型变量x,并赋初值1
		int sum = 0;                      //定义变量用于储存相加后的结果
		while (x <= 10) {                 //循环结束条件
			sum = sum + x;                //循环体语句
			x++;                          //同上
		}
		System.out.println("sum="+ sum);   //输出sum 
	}

}

例3.11

public class 三11 {
	public static void main (String ags []) {
		int a = 100;//声明变量a并赋初值100
		while (a == 60)//while循环条件
		{
			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 三12 {
	public static void main (String args []) {
		int i = 0,j = 0;//声明变量i用于判断循环条件,声明变量j
		System.out.println("before do_while j="+ j);//输出循环前的j的值
		do {//do_while循环
			j++;//循环体语句
		}
			while (i > 1);//指定循环结束条件
		System.out.println("after do_while j="+ j);//输出循环后的j的值
	}

}

 

例3.13

public class 三13 {
	public static void main (String args []) {
		int i = 0,j = 0;//声明int型变量i和j并赋值为0
		System.out.println("before while j="+ j);//输出循环前的j的值
		while (i>1) {//while循环
			j ++;//循环体语句
		}
		System.out.println("after while j="+ j);//输出循环后的结果
	
	}

}

例3.14

public class 三14 {
	public static void main (String args []) {
		int sum = 0;//声明int型变量sum储存连加值
		int i;//声明int型变量i
		for (i = 1;i <= 100;i ++) {//for循环
			sum += i;//循环体语句
		}
		System.out.println("the result :"+ sum);//输出循环后的结果
	}

}

例3.15

public class 三15 {                              //创建类Repetition
	public static void main (String args []) {  //主方法
		int arr [] = { 7,10,1};                //声明一堆数组
		System.out.println("一堆数组中的元素分别为:");//输出信息
		for (int x : arr) {//foreach语句,int x引用的变量,arr指定要循环遍历的数组,最后将x输出
			System.out.println(x);
		}
	}

}

例3.16

public class 三16 {
	public static void main (String args []) {
		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");
			}
			System.out.println();//换行
		}
	}

}

例3.17

public class 三17 {
	public static void main (String args []) {
		for (int i = 1; i < 20; i++) {
			if (i % 2 == 0) {//如果i是偶数
				System.out.println(i);//输出i的值
				break;
			}
		}
		System.out.println("---end---");
	}

}

例3.18

public class 三18 {
	public static void main (String args []) {
		for (int i = 1; i < 20; i++) {
			if(i % 2 != 0) {//如果i不是偶数
				continue;//跳到下一循环
			}
			System.out.println(i);//输出i的值
		}
	}
}

 

例3.19

public class 三19 {
	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) {//如果j等于4的时候就结束外层循环
					break Loop;//跳出Loop标签标记的循环体
				}
				System.out.println("i="+i+"j="+j);
			}
		}
	}

}

 

例3.20

public class 三20 {
	public static void main (String args []) {
		for ( int i = 1 ; i < 20; i++) {//定义i,执行语句
			if (i%2 != 0) {//如果i不是偶数
				continue;//跳到下一循环
			}
			System.out.println(i);//输出i的值
		}
	}

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值