循环结构

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. [深搜]A. 【例题1】拔河比赛

    A . [ 例 题 1 ] 拔 河 比 赛 A. [例题1]拔河比赛 A.[例题1]拔河比赛 解析 模板题,选与不选 Code #include <bits/stdc++.h> #defi ...

  2. MyBatis笔记(三)

    1. ResultMap 查询结果为null:要解决属性和字段名不一致的问题 我们先来看下步骤: 数据库中的字段名 Java中的实体类 public class User {    private i ...

  3. Lua OpenResty容器化(考古历程)

    原文地址:Lua OpenResty容器化(考古历程) 背景 公司有几个"远古时期"的项目,一直都相对较为稳定,但是项目每天总会在一些时段,请求每分钟QPS到达峰值800K左右,导 ...

  4. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之裸金属-20

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之裸金属-20 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原创博客 ...

  5. Redhat 安装gitlab

    以下为8月23日左右记录的,没有发布.今日整理大概记录下. 安装依赖包 yum install -y curl policycoreutils-python openssh-server openss ...

  6. 小程序picker地区级联选择的问题及解决方案

    各种系统中行政区域选择的场景不少,我们也有不少这样的场景.本想使用第三方的组件,但是大多有些小问题,不能满足需要.后面使用picker的mulitSelector模式写了一个,发现这种列模式的体验并好 ...

  7. 使用docker快速安装软件

    安装mysql mkdir /opt/mysql /opt/mysql/etc /opt/mysql/data docker run -itd --name mariadb -e MYSQL_ROOT ...

  8. 动态扩展磁盘(LVM)

    使用gtp格式磁盘为lvm类型 [root@elk-log-srv01 ~]# parted /dev/vdd GNU Parted 3.1 Using /dev/vdd Welcome to GNU ...

  9. C/C++ 进程代码注入与提权/降权

    如果将shellcode注入到具有特定权限的进程中,我们就可以获得与该进程相同的权限,此方法可以用于提权与降权操作,注入有多种方式,最简单的是直接将metasploit生成的有效载荷直接注入到目标进程 ...

  10. 技术面试问题汇总第002篇:猎豹移动反病毒工程师part2

    这次拿三个问题来讨论,是关于调试器的.因为对于反病毒工程师而言,类似于OllyDbg和IDA的使用方法是必须掌握的,但是在面试中又不太方便考察,所以只能对其快捷键或者调试器实现原理之类的问题进行提问. ...