Java基础篇--循环结构

循环结构效果:顾名思义就是进行循环操作

跳转语句


break:终止当前循环,不会执行后面的循环了;

continue:跳出本次循环,执行下一次循环; 

return:返回当前的需要执行的语句,然后退出循环;

循环结构组成部分


1.初始化语句(准备工作):这部分内容最先执行,而且仅执行一次;

2.条件判断(布尔结果):如果成立,则循环继续;如果不成立,则退出循环;

3.循环体(重复的内容):每次循环都将重复执行循环体的代码内容;

4.步进语句(扫尾工作):每次循环体执行后,都会执行一次步进语句;

for循环


一、格式:

for(①初始化语句;②条件判断;④步进语句){

                ③循环体

}

for(int i = 0;i < 10;i++){
    System.out.println(i);
}

二、执行顺序:

首先运行初始化语句(),然后在运行条件判断(),如果是true,则继续进行运行循环体(),然后在进行运行步进语句();如果条件判断()是false,直接退出for循环

第一步运行完之后,第二步运行就直接运行条件判断(),如果是true,则继续进行运行循环体(),然后在进行运行步进语句();如果条件判断()是false,直接退出for循环

然后会一直这样运行下去,直到条件判断()为false才退出for循环;

三、执行流程图:

 

 

四、特殊for循环(死循环):

一个正常的循环不写初始化语句、条件判断和步进语句,只写循环体就是一个死循环。他会一直运行下去永不停止,除非用break来停止;

格式:

for(;;){

        循环体

}

for(;;){
    System.out.println("我死循环,永不停止,除非给我break");
}

while语句 


一、基础while语句格式:

 ①初始化语句

while(②条件判断){

③循环体

④步进语句

}

int i = 0;
while(i < 10){
System.out.println(i);
i++;
}

 

二、执行顺序:

首先运行初始化语句(),然后在运行条件判断(),如果是true,则继续进行运行循环体(),然后在进行运行步进语句();如果条件判断()是false,直接退出for循环

第一步运行完之后,第二步运行就直接运行条件判断(),如果是true,则继续进行运行循环体(),然后在进行运行步进语句();如果条件判断()是false,直接退出for循环

然后会一直这样运行下去,直到条件判断()为false才退出for循环;

三、执行流程图:

跟for语句一样的

四、特殊while语句(死循环): 

将条件判断里直接写true,然后他就会一种循环下去,直到用break停止下来。

格式:

①初始化语句(可写可不写)

while(true){

③循环体

④步进语句(可写可不写);

}

int i = 0;
while(true){
System.out.println("死循环,永不停止,除非让break来");
i++;
}

五、while语句的分支:

while语句的分支是do-while语句

格式:

①初始化语句

do{

③循环体

④步进语句

}while(条件判断);

int i = 0;
do{
System.out.println(i);
i++;
}while(i < 10);

for语句和while语句的区别 


大多数时候,for循环和while循环可以等效替换。但是二者也存在区别:

①for循环格式固定,控制次数更方便;而while循环格式灵活,不太在意循环次数。所以次数确定的使用for循环较多;次数不确定,使用while较多。

②for循环小括号内定义的变量,循环内可用,循环体外不可用;while循环的初始化表达式本来就在外面,仍可用;

题外话


大家可以哪这个练一下for循环使用的逻辑,也可以将他改成while运行一下,可以然你更好的理解for循环和while循环,

System.out.println("**************小商城*****************");
		System.out.println("1.牙刷的价格为:8.8元");
		System.out.println("2.毛巾的价格为:10.0元");
		System.out.println("3.水杯的价格为:18.8元");
		System.out.println("4.苹果的价格为:12.5元");
		System.out.println("5.香蕉的价格为:15.5元");
		
		
		for(;;){
			Scanner num = new Scanner(System.in);
			 System.out.println("请输入需要购买商品的序号:");
			for( int j = num.nextInt();j <= 5;j++) {
				if(j == 1) {
					float c = (float) 8.8;
					 System.out.println("请输入需要买商品的数量:");
					 int num2 = num.nextInt();
					float a = c*num2;
					System.out.println("请再次确认你需要购买商品的序号:");
					 for( int i = num.nextInt(); i <= 5;i++) {
							if(i == 1) {
								System.out.println("你购买了牙膏" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 2) {
								System.out.println("你购买了毛巾" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 3) {
								System.out.println("你购买了水杯" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 4) {
								System.out.println("你购买了苹果" + num2 + "个,需花费" + a + "元");
								 break;
							}else {
								System.out.println("你购买了香蕉" + num2 + "个,需花费" + a + "元");
								 break;
							}
						 }
					break;
				}else if(j == 2) {
					float c = (float) 10.0;
					 System.out.println("请输入需要买商品的数量:");
					 int num2 = num.nextInt();
					 float a = c*num2;
					 System.out.println("请再次确认你需要购买商品的序号:");
					 for( int i = num.nextInt(); i <= 5;i++) {
							if(i == 1) {
								System.out.println("你购买了牙膏" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 2) {
								System.out.println("你购买了毛巾" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 3) {
								System.out.println("你购买了水杯" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 4) {
								System.out.println("你购买了苹果" + num2 + "个,需花费" + a + "元");
								 break;
							}else {
								System.out.println("你购买了香蕉" + num2 + "个,需花费" + a + "元");
								 break;
							}
						 }
					break;
				}else if(j == 3) {
					float c = (float) 18.8;
					 System.out.println("请输入需要买商品的数量:");
					 int num2 = num.nextInt();
					 float a = c*num2;
					 System.out.println("请再次确认你需要购买商品的序号:");
					 for( int i = num.nextInt(); i <= 5;i++) {
							if(i == 1) {
								System.out.println("你购买了牙膏" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 2) {
								System.out.println("你购买了毛巾" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 3) {
								System.out.println("你购买了水杯" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 4) {
								System.out.println("你购买了苹果" + num2 + "个,需花费" + a + "元");
								 break;
							}else {
								System.out.println("你购买了香蕉" + num2 + "个,需花费" + a + "元");
								 break;
							}
						 }
					break;
				}else if(j == 4) {
					float c = (float) 12.5;
					 System.out.println("请输入需要买商品的数量:");
					 int num2 = num.nextInt();
					 float a = c*num2;
					 System.out.println("请再次确认你需要购买商品的序号:");
					 for( int i = num.nextInt(); i <= 5;i++) {
							if(i == 1) {
								System.out.println("你购买了牙膏" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 2) {
								System.out.println("你购买了毛巾" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 3) {
								System.out.println("你购买了水杯" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 4) {
								System.out.println("你购买了苹果" + num2 + "个,需花费" + a + "元");
								 break;
							}else {
								System.out.println("你购买了香蕉" + num2 + "个,需花费" + a + "元");
								 break;
							}
						 }
					break;
				}else {
					float c = (float) 15.5;
					 System.out.println("请输入需要买商品的数量:");
					 int num2 = num.nextInt();
					 float a = c*num2;
					 System.out.println("请再次确认你需要购买商品的序号:");
					 for( int i = num.nextInt(); i <= 5;i++) {
							if(i == 1) {
								System.out.println("你购买了牙膏" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 2) {
								System.out.println("你购买了毛巾" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 3) {
								System.out.println("你购买了水杯" + num2 + "只,需花费" + a + "元");
								 break;
							}else if(i == 4) {
								System.out.println("你购买了苹果" + num2 + "个,需花费" + a + "元");
								 break;
							}else {
								System.out.println("你购买了香蕉" + num2 + "个,需花费" + a + "元");
								 break;
							}
						 }
					break;
				}
				
			}
			
			 
			 System.out.println("需要继续购物请输入Y,否则输入N");
			 String num3 = num.next();
			 if(num3.equals("Y")) {
				 System.out.println("");
			 }else if(num3.equals("N")){
				 System.out.println("期待您的下次光临");
				 break;
			 }else {
				 System.out.println("超出服务范围字母");
				 break;

			 }
		} 

个人认为还是看自己熟悉那个,我个人比较喜欢for循环;对于新手我感觉格式比较重要,还要多敲代码。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值