源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java中的循环笔记整理(必看篇)

  • 时间:2021-12-02 23:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java中的循环笔记整理(必看篇)
[b]一、循环的类型:[/b] [b]1、for循环[/b]
class For{
  public static void main(String[] args) {
    System.out.println("Hello World!");
    System.out.println("Hello World!");
    System.out.println("Hello World!");
    System.out.println("Hello World!");
    System.out.println("我是分隔符~~~~~~~~~~~~~~~~~~~~~~~~");
    for(int i = 0; i < 4; i++){
      System.out.println("Hello World!");
    }
  }
}
[b]运行结果:[/b] [img]http://files.jb51.net/file_images/article/201706/201706010824017.png[/img] [b]2、while() {}[/b]
class TestWhile {
  public static void main(String[] args) {
    //100以内的偶数的输出
    int i = 1;
    int sum = 0;
    while(i <= 100){
      if(i % 2 == 0){
      System.out.println(i);
      sum += i;
      }
      i++;
    }
    System.out.println(sum);
    //System.out.println(i);
  }
}
[b]运行结果:[/b] [img]http://files.jb51.net/file_images/article/201706/201706010824018.png[/img] [b]3、do{}while()[/b]
class DoWhile{
  public static void main(String[] args) {
    int i = 1;
    do{
      if(i % 2 == 0){
        System.out.print(i + "\t");
      }
      i++;
    }while(i <= 100);
  }
}
[b]运行结果:[/b] [img]http://files.jb51.net/file_images/article/201706/201706010824019.png[/img] [b]二、格式:[/b] [b]所有的循环结构都必须包含以下4部分:[/b]     [b]1、初始化条件;[/b] [b]    2、循环条件;[/b] [b]    3、迭代条件;[/b] [b]    4、循环体;[/b] [b]1、for循环格式:[/b]
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 0;
2、循环条件 = i < 4;
3、迭代条件 = i++;
4、循环体 = System.out.println("Hello World!");  
*/
class For{
  public static void main(String[] args) {
    for(int i = 0; i < 4; i++){
      System.out.println("Hello World!");
    }
  }
}
[b]2、while循环格式:[/b]
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 1;int sum = 0;;
2、循环条件 = i <= 100;
3、迭代条件 = i++;
4、循环体 = if语句;  
*/
class TestWhile {
  public static void main(String[] args) {
    //100以内的偶数的输出
    int i = 1;
    int sum = 0;
    while(i <= 100){
      if(i % 2 == 0){
      System.out.print(i +"\t");
      sum += i;
      }
      i++;
    }
    System.out.print(sum);
  }
}
[b]3、do{4 3}while(2);[/b]
/*
所有的循环结构都必须包含以下4部分:
1、初始化条件;
2、循环条件;
3、迭代条件;
4、循环体;
在这段代码中与格式的对应关系为:
1、初始化条件 = int i = 1;
2、循环条件 = i <= 100;
3、迭代条件 = i++;
4、循环体 = if语句;  
*/
class TestDoWhile{
  public static void main(String[] args) {
    int i = 1;
    do{
      if(i % 2 == 0){
        System.out.println(i);
      }
      i++;
    }while(i <= 100);

    int j = 10;
    do{
      System.out.println(j);
      j++;
    }while(j<10);

    while(j < 10){
      System.out.println(j);
      j++;
    }
  }
}
[b]注意:[/b] 1、不同的循环结构之间可以相互转换; 2、while和do-while的区别:do-while程序至少会执行一次; [b]三、嵌套循环:[/b] 说明:循环结构中还可以声明循环;让内层循环结构整体充当外层循环的循环体;若外层循环执行m次,内层循环执行N次,整个程序执行m*n次。 可以理解为外层循环控制行数,内层循环控制列数; 例:
class TestFor2 {
  public static void main(String[] args) {
    for(int j = 0;j < 4;j++){//外层循环控制行数
      for(int i = 0;i < 5;i++){//内层循环控制列数
        System.out.print("*");
      }
      System.out.println();
    }
  }
}
运行结果: [img]http://files.jb51.net/file_images/article/201706/2017060108240110.png[/img] [b]练习题 [/b] [b]1、九九乘法表[/b]
class TestJiuJiu {
  public static void main(String[] args) {
    for(int i = 1;i <= 9;i++){
      for(int j = 1;j <= i;j++){
        System.out.print(i + "*" + j + "=" + i*j + "\t");
      }
    System.out.println();
    }
  }
}
[b]运行结果:[/b] [img]http://files.jb51.net/file_images/article/201706/2017060108240111.png[/img] [b]2、输出100内的质数(两种方法实现)[/b] [b]第一种:[/b]
class TestPrimeNumber {
  public static void main(String[] args) {
      boolean flag = false;
      long start = System.currentTimeMillis();
      for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
      //如何判断i是否为一个质数
      for(int j = 2;j <= Math.sqrt(i);j++){
        if(i % j == 0){
          flag = true;
          break;
        }
      }
      if(!flag){
        System.out.println(i);
      }
      flag = false;
    }
    long end = System.currentTimeMillis();
    System.out.println("所花费的时间为:" + (end - start));
  }
}
[b]运行结果:由于数据过多,这里使用运营时间来表示[/b] [img]http://files.jb51.net/file_images/article/201706/2017060108240112.png[/img] [b]第二种:这种方式主要是为了显示运行的效率,这里也是使用运行时间来表示。[/b]
class TestPrimeNumber1 {
  public static void main(String[] args) {
      //boolean flag = false;
      long start = System.currentTimeMillis();
      l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
      //如何判断i是否为一个质数
      for(int j = 2;j <= Math.sqrt(i);j++){
        if(i % j == 0){
          //flag = true;
          //break;
          continue l;
        }
      }
      //if(!flag){
        //System.out.println(i);
      //}
      //flag = false;
    }
    long end = System.currentTimeMillis();
    System.out.println("所花费的时间为:" + (end - start));
  }
}
[b]运行结果:[/b] [b][img]http://files.jb51.net/file_images/article/201706/2017060108240113.png[/img] [/b] [b]四、无限循环[/b] [b]当需要使用无限循环时,将循环的循环条件修改为true即可(代码格式请参考第二部分[/b]),但是需要注意的是,在无限循环结果内部一定要提供循环的终止条件(使用break关键字)否则程序将无限制的执行下去,形成死循环; [b]五、break和continue:[/b] [b]1、break:[/b]   1、使用在swich-case结构或者循环结构中;   2、在循环结构中,一旦执行到break,就跳出当前循环。 [b]2、continue:[/b]   1、使用在循环结构中;   2、在循环结构中,一旦执行到continue就跳出当次循环; [b]3、在嵌套循环中,可以使用带标签的break和continue。[/b]   [b]例:[/b]
class TestPrimeNumber1 {
  public static void main(String[] args) {
      //boolean flag = false;
      long start = System.currentTimeMillis();
      l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
      //如何判断i是否为一个质数
      for(int j = 2;j <= Math.sqrt(i);j++){
        if(i % j == 0){
          //flag = true;
          //break;
          continue l;
        }
      }
      //if(!flag){
        //System.out.println(i);
      //}
      //flag = false;
    }
    long end = System.currentTimeMillis();
    System.out.println("所花费的时间为:" + (end - start));
  }
}
注意:请注意第5行代码(l:for(int i = 2;i <= 100000;i++))以及第11行代码(continue l;),在第五行代码前边写了一个l:的标签,然后在第11行代码处进行调用,如果程序执行到这里会自动跳出此循环,然后从第五行开始执行; [b]六、数组:[/b] [b]1、定义:相同数据类型的数据的组合。[/b] 不使用数组的定义方式: 
int i1 = 1;
int i2 = 2;
int i3 = 3;
[b]使用数组的定义方式:[/b] 1、静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行; int[] scores = new int[]{72,90,59}; 2、动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行; int[] scores1 = new int[3]; socres1[0] = 72; socres1[1] = 90; socres1[2] = 59; [b]2、数组的初始化问题(以下的初始化为错误的初始化方式): [/b] String[] names = new String[5]{"AA","BB","CC"} int i = new int[10]; int i = new int[]; [b]注意:不管是动态初始化还是静态初始化,一定要在创建的时候就指明数组的长度;[/b] [b]3、数组的引用:[/b] 1、通过数组下角标的方式来进行引用;下角标从0开始到n-1结束,其中n为数组的长度。 2、数组的长度通过length属性来调用; 代码 3、如何遍历数组:使用循环来进行遍历 for(int i = 0,i < scores1.length;i++){ System.out.println(scores1[i]); } 代码展示:
public class TestArray {
  public static void main(String[] args){
    int i1;
    i1 = 12;
    boolean b = true;
    //1.如何定义一个数组
    //1.1数组的声明
    String[] names;
    int[] scores;
    //1.2初始化
    //第一种:静态初始化:初始化数组与给数组元素赋值同时进行。
    names = new String[]{"张三","李四","王五"};
    //第二种:动态初始化:初始化数组与给数组元素赋值是分开进行的;
    scores = new int[4];
    //2.如何调用相应的数组元素:通过数组元素的下角标的方式来调用。
    //下角标从0开始,到n-1结束。其中N表示的是数组的长度。
    scores[0] = 87;
    scores[1] = 89;
    scores[3] = 98;
    //3。数组的长度:通过数组的length属性。
    System.out.println(names.length);
    System.out.println(scores.length);
    //4.如何遍历数组元素
//    System.out.println(names[0]);
//    System.out.println(names[1]);
//    System.out.println(names[2]);
    for(int i = 0;i < names.length;i++){
      System.out.println(names[i]);
    }
  }
}
以上这篇Java中的循环笔记整理(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部