循环结构

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. IOC容器模拟实现

    运用反射机制和自定义注解模拟实现IOC容器,使其具有自动加载.自动装配和根据全限定类名获取Bean的功能. 一. 实现原理 1-1 IOC容器的本质 IOC容器可理解为是一个map,其中的一个entr ...

  2. .net 开源模板引擎jntemplate 教程:基础篇之在ASP.NET MVC中使用Jntemplate

    在ASP.NET MVC 中使用Jntemplate 上一篇我们详细介绍了jntemplate的标签语法,本篇文章将继续介绍如何在ASP.NET MVC 中使用Jntemplate. 一.使用Jnte ...

  3. Python 高级特性(4)- 生成器

    列表生成式 通过上一篇介绍 列表生成式文章可以知道,它可以快速创建我们需要的列表 局限性 受内存限制,列表生成式创建的列表的容量肯定有限的 不仅占用很大的存储空间,如果我们仅仅需要访问前几个元素,那后 ...

  4. hahahah JavaScript 小小小细节

    nice~!

  5. [C++]变量声明与定义的规则

    声明与定义分离 Tips:变量能且仅能被定义一次,但是可以被多次声明. 为了支持分离式编译,C++将定义和声明区分开.其中声明规定了变量的类型和名字,定义除此功能外还会申请存储空间并可能为变量赋一个初 ...

  6. 【笔记】《Redis设计与实现》chapter2 简单动态字符串

    ------------恢复内容开始------------ 2.1 SDS的定义 struct sdshdr{ // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度(不含'\0 ...

  7. kubernetes 的API 介绍

    在API conventions doc中描述了API的全部协议. 在API Reference文档中描述了API的端点.资源类型和示例. 在Controlling API Access doc中讨论 ...

  8. Django+Vue+Docker搭建接口测试平台实战

    一. 开头说两句 大家好,我叫林宗霖,是一位测试工程师,也是全栈测开训练营中的一名学员. 在跟着训练营学习完Docker容器技术系列的课程后,理所应当需要通过实操来进行熟悉巩固.正好接口自动化测试平台 ...

  9. 模拟退火算法(1)Python 实现

    1.模拟退火算法 模拟退火算法借鉴了统计物理学的思想,是一种简单.通用的启发式优化算法,并在理论上具有概率性全局优化性能,因而在科研和工程中得到了广泛的应用. 退火是金属从熔融状态缓慢冷却.最终达到能 ...

  10. hdu1043 经典的八数码问题 逆向bfs打表 + 逆序数

    题意: 题意就是八数码,给了一个3 * 3 的矩阵,上面有八个数字,有一个位置是空的,每次空的位置可以和他相邻的数字换位置,给你一些起始状态 ,给了一个最终状态,让你输出怎么变换才能达到目的. 思路: ...