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();		
		}
	}
}

作业:打一个镂空的菱形

原文地址:https://www.cnblogs.com/houzhaohui/p/9597040.html