zoukankan      html  css  js  c++  java
  • Java学习日记基础篇(三-下)——流程控制之循环控制

    循环控制

    for循环

    语法:

    for(循环初值;循环条件;步长)
    {
    	语句;	//循环体
    }

    例子:

    import java.io.*;
    public class Demo4
    {
    	public static void main(String args[])
    	{
    		for(int i=0;i<10;i++)
    		{
    			System.out.println("12.3");
    		}
    	}
    }

    while循环

    语法:特别说明while循环是先判断,再执行语句

    while(循环条件)
    {
    	语句;   //循环体
    }

    例子:

    import java.io.*;
    public class Demo4
    {
    	public static void main(String args[])
    	{
    		int i=0;
    		while(i<10) 
    		{
    			System.out.println("12.1");
    			i++;
    		}
    	}
    }

    do while循环

    语法:特别说明:do while是先执行再判断

    do {
    	语句;	//循环体
    }while(循环条件);
    

    例子:

    import java.io.*;
    public class Demo4
    {
    	public static void main(String args[])
    	{
    		int i = 0;
    		do{
    			System.out.println("do while循环");
    			i++;
    		}while(i<10);
    	}
    }

    do while 和 while 的区别

    import java.io.*;
    public class Demo4
    {
    	public static void main(String args[])
    	{
    		int i=0;
    		
    		while(i>10) 
    		{
    			System.out.println("while循环");
    			i++;
    		}
    		for (i=0;i>10;i++)
    		{
    			System.out.println("for循环");
    		}
    		i = 0;
    		do{
    			System.out.println("do while循环");
    			i++;
    		}while(i>10);
    	}
    }
    
    
    输出结果:
    D:myJavaDemo>java Demo4
    do while循环

      do while不管符不符合条件都会执行一次循环

    案例:请编写一个程序,可以接受一个整数,表示层数,打印出金字塔     

     当遇到一个题无从下手时,可以先拆解成简单的问题

    public class Demo5
    {
    	public static void main(String []args)
    	{
    		//死去活来-->打四层
    		int lay = 4;		//表示有多少层
    		for (int i=1;i<=lay;i++)
    		{
    			//打印*
    			for(int k=lay-i;k>0;k--)	//int k=1;k<=lay-i;k++
    			{
    				System.out.print(" ");
    			}
    			for (int j=1;j<=(i-1)*2+1;j++)	//1-1,2-3,3-5
    			{
    				System.out.print("*");
    			}
    			
    			System.out.println();		//打印出换行符
    		}
    	}
    }
    

      注意 System.out.println 和 System.out.print 不一样,前者会打出换行

    案例二:将金字塔打印成镂空形状的

    • 提示:要想到对打印 * 的那条语句动手脚
    • 注意到只有第一层和最后一层打印的东西和原来完全相同,所以要做判断,判断是否是顶层或者底层,i表示层数——(i==1 || ==lay)
    • 然后进行*号的判断,前后的 * 号都要打出来,所以要判断 * 是否是第一个和最后一个,j表示要打印的是第几个 * ——(j==1 || j==(i-1)*2+1),剩下的要打印 空格
    public class Demo5
    {
    	public static void main(String []args)
    	{
    		int lay = 7;		
    		for (int i=1;i<=lay;i++)
    		{
    			for(int k=lay-i;k>0;k--)
    			{
    				System.out.print(" ");
    			}
    			for (int j=1;j<=(i-1)*2+1;j++)
    			{
    				//判断盖层是否是顶层或者是底层
    				if(i==1||i==lay)
    				{
    					System.out.print("*");
    				}
    				else
    				{
    					//如果是第一个*和最后一个*号,都要打出来
    					if(j==1||j==(i-1)*2+1)
    					{
    						System.out.print("*");
    					}
    					else    //否则就打印空格
    					{
    						System.out.print(" ");
    					}
    				}
    			}
    			
    			System.out.println();		
    		}
    	}
    }
    

    作业:打一个镂空的菱形

  • 相关阅读:
    使用B或BL跳转时,下一条指令的地址的计算
    【flask-Email】邮件发送
    【MAC】 命令行解压缩 rar 文件
    【flask_sqlalchemy】模糊查询
    【python】集合 list差集|并集|交集
    【pycharm】Mac版快捷键
    【mysql】查询最新的10条记录
    【Python】—— 获取当前运行函数名称和类方法名称
    【Python】—— 获取函数内部变量名称
    【python3】 抓取异常信息try/except
  • 原文地址:https://www.cnblogs.com/houzhaohui/p/9597040.html
Copyright © 2011-2022 走看看