循环结构

while 循环

  • 只要表达式成立,循环就一直持续

  • 我们大多数情况会让循环停下来,我们需要一个让表达式失效的方式,来结束循环

    public static void main(String[] args) {
       // 输出 1+2+···+100
       int i = 0;
       int sum =0;
       while (i<=100){
           sum += i;
           i++ ;
           System.out.println(i);
      }
       System.out.println(sum);
  }

do...while循环

  • 先执行后判断,所有程序至少执行一次

    public static void main(String[] args) {
       int i =0;
       int sum =0;
       do {
           sum +=i;
           i++;
      }while (i<=100);
       System.out.println(sum);
  }

for循环

  • for循环执行的前提就是循环的次数是确定的

  • for循环时最有效最灵活的循环结构

for (初始化;布尔表达式;控制变量更新){
   //语句
}
//for死循环
for( ; ; ){
   //死循环语句
}

   public static void main(String[] args) {
       //0-100之间奇数和偶数的和
       int oddSum = 0;
       int evenSum = 0;
       for (int i = 0; i <= 100; i++) {
           if (i%2 == 0){
               evenSum += i;
          }else{
               oddSum += i;
          }
      }
       System.out.println("奇数的和:"+oddSum);
       System.out.println("偶数的和:"+evenSum);
  }

   public static void main(String[] args) {
       //输出100之内能被5整除的整数,并且每行输出3个
       for (int i = 1; i <= 100; i++) {
           if (i%5==0){
               System.out.print(i+"\t");
          }
           if (i%(5*3) == 0){
               System.out.println();
               //System.out.print("\n");
          }
      }
  }

   public static void main(String[] args) {
       for (int i = 1; i < 10; i++) {
           for (int j = 1; j <= i; j++) {
               System.out.print(j+"*"+j+"="+(i*j)+"\t");
          }
           System.out.println();
      }
  }

增强for循环

java5之后引入了一个主要用于数据或者集合的增强型for循环。

语法如下:

for(声明语句:表达式){
   //代码
}
  • 声明语句:新的局部变量,该变量的类型必须和数据元素的类型匹配,其作用域限定在循环语句中,其值与此时数组元素的值相等

  • 表达式:要访问的数组名,或者返回值的方法。

    public static void main(String[] args) {
       int[] numbers ={10,20,30,40,50};
       // 遍历数组的元素 快捷:numbers.for
       for(int x:numbers){
           System.out.println(x);
      }
  }

break 和continue

break:不干了,

continue :这次不干了,下一次接着干

public static void main(String[] args) {
   // 101-150之间所有的质数
   int count = 0;
   outer:
   for (int i = 100; i < 150; i++) {
       for (int j = 2; j < i/2; j++) {
           if (i%j == 0){
               continue outer;
          }
      }
       System.out.print(i+"\t");
  }
}
    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 j = 1; j <= 2*i-1; j++) {
               System.out.print("$");
          }
           System.out.println();
      }
  }

java基础——循环结构的更多相关文章

  1. [Java基础]循环结构3

    [Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6 ...

  2. [java基础]循环结构2

    [java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016 ...

  3. [java基础]循环结构1

    [java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...

  4. Java基础循环结构

    int x=10; do { System.out.println("value of x:"+x); x++; } while(x<20); //do while循环 1 ...

  5. java基础 ----- 循环结构

    循环的结构特点 :    循环条件   循环操作 -----     while 循环 来个小例子,实现打印50 份shij 1.确定循环条件和循环操作 2.套用while语法写出代码 3.检查循环能 ...

  6. [java基础]分支结构(2)

    [java基础]分支结构2 switch case /** 文件路径:G:\JavaByHands\if-else\ 文件名称:switchcase.java 编写时间:2016/6/6 作 者:郑晨 ...

  7. 7.20实习培训日志-Java基础程序设计结构

    Java基础程序设计结构 在 Math 类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程,如果得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类,它使用 ...

  8. C语言入门7-程序设计方法基础-循环结构

    程序设计方法基础-循环结构 循环三要素: 初值   循环判断条件   步长(循环增量) 循环结构在有些书籍上也称为重复结构,  即反复执行某一部分的操作. 循环三要素: 初值   循环判断条件   步 ...

  9. Java通过循环结构和switch实现简易计算器

    Java通过循环结构和switch实现简易计算器 可以循环计算,通过调用函数本身来实现重新计算 package com.shenxiaoyu.method; import java.util.Scan ...

随机推荐

  1. 彻底搞清Flink中的Window

    窗口 在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理.当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的 ...

  2. OO_Unit2 关于性能优化与测试的那些事

    OO_Unit2 关于性能优化与测试的那些事 OO的第2单元到本周也就正式完结了.尽管这个单元的主旋律是多线程,但"面向对象"的基本思想仍然是我们一切架构与优化的出发点与前提.因此 ...

  3. JavaScript深入理解-正则表达式

    正则表达式 正则表达式是用于匹配字符串中字符组合的模式.在JavaScript中,正则表达式也是对象.这些模式被用于RegExp的 exec和 text方法,以及String中的 match.matc ...

  4. 【pytest官方文档】解读fixtures - 3. fixtures调用别的fixtures、以及fixture的复用性

    pytest最大的优点之一就是它非常灵活. 它可以将复杂的测试需求简化为更简单和有组织的函数,然后这些函数可以根据自身的需求去依赖别的函数. fixtures可以调用别的fixtures正是灵活性的体 ...

  5. 开源Influxdb2高性能客户端

    前言 最近我在了解时序数据库Influxdb 2.x版本,体验一翻之后,感觉官方的出品的.net客户端还有很多优化的地方,于是闭关几天,不吃不喝,将老夫多年练就的高性能网络通讯与高性能Buffer操作 ...

  6. 使用vue-element-admin框架从后端动态获取菜单

    1.前言 ​ vue-element-admin是一个纯前端的框架,左侧菜单是根据路由生成的.实际开发中经常需要根据当前登陆人员的信息从后端获取菜单进行展示,本文将详细介绍如何实现该功能. 2.详解 ...

  7. 软件调研——GoodNotes 5与Notability

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 作业要求 我在这个课程的目标是 积累软件开发经验,提高工程能力 这个作业在哪个具体方面帮助我实现目标 深入调 ...

  8. 【.NET 与树莓派】数模转换

    在开始之前,需要说明一对很耳熟的概念--数字信号 & 模拟信号. 这些概念的理论有些复杂,你如果相当有兴趣,可以找来有关的文献细细研究:若你不关心那是啥只想知道咋用,那就通俗但不庸俗地理解一下 ...

  9. 用C/C++手撕CPlus语言的集成开发环境(1)—— 语言规范 + 词法分析器

    序言 之所以叫做CPlus语言,是因为原本是想起名为CMinus的,结果发现GitHub和Gitee上一堆的CMinus的编译器(想必都是开过编译原理课程并且写了个玩具级的语言编译器的大佬们吧).但是 ...

  10. 仅用一句SQL更新整张表的涨跌幅、涨跌率

    问题场景 各大平台店铺的三项评分(物流.服务.商品)变化情况: 商品每日价格的变化记录: 股票的实时涨跌浮: 复现场景 表:主键ID,商品编号,记录时的时间,记录时的价格,创建时间. 问题:获取每个商 ...