循环语句及双重循环

复习:

//1!+2!+3!+………+9!+10!=sum
public class Test {
public static void main(String[] args) {
int a=1;
int sum=0;
for (int i =1; i <=10; i++) {
a*=i;//a=a*i;
sum+=a;
}
System.out.println(sum);
}
}

双重循环,即一个循环内嵌着另外一个循环,外面的循环每跑一遍,内循环均要全部跑完。

练习1:

//利用双循环打印倒三角
public class Test1 {
public static void main(String[] args) {
for (int i = 15; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}


}


练习2:

//正三角
public class Test2 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

练习3:

//菱形
public class Test3 {
public static void main(String[] args) {

int hangshu = 11;  
int yiban = hangshu / 2 + 1;  
int yibanduo = hangshu / 2;  
System.out.println("空心菱形:");  
for(int k = 1;k <= yiban;k++){  
   for(int i = 1;i <= (yiban - k);i++){  
       System.out.print(" ");  
   }  
   System.out.print("*");  
   for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  
       System.out.print(" ");  
   }  
   if(k != 1){  
       System.out.print("*");    
   }  
   System.out.println();  
}  
for(int k = yibanduo;k >=1;k--){  
   for(int i = 1;i <= (yiban - k);i++){  
       System.out.print(" ");  
   }  
   System.out.print("*");  
   for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  
       System.out.print(" ");  
   }  
   if(k != 1){  
       System.out.print("*");    
   }  
   System.out.println();  
}  
 
 
System.out.println("实心菱形:");  
for(int i = 1;i <= hangshu;i++){  
   if(i <= hangshu/2 + 1){  
       for(int k = 1;k <= hangshu/2 + 1- i;k++){  
           System.out.print(" ");  
       }  
       for(int k = 1;k <= i;k++){  
           System.out.print("* ");  
       }  
           System.out.println();  
   }else{  
       for(int k =1;k <= (i -(hangshu/2 + 1));k++){  
           System.out.print(" ");  
       }  
       for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){  
           System.out.print("* ");  
       }  
       System.out.println();  
   }     
}  
}
}

练习4:



public class Test4 {
/**
* 等腰三角形
*/
   public void print1(){//形如 ▲向上的 
       for(int i=1;i<=5;i++){
           for(int k=1;k<=5-i;k++)
               System.out.print(" ");
           for(int j=1;j<=2*i-1;j++)
               System.out.print("*");
           
           System.out.print("\n");
       }
   }


   public void print2(){//形如:倒▲ 向下的 
       for(int i=1;i<=5;i++){
           for(int j=1;j<=i-1;j++)
               System.out.print(" ");
           for(int k=1;k<=11-(2*i);k++)
               System.out.print("*");
           
           System.out.print("\n");
       }
   }
   
   public static void main(String[] args) {
    Test4 app = new Test4();
       System.out.println


("---------------------------");
       app.print1();
       System.out.println


("---------------------------");
       app.print2();
       System.out.println


("---------------------------");
   }
}

练习5:数组复习



import java.util.Scanner;


//从控制台接收数据,用数组存储并计算姓张的人数
public class Test5 {
public static void main(String[] args) {
String name []=new String[5];
int sum=0;
for (int i = 0; i < name.length; i++) {
Scanner scr=new Scanner(System.in);
System.out.println("第"+(i+1)+"位姓名:");
name[i]=scr.next();
}
for (int i = 0; i < name.length; i++) {

if (name[i].startsWith("张")) {
sum++;
}
}
System.out.println("姓张的人数为:"+sum);
}


}



### 双重循环中 `break` 语句的作用与正确用法 在 Python 中,`break` 语句的主要功能是终止当前所在的循环。当 `break` 被触发时,程序会立即退出最内层的循环并继续执行紧跟在外层循环之后的代码[^1]。 #### 单一循环中的 `break` 表现 在一个单一的循环中,`break` 的作用非常直观——一旦满足某个特定条件,循环就会被中断。例如: ```python for i in range(5): if i == 3: break print(i) ``` 上述代码会在 `i=3` 时停止打印,并结束整个循环。 #### 双重循环中的 `break` 特性 然而,在双重循环的情况下,情况变得稍微复杂一些。由于 `break` 总是针对其所在的具体循环起作用,因此它只会终止 **最内层的循环**,而不会影响外层循环的行为[^4]。这意味着即使内部循环因遇到 `break` 提前结束,外部循环仍会按照既定逻辑继续迭代。 下面是一个简单的例子来展示这种行为: ```python outer_list = ['A', 'B'] inner_list = [1, 2, 3] for outer_item in outer_list: # 外部循环 for inner_item in inner_list: # 内部循环 if inner_item == 2: print(f'Breaking at {outer_item}, {inner_item}') break # 这里的 break 将仅打断 internal loop (即 inner_list 的遍历过程) print(inner_item) print('Outer Loop Continues') ``` 在这个脚本里,每当 `inner_item==2` 条件成立的时候,内部的小循环会被打破,但是外部的大循环依旧保持正常运转下去直到完成全部项目处理[^2]。 为了实现完全跳出多级嵌套循环的目的,则可以考虑采用标志变量或者异常机制等方式间接达成目标;当然也可以通过重构代码减少不必要的深层嵌套结构从而简化控制流程管理难度[^3]。 ### 结论 综上所述,在双重循环环境中运用 `break` 关键字仅仅能够使得最近的那个包含它的循环提前结束而已,并不能够让更高级别的父级循环也一同停止运作除非采取额外措施加以辅助配合才行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值