Java笔记之程序控制结构(四)

一、程序控制介绍

程序运行的流程控制决定程序是如何执行的,其主要分为三种

  1. 顺序控制
  2. 分支控制
  3. 循环控制

二、顺序控制

顺序控制顾名思义程序是按从上到下顺序逐行地执行,中间没有任何判断和跳转。

int a = 1;
int b = a+1;	//正确

int b = c+1;	//错误
int c = 1;		

三、分支控制

1.单分支( if )
基本格式:
if(条件表达式){
  代码块1;
}
说明:当条件表达式为真(true)时则执行代码块1的内容

if (2>1) {
	System.out.println("2比1大!");		
}	

2.双分支( if-else )
基本格式:
if(条件表达式){
  代码块1;
}else{
  代码块2;
}
说明:当条件表达式为真(true)时则执行代码块1的内容,否则执行代码块2的内容。

if (2>1) {
	System.out.println("2比1大!");		
}else{
	System.out.println("1比2大!");		
}	

3.多分支( if-else if-…-else )
在一个分支结构中又完整的嵌套了另一个完整的分支结构,以此类推。
基本格式:
if(条件表达式){
  if()…else…;
}else{
  if()…else…;
}

if (2>1) {
	if (3>1) {
		System.out.println("2和3比1大!");		
	};		
}else{
	System.out.println("1比2大!");		
}	

4.switch分支结构
基本格式:
switch(表达式){
  case 常量1:
  语句1;
  break;
  …
  case 常量n:
  语句n;
  break;
  default:
  default语句块;
  break;
}
说明:

  • 当表达式中的值等于常量1时则执行语句1,break退出switch
  • 当表达式中的值不等于常量1时则匹配常量2,以此类推
  • 当表示不等于 常量1到n中任意一个值时,则执行default语句块,break退出switch
import java.util.Scanner;

public class test{
	public static void main(String[] args) {
		Scanner x = new Scanner(System.in);
		System.out.println("请输入数字1-3");
		int y = x.nextInt();
		switch(y){
			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循环
基本格式:
for(初始化变量;循环条件;循环变量迭代){
  循环操作代码块;
}

注意事项:

  • 循环条件是返回一个布尔值的表达式
  • for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略
  • 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代 语句,中间用逗号隔开。
//执行了三次循环
for(int count=0,i=0,j=0;count<3;count++,i++,j += 2){
	System.out.println("i="+i);	//0 1 2 
	System.out.println("j="+j);	//0 2 4
}

2.while循环
基本格式:
while(循环条件){
  循环操作代码块;
  循环变量迭代;
}

注意事项:

  • 循环条件是返回一个布尔值的表达式
  • while 循环是先判断再执行语句
  • 一定要有循环变量迭代,否则就会变成死循环
//输出1-10中能被2整除的数
int i = 1;
while(i<=10){
	if (i%2==0){
		System.out.println(i);	//2 4 6 8 10
	}
	i++;
}

3.do…while循环
基本格式:
do {
  循环操作代码块;
  循环变量迭代;
}while(循环条件);

注意事项:

  • 循环条件是返回一个布尔值的表达式
  • do…while 循环是先执行,再判断, 因此它至少执行一次(注意)
  • 一定要有循环变量迭代,否则就会变成死循环
//输出1-10中能被2整除的数
int i = 1;
do{
	if (i%2==0){
		System.out.println(i);
	}
	i++;
}while(i<=10);

4.练习题
打印九九乘法表

for (int i=1;i<=9 ;i++ ) {
	for (int j=1;j<=i ;j++ ) {
		System.out.print(i+"*"+j+"="+i*j+"\t");
	}
	System.out.println("");
}
/*
打印九九乘法表
1*1=1
2*1=2   2*2=4
3*1=3   3*2=6   3*3=9
4*1=4   4*2=8   4*3=12  4*4=16
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81
		 */

五、循环中break和continue的使用

  1. break:退出循环结构,一般使用在 switch 或者循环[for , while , do-while]中。
for (int i=1;i<10;i++ ) {
	if (i==5) {
		break;
	}else{
		System.out.println(i);	//1 2 3 4
	}
}
  1. continue:结束循环结构中本次的循环,继续下一次循环。
for (int i=1;i<10;i++ ) {
	if (i==5) {
		continue;
	}else{
		System.out.println(i);	//1 2 3 4 6 7 8 9
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王博1999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值