/*
    1.循环结构:
        在程序中有一些代码段需要重复执行,假如没有循环结构,
        就需要重复写代码。
        
        将来把需要反复执行的代码片段放到"循环",再联合计数器,共同控制这段需要反复执行的代码。
    
    2.for循环
        语法结构:
            for(初始表达式;1布尔表达式;3更新表达式){
                2需要重复执行的代码段【也叫做循环体】
                }
    3.for循环的执行原理:*****
        1.初始化表达式、布尔表达式、更新表达式都不是必须的!【但是两个分号是必须的】
        2.初始化表达式最先执行,并且在整个for循环中只执行一次。
        3.布尔表达式必须是true/false,不能是其它值。
        4.for循环的执行过程:
            *先执行初始化表达式,并且该表达式只执行一次

*判断布尔表达式的结果是true还是false
                -布尔表达式为true
                    *执行循环体
                    *执行更新表达式
                    *再次判断布尔表达式的结果是true还是false
                        -布尔表达式为true
                            *继续......
                        -布尔表达式为false
                            *循环结束
                -布尔表达式为false
                    *循环结束
    4.什么是死循环
        布尔表达式写成true就是死循环*/

public class for01
{public static void main(String[] args){//循环输出1-10//以下的for循环中"i"变量的作用域是仅限于当前for循环内部使用for(int i=1;i<=10;i=i+1){System.out.println(i);        }//以下的for循环中"i"变量的作用域是仅限于当前for循环内部使用for(int i=1;i<=10;i+=1){System.out.println(i);        }//以下的for循环中"i"变量的作用域是仅限于当前for循环内部使用for(int i=1;i<=10;i++){System.out.println(i);        }//这个i变量可以在main方法的作用域中访问吗?无法访问//System.out.println("i="+i);编译错误,无法找到定义域//死循环for(;;){System.out.println("死循环");}//以下演示i变量作为全作用域使用//作用在main方法内的i变量。只要main方法没有结束,这里的i就能用int i=1;for(;i<=10;i++){System.out.println(i);//编译成功输出    }//先声明后赋值也可以int i;for(i=1;i<=10;i++){System.out.println(i);//编译成功输出    }//i--for(int i=10;i>=0;i--){System.out.println(i);}//计数器,注意位置的变换for(int i=0;i<10;){System.out.println("计数器="+i);i++;    //输出1-9}for(int i=0;i<10;){i++;System.out.println("计数器="+i);//输出1-10}//循环语句和条件判断语句的使用【for和if的嵌套】//需求:找出1-100的所有奇数//方案一:从1开始,每次递增2,这样每一个数字一定是奇数(优选)for(int i=1;i<=100;i+=2){System.out.println("1-100的奇数="+i);}//方案二:从1开始,以1递增,每一个数据都进行判断,该数字对2求余数for(int i=1;i<=100;i++){//先把1-100循环输出,然后再进行if判断if(i % 2!==0){//i%2==1作用一样System.out.println("1-100的奇数="+i);}    }/*在前面一个程序的基础上,计算1-100所有奇数的和1+3+5+7+9......运算符+= 就是专门完成追加的。所以需要容器来装加进去的数容器+=i;*/int sum=0;//呼应下面的正确定义域,在方法外部定义容器,不然容器进入循环体后会清零for(int 1;i<=100;i+=2){//定义一个变量【容器】//以下是错误示例,因为sum为局部变量,循环的时候会清零sum=0//int sum=0;//sum+=i;//以下是正确定义域,定义域在方法体外部sum+=i;//输出语句放在这里表示每循环一次则输出一个数据System.out.println("sum="+sum);}//输出语句放在这里表示,for循环结束后,最终输出求和的结果System.out.println("sum="+sum);//------------------------------------//for循环嵌套for循环//嵌套的for也是符合java语法的代码//内层循环中的变量名和外层循环的变量名不能重名for(int i=0;i<=10;i++){/*    for(int i=100;;)//仔细观察这个for循环体是在第一个大for循环体的内部,重定义了变量i,所以报错{}*///这里是循环体,无论是什么样的代码,都要执行10遍for(int j=0;j<3;j++){System.out.println("j="+j);//输出结果是输出10次/0 1 2/012/012 ....}}//下面是更加直观的嵌套演示for(int i=1;i<=5;i++)    {System.out.println("begin");for(int j=1;j<=5;j++){System.out.println(i*j);}System.out.println("end");}//结果:/*begin1*11*21*31*41*5endbegin2*12*22*32*42*5endbegin3*13*23*33*43*5endbegin4*14*24*34*44*5endbegin5*15*25*35*45*5end*///99乘法表for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){System.out.println(i+"+"+j+"="i*j+"\t");}    }}
}

JAVA入门级教学之(for循环)相关推荐

  1. JAVA入门级教学之(接口)

    目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法 ...

  2. JAVA入门级教学之(abstract抽象类)

    目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可 ...

  3. JAVA入门级教学之(super关键字)

    目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过 ...

  4. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  5. JAVA入门级教学之(多态)

    JAVA入门级教学之(多态) 怎么理解多态:你本身就该喊你爹叫爹,你让你爹叫你爹就是强制认做爹 多态的使用: A  a = new D(); D类继承A类,父类型引用指向子类型对象 * 关于java语 ...

  6. JAVA入门级教学之(参数传递)

    JAVA入门级教学之(参数传递) 问题引入: 参数分为形式参数还有实际参数,我们传入是的数据到底是什么呢? 方法调用的时候,涉及参数传递的问题, 传递的时候,java只遵循一种语法机制 就是将变量中保 ...

  7. JAVA入门级教学之(面向过程和面向对象的区别)

    目录 JAVA入门级教学之(面向过程和面向对象的区别) 面向过程和面向对象的区别: -面向过程: -面向对象: -发展历程: -生命周期中包括: -什么是类: -什么是对象: -软件开发的过程: -重 ...

  8. JAVA入门级教学之(方法递归)

    目录 JAVA入门级教学之(方法递归) 1.关于方法的递归调用: 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量别用 3.以下程序运行的时候发生了这样的一个错误[不是异常,是错误] 4.递归必须 ...

  9. JAVA入门级教学之(方法内存分配机制)

    目录 JAVA入门级教学之(方法内存分配机制) 1.方法只定义,不调用,是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间:[还有其它的内存空间] 3.关于"栈"数据结构 ...

  10. JAVA入门级教学之(方法-1)

    目录 JAVA入门级教学之(方法-1) 1.以下程序不使用"方法",分析一下程序会存在哪些优缺点? 2.方法的本质:是一段代码片段,可以完成特定功能,可以重复利用 3.注意:方法定 ...

最新文章

  1. Linux镜像USB转网口驱动模块配置
  2. Visual C#中的(ListBox)数据绑定
  3. 网页防止另存为,屏蔽右键,防止复制代码,防止被人frame等网页代码
  4. 蓝桥杯Java历年真题与答案_蓝桥杯大赛java历年真题及答案整理(闭关一个月呕心沥血整理出来的)...
  5. linux系统proc目录,快速了解Linux系统下的proc目录
  6. django之上传图片
  7. Bootstrap3 栅格系统之列嵌套
  8. java电脑上运行_java-在本地计算机上运行的Web应用程序
  9. Android 单元测试cmd 命令集
  10. Java 编程语言单词汇总
  11. windows10+Ubuntu双系统卸载旧Ubuntu并重装Ubuntu(绝对安全)
  12. 对话Oneledger联合创始人Edwin Zhang
  13. 第八周【任务1】神经网络推理加速(笔记)
  14. pythonnumpy矩阵详解_基于Python Numpy的数组array和矩阵matrix详解_python
  15. IAP协议实现苹果home键功能
  16. 基于STM32楼梯层控制系统
  17. wireshark源码分析二
  18. python浮点数类型_python浮点类型
  19. 不要以你的现状来判断你的未来—俞敏洪6月2号在同济大学的演讲
  20. 数字后端基本概念介绍——FinFET Grid

热门文章

  1. Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...
  2. 对接第三方支付接口-类似文件锁的编程小技巧
  3. 多线程的单元测试工具 - GroboUtils
  4. 转:Python中的文件和目录操作
  5. linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
  6. oracle13001,安装oracle11g 遇到INS-13001环境不知足最低要求 解决方法
  7. 保存时间 默认_一些不起眼但又非常的实用的PPT制作技巧,大大节省PPT制作时间...
  8. VMware14.1 Ubuntu16.04设置xshell连接虚拟机
  9. 卷积在计算机中实现+pool作用+数据预处理目的+特征归一化+理解BN+感受野理解与计算+梯度回传+NMS/soft NMS
  10. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 14丨重新格式化部门表【难度中等】