精华内容
下载资源
问答
  • 谈谈嵌套for循环理解 说for的嵌套,先说一下一个for循环的是怎么用的。 这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解。 一. 语法: for(表达式1;表达式2;表达式3){ java语句; } ...

    谈谈嵌套for循环的理解

     

        说for的嵌套,先说一下一个for循环的是怎么用的。

         这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解。

       一.   语法:
                for(表达式1;表达式2;表达式3){
                    java语句;
                }
            
            表达式1是初始化表达式,最先执行,只执行一次。
            表达式2必须是boolean类型的表达式。
            for循环开始执行,先执行表达式1,并只执行一次。
            进而判断表达式2的结果,如果是true,则执行java语句。
            再执行表达式3,根据表达式三的节后,然后再判断表达式2的结果,直到表达式2
            的结果是false,则for循环结束。

      二.   举一个实例,如图

    这样输出结果是:

     

     你会发现它是一条线的样式。

    这样我在给这个for循环里面嵌套一个for循环,代码如图:

    给展示一下输出结果:

     

    有没有发现,嵌套一个for进去后,会从一个线成为一个面,这样就会更好让人去理解。

    我的目的是做一个乘法口诀表,基本格式已经有了,下面就是改里面的数据了,里面的数据是相乘,这样我把输出样式改了如图:

     (对了乘法口诀里没有0啊,把里面的0改成1,不好意思,犯傻了,竟然从0开始算乘法口诀,下面改过来了啊)

     

    输出的就是:

    基本的算是完成了,这样就来修改一下“j”的取值就可以了,代码如图:

    这样修改后,打出的样子是:

     

     这样一个乘法口诀表就打出来了,其实for的嵌套就可以认为一个线变成一个面的过程。

    理解其中的原理,还简单的。下个星期继续。

     

    转载于:https://www.cnblogs.com/atongmyuxiaowanzi/p/4695157.html

    展开全文
  • 新手小白学JAVA 嵌套for循环 while do-while

    万次阅读 多人点赞 2021-04-01 23:14:02
    1 嵌套for循环 1.1 概述 存在至少2层for循环,根据外层的条件,判断里层能否执行 如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环 1.2 嵌套for形式 1.3 练习:嵌套for循环入门案例 ...

    1 嵌套for循环

    1.1 概述

    存在至少2层for循环,根据外层的条件,判断里层能否执行
    如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环

    1.2 嵌套for形式

    for循环嵌套格式

    1.3 练习:嵌套for循环入门案例

    创建包: cn.tedu.basic
    创建类: TestForDemo.java
    总结1:外循环执行1次,内循环执行多次
    总结2:外循环控制行,内循环控制列

    package cn.tedu.basic;
    /*本类用于测试嵌套for循环*/
    public class TestForDemo {
    	public static void main(String[] args) {
    		//执行顺序
    		//执行外层循环第一轮,i=1,打印1,遇到内层循环,打印12345,i自增成2
    		//执行外层循环第二轮,i=2,打印2,遇到内层循环,打印12345,i自增成3
    		//执行外层循环第三轮,i=3,打印3,遇到内层循环,打印12345,i自增成4
    		//i为4,不满足循环条件,循环结束
    		/**总结:外层循环执行一次(控制轮数)
    		 * 内层循环执行多次(在每一轮中执行的次数)*/
    		for(int i = 1; i<=3;i++) {//外层循环
    			System.out.println("外层循环的第:"+i+"轮");
    			for(int j = 1; j <=5 ; j++) {//内层循环
    				System.out.println("内层循环的第"+j+"次");
    			}
    		}
    		System.out.println("**************打印矩形******************");
    		//执行顺序分析:
    		//外层第一轮i=1,遇到内层循环,打印*****,内层循环结束,换行,i自增成2
    		//外层第二轮i=2,遇到内层循环,打印*****,内层循环结束,换行,i自增成3
    		//外层第三轮i=3,遇到内层循环,打印*****,内层循环结束,换行,i自增成4
    		//此时i的值为4,不符合循环条件,循环结束
    		/**总结:外层循环控制的是行数
    		 * 内层循环控制的是每行打印的列数*/
    		for(int i = 1;i<=3;i++) {
    			for(int j = 1;j<=5;j++) {
    				System.out.print("*");
    			}
    			System.out.println();//用空白行来换行
    		}
    	}
    }
    

    1.4 练习:打印左直角三角形

    创建包: cn.tedu.basic
    创建类: TestForTriangle .java

    package cn.tedu.basic;
    /**需求:利用for循环,打印左直角三角形*/
    //行1星1 *
    //行2星2 * *
    //行3星3 * * *
    //行4星4 * * * *
    //行i星i * * * * *
    public class TestForTriangle {
        public static void main(String[] args) {
            for(int i = 1;i<6;i++) {//外循环
                for (int j = 1; j <=i; j++) {//内循环
                    //注意:需要修改内循环的循环条件,让j的最大值随着i改变,否则写死了
                    System.out.print("*");//在同一轮/同一行打印不换行
                }
                System.out.println();//空白行用来换行
            }
        }
    }
    

    1.5 练习:打印99乘法表

    创建包: cn.tedu.basic
    创建类: TestFor99Excel.java

    package cn.tedu.basic;
    /**本类用于测试完成99乘法表*/
    //1*1=1	
    //1*2=2	2*2=4	
    //1*3=3	2*3=6	3*3=9	
    //1*4=4	2*4=8	3*4=12	4*4=16	
    //1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
    //1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
    //1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
    //1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
    //1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	
    public class TestFor99Excel {
        public static void main(String[] args) {
            for (int i = 1; i <= 9; i++) {//控制行数,打印9行
                for (int j = 1; j <= i; j++) {//控制列数,i行打印i列
                    //System.out.println("*");--打印左直角三角形
                    //System.out.println("2*3=6");2--i 3--j 6--i*j
                	//拼接打印算式,后面拼接一个"\t"表示这是表格格式,\t也被称作制表符
                    System.out.print(j+"*"+i+"="+(i*j)+"\t");
                }
                System.out.println();//空白行用来换行
            }
        }
    }
    

    2 break与continue

    2.1 概念

    break: 直接结束当前循环,跳出循环体,简单粗暴

    break以后的循环体中的语句不会继续执行,循环体外的会执行
    注意如果是嵌套for循环,在内层循环遇到了break,只会跳出当前这一层内循环哦

    continue: 跳出本轮循环,继续下一轮循环

    continue后本轮循环体中的语句不会继续执行,但是会继续执行下轮循环,循环体外的也会执行

    break与continue

    2.2 练习:测试Break与Continue

    创建包: cn.tedu.basic
    创建类: TestBreakAndContinue.java

    package cn.tedu.method;
    
    import java.util.Scanner;
    
    /**需求:找数字88
     * 提示并接受用户输入100次数字,如果不是88,则继续输入,找到88就结束*/
    public class TestBreakAndContinue {
    	public static void main(String[] args) {
    		//循环体可以帮助我们执行重复的事情,控制for循环执行100次
    		for(int i = 1;i <= 100; i++) {
    			//在每一次循环中都要提示并接收用户输入的数字
    			System.out.println("请输入数字:");
    			int input = new Scanner(System.in).nextInt();
    			if(input != 88) {//用户输入的不是88
    				continue;//直接继续输入
    				/**注意,不管是不是加continue,都可以在猜不对的情况下继续输入
    				 * 只不过加了continue后效率更高,只要数据不等于88,就无需执行后面的代码
    				 * 直接进行下一轮的猜数字即可* */
    			/**break或者continue之后都不允许写代码,都是不可到达的代码*/
    			//System.out.println(0);//Unreachable code
    			}
    			System.out.println("我是用来测试continue有没有跳过循环后半部分代码的哦");
    			if(input == 88) {//找到88了
    				System.out.println("恭喜您,猜对了!");
    				break;//结束程序
    				//System.out.println(0);//Unreachable code
    			}
    		}
    	}
    }
    

    3 循环结构2 : while

    3.1 形式(先判断,再执行)

    while循环

    3.2 练习:猜数字之while练习

    创建包: cn.tedu.basic
    创建类: TestWhile.java

    package cn.tedu.method;
     
    import java.util.Random;
    import java.util.Scanner;
     
    /**
     * 本类用于练习while循环
     * 需求: 产生一个随机数,和用户一直在输入的数字做比较,直到用户猜对
     * */
    public class TestWhile {
        public static void main(String[] args) {
            int r = createNum();//调用可以生成随机数的方法,并且接收生成的随机数
            System.out.println("打个小抄:"+r);
           
            //调用猜数字方法1--while
            guessNum(r); 
        } 
        //创建猜数字的方法
        public static void guessNum(int r) {
            //1.写一个死循环
            while(true) {//死循环--需要设置程序的出口
                //2.接收用户输入的值
                System.out.println("猜猜看~");
                int input = new Scanner(System.in).nextInt();
                //3.判断是否猜对(拿用户猜的数字与生成的随机数做比较)
                if(input > r) {
                    System.out.println("猜大了,继续猜猜看");
                }else if(input < r) {
                    System.out.println("猜小了,继续努力");
                }else if(input == r) {
                    System.out.println("猜对了!");
                    //一定注意:要设置程序出口!!!
                    break;
                }
            }
        }
     
        //创建一个用来生成随机数的方法
        public static int createNum() {
            //让程序产生一个随机数
            //java.util.Random,注意导包,快捷键:Ctrl+Shift+O
            int random = new Random().nextInt(100);//参数100是自定义的,此时生成的随机数范围是[0,100)的整数
            return random;
        }
    }
    

    4 循环结构3 : do-while

    4.1 形式(先执行,再判断,循环体代码保证最少执行一次)

    在这里插入图片描述

    4.2 do-while练习

    private static void f2() {
    		int n;
    		do {
    			System.out.println("我是循环体");
    			n = new Random().nextInt(300);//生成随机数的范围[0,300)
    			System.out.println(n);
    		}while(n>100);
    	}
    

    5 拓展

    5.1 三种循环的区别

    1. for:知道循环次数
    2. while/do while:当循环次数不确定时
    3. while:先判断,不符合规则,不执行代码
    4. do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
    5. 循环之间都可以互相替代,但是一般最好选择合适的循环结构来完成代码哦~

    5.2 打印右直角三角形

    *
       **
      ***
     ****
    *****
     
     
    package day999;
    public class a {
        public static void main(String[] args) {
            //输出5行
            for(int i=1;i<=5;i++){
                //空格三角
                for(int x=5;x>i;x--){
                    System.out.print(" ");
                }
                //*号三角
                for(int j=1;j<=i;j++){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    

    5.3 打印全三角形

         *
        ***
       *****
      *******
    *********
    package day999;
    public class a {
        public static void main(String[] args) {
            //打印5行
            for(int i=1;i<=5;i++){
                //打印空格的倒三角
                for(int j=5;j>=i;j--){
                    System.out.print(" ");
                }
               
                //打印*号的正三角
                for(int k=1;k<=i*2-1;k++){
                    System.out.print("*");
                }
               
                System.out.println();
            }
        }
    }
    
    展开全文
  • for循环嵌套for循环

    千次阅读 2018-06-27 15:19:05
    for (var i = 0;i < 5; i++) { document.write("外"+'<br/>'); for (var j = 0; j < 3; j++) { document.write("内"+"<br/>") for (var k = 0; k < 2; k++) { document.w....
    		for (var i = 0;i < 5; i++) {
    			document.write("外"+'<br/>');
    			for (var j = 0; j < 3; j++) {
    				document.write("内"+"<br/>")
    
    				for (var k = 0; k < 2; k++) {
    					document.write("最内层"+"<br/>")
    				}
    			}
    		}
            //后台调试代码

     

    展开全文
  • 对于for循环嵌套循环的理解

    千次阅读 多人点赞 2016-03-18 08:59:50
    循环嵌套是外循环里套个内循环,外循环执行一次,内循环全部执行完,直到外循环执行完毕,整个循环结束。循环次数:外循环的次数*内循环的次数;例:for(int i=0;i;i++){ for(int j=0;j;j++) { System.out.print(...

    循环嵌套是外循环里套个内循环,外循环执行一次,内循环全部执行完,直到外循环执行完毕,整个循环结束。

    循环次数:外循环的次数*内循环的次数;

    例:

    for(int i=0;i<10;i++){
        for(int j=0;j<3;j++) {
        System.out.print("i*j="+i*j);
        }
    }
    

    当开始循环的时候,i=0,然后继续运行,j=0,输出i*j=0
    此时循环从j=1, i仍旧为0,j的值为2,输出结果为i*j=0,此时j++,j的值为2
    循环从j=2,i仍旧为0 ,输出结果为i*j=0
    当j=3,不满足j<3跳出内部for循环,执行外部for循环第二行代码,此时i++,i的值变为1
    循环i=1, j=0时,结果为i*j=0
    i=1,j=1 结果为i*j=1;
    。。。。。。
    。。。。。。
    当i循环到9,j=2是,输出循环结果为i*j=18
    当i=10,不满足i<10,跳出外部循环,执行第6行

    例:

    for (out = nElems - 1; out > 1; out--) {
        for (in = 0 ; in < out; in++) {
        if (a[in] > a[in+1]) 
            swap(in,in+1);
        }
    }

    这个冒泡排序功能,在调用玩10次的insert之后,nElems 被赋值为10,out=9,执行内循环,这里最关键的就是in的范围是随着外面的out的值的变化而变化。

    展开全文
  • 小程序中进行列表循环的时候,如果有嵌套列表循环中,就需要解决默认的index和item 别名的问题 这是我在工作中做的一个品牌筛选列表 其中遇到了要嵌套循环 brandList,进行列表渲染 在小程序中,默认数组的...
  • 简化嵌套for循环

    千次阅读 2018-10-11 11:00:15
     业务场景是这样的:老板让我写一个函数,分别取零售店的类目和市场...首先是异步取两张表,同时等待两个异步操作,所以我用了一个Promise.all来等待获取两个Promise的返回结果,接着用一个嵌套for循环进行比较。...
  • 跳出多层嵌套for循环 public static void main(String[] args) { // 给for循环取名 break for名称 跳出指定for循环; for1: for (int i = 0; i < 3; i++) { System.out.println("for1 " + i); for2: for ...
  • 3.5. 循环 A)、while (条件语句){代码块} B)、do{代码块}while(条件语句)   C)、for循环语法结构:for (i &lt;- 表达式/数组/集合) 1、简单for循环 ...3、嵌套for循环 案例1: 案例2...
  • Java for循环及嵌套for循环详解

    千次阅读 2020-07-04 17:10:34
    循环结构:for 概述:循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。 形式: for(开始条件;... // for循环语法 // for(开始位置;判断条件;更改条件) { } //循环结构执行1000次 for(int a=1
  • java 嵌套for循环

    千次阅读 2018-04-20 20:37:53
    循环嵌套循环里面还有循环for的形式多 for(){ for(){ } } 总的循环次数 = 内循环次数 * 外循环次数 先写格式,在写内容。 print是不换行打印 println是换行打印 内循环是外循环循环体 外循环...
  • 关于For循环嵌套的简单理解

    千次阅读 多人点赞 2018-11-25 14:50:14
    常用的循环嵌套是二重循环,外层循环称为 外循环,内层循环称为内循环。 二:双重循环: 1.双重循环结构 for (循环变量初始化;终止条件表达式;循环变量的增量){ 语句或语句块; for(循环变量初始化;终止条件表达式;...
  • C语言嵌套for循环详细讲解
  • * Version 1.0 * * * Version 1.0 * 进一步学习描述算法的方法流程图 掌握for循环的应用 掌握循环嵌套的使用方法及作用 * C语言中的三种循环方式 第一种while循环 第二种do-while循环 第三种for循环 * 用C语言模拟如...
  • 关于for循环嵌套for循环的优化问题

    千次阅读 2020-06-25 13:54:53
    对于for循环嵌套问题 我们常见就是这样: for (int i = 0; i < 1000; i++){ for (int j = 0; j < 100; j++){ for (int k = 0; k < 10; k++){ system.out.println(i+"====="+j+"====="+k); } } } ...
  • java源码嵌套for循环
  • js嵌套for循环-标签的使用

    千次阅读 2018-02-25 01:38:25
    javascript嵌套for循环内层如何break或continue外层的for循环呢?很简单,可以给外层for循环加上标签,break或continue的时候加上对应的标签名就可以了:outer: // 给外层的for循环加上标签,取名为outer for(var i=...
  • list里面嵌套for循环if语句

    千次阅读 2019-03-29 21:55:17
    list里面嵌套for循环if语句 对于列表里面嵌套for语句,始终有些迷糊。下面简单举几个例子来说明一下。例如: a_list = [1,2,3,4,5,6] new_list = [x for x in a_list] print(new_list) >>>[1,2,3,4,5,6] #...
  • js遍历树,多层嵌套for循环,递归

    万次阅读 2019-04-10 16:21:58
    js遍历树,多层嵌套for循环,递归一、目的源数据示例二、如何获得数据多层for循环嵌套遍历树数据递归遍历树数据 一、目的 遍历获取树数据中的部分数据。 源数据示例 menuType=2的数据为按钮,按钮可以在一级菜单下也...
  • 嵌套For循环性能优化

    千次阅读 2019-08-05 16:40:50
    待优化实例: for(int i = 0;i < 1000;i++){ for(int j = 0;j < 100;j++){ for(int k = 0; k < 10;k++){ System.out.print("hello world"); } } } 优化方案...
  • 性能优化-多层嵌套for循环如何优化

    千次阅读 2019-11-23 14:25:14
    代码示例 ... /** * @program: cwl-performance-optimization * @description: 测试for循环-嵌套循环 * @author: ChenWenLong * @create: 2019-11-22 11:27 **/ public class TestNestedLoop { // 当需...
  • c++ 嵌套for循环

    千次阅读 2018-12-03 22:59:16
    #include&amp;lt;iostream&amp;gt; using namespace std; int main() { int array[3][3]={ {1,2,3}, {4,5,6}, ... for(i=1;i&amp;lt;=3;i++){ for(j=1;j&amp;lt;=3;j++){ ...
  • c++ 嵌套for循环中break跳出

    千次阅读 2019-02-15 09:39:43
    1 break跳出for循环 for(int i=0;i&lt;100;i++) { if(i==3) break;//break表示跳出整个for循环,也就是说,当i=10的时候,这个循环就结束了,之后执行for循环下面的代码。 if(i==4) continue;// 跳出...
  • switch 中嵌套for循环

    2017-11-01 08:37:50
    如下代码为何还会执行for循环,明明for循环在case 30里面呀? public class Test { public static void main(String args[]){ int x = 40; switch( x ){ case 10: System.out.print("Value of X is 10...
  • 处理嵌套for循环中的事务处理

    千次阅读 2019-03-16 09:27:57
    2、将嵌套for循环,写到一个自定义的方法,产生自定义的异常并抛出 3、调用嵌套for循环的方法,捕获异常并手动进行回滚操作 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();/...
  • FOR嵌套循环

    2014-04-11 15:49:05
    FOR嵌套循环,教学设计,教案
  • java打印九九乘法表,嵌套for循环,二维数组

    千次阅读 多人点赞 2016-05-14 11:31:40
    java打印九九乘法表,嵌套for循环,二维数组
  • 理解for循环嵌套

    千次阅读 2018-07-11 20:08:53
    理解for循环嵌套例如 For(1;2; 3) { For(4; 5; 6;) { }}先执行第一个for语句,再进入第二个for循环,直到不满足5条件跳出第二个for循环;再执行第一个for循环的3;再继续第一个for循环;...
  • 测试代码: public class Test { ...System.out.println("嵌套for循环,内小外大消耗的时间:"+for1()+"ms"); System.out.println("嵌套for循环,内大外小消耗的时间:"+for2()+"ms"); } private static lo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 210,746
精华内容 84,298
关键字:

嵌套for循环怎么理解