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循环;对于新手我感觉格式比较重要,还要多敲代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)