循环结构

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();
      }
  }

最新文章

  1. ELF文件
  2. Daily Scrum02 12.09
  3. php导出excel封装类
  4. Linux 笔记总览
  5. Android编译错误, Ignoring InnerClasses attribute for an anonymous inner class
  6. HDU 3668 Volume (数学,积分)
  7. ant+dbunit 导xml到mysql
  8. 九度OJ 1120 全排列 -- 实现C++STL中next_permutation()
  9. python笔记之编程风格大比拼
  10. [ Java面试题 ]基础篇之二
  11. C#之Socket的简单使用
  12. springcloud~配置中心的使用
  13. Python(day1)
  14. js 文件下载 进度条
  15. UIKit&#160;框架之WebView
  16. MySQL keepalived 双主.md
  17. OpenGL(3)-三角形
  18. 捋一捋Spring Web的源码思路
  19. linux prefix
  20. Mythological VI

热门文章

  1. node_exporter自定义监控
  2. 使用ffmpeg 操作音频文件前后部分静音移除.
  3. HTML5本地存储 localStorage操作使用详解
  4. 快速了解Web MVC设计模式
  5. RabbitMQ 入门 (Go) - 6. 数据持久化(上)
  6. PhpStorm/WebStorm实用技巧
  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解
  8. [Skill]从零掌握80%的业务查询SQL语句
  9. 深入剖析共识性算法 Raft
  10. Linux入门之基本的概念、安装和操作