java初级——控制流程

本文深入讲解了Java中的控制流程概念,包括条件语句(if...else)、switch语句及循环语句(while、do...while、for)。通过具体示例阐述了每种语句的使用场景和语法特点,并对比了它们之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,在控制流程中我们最先接触到的就是条件语句,其后是循环语句;

1.if条件语句,java中的条件语句和我们平时语言中的“如果...那么”的形式很相近,举一个简单的例子来说:如果明天下雨,那么我们的运动会就临时取消;用代码的方式书写下来就是:

public class Item {
	public static void main(String[] args) {
		if(true) {//true代表明天下雨的事情发生
			System.out.println("运动会取消");
		}
	}
}

另外,我们平时用到的if语句中,有if...else,if...else if...else;当第一个if后面的条件不满足的时候,会依次像后面去寻找自己所需要的条件,直到匹配,则运行对应的语句。

public class Test{
    public static void main(String[] args){
        System.out.println("请输入体重:");
		double weight = sc.nextDouble();
		System.out.println("请输入身高:");
		double heigth = sc.nextDouble();
		double bmi = weight/(heigth*heigth);
		if(bmi<18.5) {
			System.out.println("体重过轻");
		}else if(bmi<24){
			System.out.println("正常范围");
		}
		else if(bmi<27){
			System.out.println("体重过重");
		}
		else if(bmi<30){
			System.out.println("轻度肥胖");
		}
		else if(bmi<35){
			System.out.println("中度肥胖");
		}else {
			System.out.println("过度肥胖");
		}
    }

}
       

其后就是switch,switch语句,其实就是if...else的另外一种表现形式,我们需要 明确switch可以实现和if一样的功能

switch的格式:switch() case:   break;如下面实例:

//缺少主方法和Scanner函数;
int month = sc.nextInt();
		switch (month) {
		case 1:
		case 2:
		case 3:
			System.out.println("春天");
			break;
		case 4:
		case 5:
		case 6:
			System.out.println("夏天");
			break;
		case 7:
		case 8:
		case 9:
			System.out.println("秋天");
			break;
		case 10:
		case 11:
		case 12:
			System.out.println("冬天");
			break;
		}//根据所输入的月份,判断输入的季节;

Switch需要注意的几点问题是:首先每一个表达式结束后都应该有一个break;在switch(num)括号中的参数可以是几种不同的数据类型,如:byte,short,int,String,枚举类型;(String是在java1.7之后才开始支持的,实现原理是把String转化为hash值,其实还是整数);

关于java中的循环语句,如果你想实现从1加到100求和,那么需要一个一个的加吗?在这里循环语句中的while,do...while以及for循环就可以实现,如下例:

public class Test {
	public static void main(String[] args) {
		//用三种循环方式实现1加到100;
		int sum=0, i=1;
		/*for(int i=1;i<101;i++) {//第一种方式
			sum = sum1+i;
		}
		System.out.println("1+2+3..+99+100="+sum);*/
		/*while(i<101) {
			sum +=i;
			i++;
		}*/
		do {
			sum +=i;
			i++;
		}while(i<101);
		System.out.println("1+2+3..+99+100="+sum);
	}
}

do...while和while的区别是:while是先进行性判断再执行,do...while是先执行一次,再进行判断,至少会被执行一次;

另一种用在循环语句 中最多的就是for语句啦,for的格式是:

for(初始值表达式;循环控制表达式;增值表达式)

执行的顺序分别是先执行初始值表达式,若果满足循环控制表达式,那么就执行下面的语句,等到下面的语句都执行完毕后,在执行后面的增值表达式,此时再从初始值表达式往后面执行;下面我们来看一个简单的例子:

public class Item {
	public static void main(String[] args) {
		int sum=0;//定义一个sum,用来存放累加的值
		for(int i=1;i<101;i++) {//先把1给i,i<101满足条件,执行sum=sum+i,之后再执行i++;此时i=2再判断i<101后面一直按着这个顺序执行
			sum = sum+i;
		}
		
		System.out.println("1+2+3..+99+100="+sum);
	}
}

当然,在对于for语句的使用过程中,我们最常会见到break和continue这两个词,那么他们两个有什么意义呢?

对于continue来说,如果程序的执行过程中执行到了这条语句,那么就相当于要跳出这次循环,后面的语句都不会再去执行,直接去开始下次的循环去执行;如下面的例子:

public class Item {
	public static void main(String[] args) {
		for(int i=1;i<10;i++) {
			if(i%2==0) {
				continue;//当i%2为0时,continue后面的语句都不会再执行,本次循环退出
			}
			System.out.print(i+"\t");
		}
	}
}
//输出结果是:1    3    5    7    9

对于break而言,它和continue最大的不同就是结束循环的范围不同,break语句执行完之后,直接结束的是本层循环;例如:

public class Item {
	public static void main(String[] args) {
		for(int i=1;i<10;i++) {
			if(i%2==0) {
				break;//当i%2为0时,break后面的语句都不会再执行,本层循环直接退出
			}
			System.out.print(i+"\t");
		}
	}
}/

break结束的是内层循环,如果我想要结束外层想要结束的那一层循环该怎么办呢,这时候就可以通过设置一个标签来实现

public class Item {
	public static void main(String[] args) {
		for(int i=1;i<10;i++) {
			for(int j=1;j<10;j++) {
				System.out.print(i+":"+j+"\t");
				if(j%2==0) {
					break ;
				}
			}
			System.out.println();
		}
	}
}//输出结果:1:1	1:2	2:1	2:2	3:1	3:2	4:1	4:2	5:1	5:2	6:1	6:2	7:1	7:2	8:1	8:2	9:1	9:2
public class Item {
	public static void main(String[] args) {
		labal:for(int i=1;i<10;i++) {
				for(int j=1;j<10;j++) {
					System.out.print(i+":"+j+"\t");
					if(j%2==0) {
						break labal;
					}
				}
			System.out.println();
		}
	}
}//输出结果:1:1	1:2	

通过设置label,使break结束的位置更加的灵活,可以实现想要结束的任何一层想要结束的位置;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值