zoukankan      html  css  js  c++  java
  • Java基础学习笔记2-循环

    while循环与do while循环:

    while循环的格式:

    while(条件表达式)

    {

      执行语句;

    }

    do while循环格式:

    do

    {

    执行语句;

    }

    while(条件表达式);

    do while与while的区别:
    do while无论条件是否成立都会执行一次语句,即执行do里面的语句,

    while则会先判断表达式是否成立,成立才会执行,不成立直接跳出while循环.

     1 class WhileDemo
     2 {
     3     public static void main(String args[])
     4     {
     5         //打印出1-10的数值
     6         int a = 1;
     7         while(a<=10) 
     8         {
     9             System.out.println("a="+a);
    10             a++;
    11         }
    12         
    13         /* do while与while的区别
    14             do whileW无论条件是否成立都会执行一次语句,即执行do里面的语句,
    15             while则会先判断表达式是否成立,成立才会执行,不成立直接跳出while循环.
    16         */
    17         int b = 1;
    18         do
    19         {
    20             System.out.println("do: b="+b);
    21             b++;
    22         }
    23         while(b<3);
    24         
    25         int c = 1;
    26         while(c<3)
    27         {
    28             System.out.println("While:c="+c);
    29             c++;
    30         }
    31     }
    32 }

    for循环.

    格式:for(初始表达式;条件表达式;变量操作表达式)

    {

    执行语句;

    }

    有关for循环的简单代码:

     1 class ForDemo
     2 {
     3     public static void main(String args[])
     4     {
     5         /*
     6         for循环的格式:
     7         for(初始话表达式;循环条件表达式;操作表达式)
     8         {
     9             执行语句;
    10         }
    11         */
    12         // for循环里面的变量只在for循环的大括号内有效.
    13         for(int a = 1;a <= 10; a++)
    14         {
    15             System.out.println(a);
    16         }
    17         
    18         /* 条件不成立直接结束循环
    19         for(int a = 1;a > 10; a++)
    20         {
    21             System.out.println(a);
    22         }
    23         */
    24     }
    25 }

    获取1-10的和并打印:

     1 /*
     2 需求,获取1-10的和;并打印.
     3 */
     4 class ForTest
     5 {
     6     public static void main(String args[])
     7     {    
     8     
     9         int sum = 0;
    10         int a = 1;
    11         while(a<=10)
    12         {
    13             sum += a;
    14             a++;
    15         }
    16         System.out.println("while sum="+sum);
    17         
    18         
    19         int num = 0;
    20         for(int x = 1; x <= 10; x++)
    21         {
    22             num = num + x;
    23         }
    24         System.out.println("for num="+num);
    25         
    26     }
    27 }

    获取1-100能被7整除的数的个数:

     1 /*
     2 需求:求出1-100之间能被7整除的数的个数.
     3 
     4 思路:
     5 1:先打印出1-100的数字
     6 2:在打印出的过程中,定义有关条件.只对7的倍数取余数.
     7 3:用一个变量来记录被7整除的数的个数.
     8 */
     9 class ForTest2
    10 {
    11     public static void main(String args[])
    12     {
    13         int sum = 0;
    14         for(int a = 1; a <= 100; a++)
    15         {
    16             if(a%7==0)
    17             {
    18                 //System.out.println("a="+a);
    19                 sum++;                        
    20             }
    21         }
    22         System.out.println("sum="+sum);
    23     }
    24 }


    for循环的嵌套(重点):

    for循环嵌套是在for循环中在嵌套一个for循环;

    一般格式:

    for(初始表达式;条件表达式;变量操作表达式)

    {

        for(初始表达式;条件表达式;变量操作表达式)

          {

            执行语句;

          }

    }

    for循环嵌套的相关demo:

     1 class ForForDemo
     2 {
     3     public static void main(String args[])
     4     {
     5         /*
     6         打印出长方形
     7         */
     8         for(int i = 0; i < 4; i++)
     9         {
    10             for(int j = 0; j < 3; j++)
    11             {
    12                 System.out.print("*");
    13             }
    14             System.out.println();
    15         }
    16         System.out.println("=======");
    17         /*
    18         打印出如下图形;
    19         *****
    20         ****
    21         ***
    22         **
    23         *
    24         */
    25         for(int x = 0; x < 5; x++)
    26         {
    27             for(int y = 0; y < 5-x; y++)
    28             {
    29                 System.out.print("*");
    30             }
    31             System.out.println();
    32         }
    33         
    34         for(int a = 0; a < 5; a++)
    35         {
    36             for(int b = a; b < 5; b++)  //改变初始化值
    37             {
    38                 System.out.print("*");
    39             }
    40             System.out.println();
    41         }
    42         
    43         for(int x = 5; x > 0; x--)
    44         {
    45             for(int y = 0; y < x; y++)  //改变条件判断表达式
    46             {
    47                 System.out.print("*");
    48             }
    49             System.out.println();
    50         }
    51         System.out.println("=======");
    52         
    53         /*
    54         打印出如下图形
    55         *
    56         **
    57         ***
    58         ****
    59         *****
    60         (内循环)
    61         尖朝上可以改变条件表达式,让条件随外循环变化
    62         尖朝下可以改变初始化表达式,让初始化随着外循环变化.
    63         */
    64         for(int x = 0; x < 5; x++)
    65         {
    66             for(int y = 0; y <= x; y++)
    67             {
    68                 System.out.print("*");
    69             }
    70             System.out.println();
    71         }
    72             
    73         
    74         
    75     }
    76 }
    View Code

    用for循环嵌套打印出99乘法表:

     1 /*
     2 需求:打印出如下图像
     3 1
     4 12
     5 123
     6 1234
     7 12345
     8 */
     9 class ForForTest
    10 {
    11     public static void main(String args[])
    12     {
    13         for(int a =1; a <= 5; a++)
    14         {
    15             for(int b =1; b <= a; b++)
    16             {
    17                 System.out.print(b);
    18             }
    19             System.out.println();
    20         }    
    21         System.out.println("==================");
    22         
    23         
    24         /*
    25             需求:打印出99乘法表
    26         */
    27         
    28         for(int x = 1; x <= 9; x++)
    29         {
    30             for(int y = 1; y <= x; y++)
    31             {
    32                 System.out.print(x + "*" + y + "=" + x*y + "	");
    33             }
    34             System.out.println();
    35         }
    36         System.out.println("=========================");
    37         
    38         for(int x = 1; x <= 9; x++)
    39         {
    40             for(int y = 1; y <= x; y++)
    41             {    
    42                 System.out.print(y+"*"+x+"="+y*x + "	");
    43             }
    44             System.out.println();
    45         }
    46     }
    47 }

    打印出等腰三角形(要学会思考,找到写代码的思路):

     1 /*
     2 需求:打印出如下图形
     3     *
     4    * *
     5   * * *
     6  * * * *
     7 * * * * *
     8 */
     9 
    10 
    11 class ForForTest2
    12 {
    13     public static void main(String args[])
    14     {
    15         for(int x = 0; x < 5; x++)
    16         {
    17             for(int a = x; a < 5; a++ )
    18             {
    19                 System.out.print(" ");
    20             }
    21             for(int y = 0; y <= x; y++)
    22             {
    23                 System.out.print("* ");
    24             }
    25             System.out.println();
    26         }
    27     }
    28     
    29     
    30     
    31     
    32     
    33 }

    感觉for循环嵌套好多种写法,思路很重要,以后要养成先写思路的编程思想,先把思路写出来,在慢慢的写代码.

    努力,才有可能更好.为明天加油.

  • 相关阅读:
    NOI2018 退役记
    APIO2018 被屠记
    CTSC2018 被屠记
    SNOI2018 退役记
    O(1) long long a*b%p
    prufer编码
    杜教筛
    GCC卡常
    NOIP2017滚粗记
    UVA 10763 Foreign Exchange
  • 原文地址:https://www.cnblogs.com/jerryho/p/4498778.html
Copyright © 2011-2022 走看看