Java 語句while、do while、for循環、嵌套、for與while的區別、break continue(3)


for循環語句,雙從for嵌套:

 

/*
for(初始化表達式;循環條件表達式;循環后的操作表達式)
   { 執行語句; } */
/*1,變量有自己的作用域。對於for來講:如果將用於控制循環的增量定義在for語句中。那么該變量只在for語句內有效。 for語句執行完畢。該變量在內存中被釋放。
 2,for和while可以進行互換。如果需要定義循環增量。用for更為合適。 總結: 什么時候使用循環結構? 當要對某些語句執行很多次時,就使用循環結構。 */
class ForDemo 
{
	public static void main(String[] args) 
	{
		for(int x = 0; x<3 ; x++)
		{
			System.out.println("x="+x);

		}
		//System.out.println("x===="+x);
		
		int y=0;
		while(y<3)
		{
			System.out.println("y="+y);
			y++;
		}
		System.out.println("y===="+y);
	}
}

//語句嵌套形式。其實就是語句中還有語句。 //循環嵌套。 class ForForDemo { public static void main(String[] args) { for(int x=0; x<3; x++)// { for(int y=0; y<4; y++) { System.out.print("*"); } System.out.println();//只有一個功能就是換行。 } System.out.println("-------------------"); /* ***** **** *** ** * 發現圖形有很多行,每一個行有很多列。 要使用嵌套循環。原理:形象說法:大圈套小圈。 */ //int z = 5; for (int x=0; x<5 ;x++ )//x<5:因為外循環控制行數。一共5行。 { for (int y=x; y<5 ;y++) { System.out.print("*"); } System.out.println(); //z++; } } } /* **** **** **** 對於打印長方形:外循環控制的行數。內循環控制的是每一行的列數。也就是一行中元素的個數。 ***** **** *** ** * */  
九九乘法表:

/*

*
**
***
****
*****


1
12
123
1234
12345

  
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9


*/

class  ForForTest
{
	public static void main(String[] args) 
	{
		/*
		
		*
		**
		***
		****
		*****
		
		不是規律的規律:
		尖朝上,可以改變條件。讓條件隨着外循環變化。

		尖朝下,可以初始化值,讓初始化隨着外循環變化。
		
		*/

		for (int x=0; x<5 ;x++ )
		{
			for (int y=0 ; y<=x ; y++ )
			{
				System.out.print("*");
			}
			System.out.println();
		}

		System.out.println("----------------------");

		/*
		
		1
		12
		123
		1234
		12345

		*/

		for (int x=1; x<=5; x++)
		{ 
			for (int y=1; y<=x;y++ )
			{
				System.out.print(y);
			}
			System.out.println();
		}

		System.out.println("----------------------");


		/*
		
		九九乘法表
		1*1=1
		1*2=2 2*2=4
		1*3=3 2*3=6 3*3=9

		
		*/

		for (int x=1; x<=9 ; x++)
		{
			for (int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}

	}
}

  

/*

----*
---* *
--* * *
-* * * * 
* * * * * 

* * * * * 
-* * * *
--* * * 
---* *
----* 

*/

class  ForForTest2
{
	public static void main(String[] args) 
	{
		for (int x=0; x<5 ;x++ )
		{
			for(int y=x+1; y<5 ; y++)
			{
				System.out.print(" ");
			}
			for(int z=0; z<=x ; z++)
			{
				System.out.print("* ");
			}

			System.out.println();
		}
	}
}

  

class ForTest 
{
	public static void main(String[] args) 
	{
		int x = 1;
		for(System.out.println("a"); x<3 ;System.out.println("c"),x++)
		{
			System.out.println("d");
			//x++;
		}
		//adcdc

		for(int y=0; y<3; y++)
		{
			
		}
		/*
		無限循環的最簡單表現形式。
		for(;;){}

		while(true){}
		*/
	}
}

 累加計數器:

 

/*
1,獲取1~10的和,並打印。
*/
class  ForTest2
{
	public static void main(String[] args) 
	{
		/*
		//1,定義變量用於存儲不斷變化的和。
		int sum = 0;

		//2,定義變量,記錄住不斷變化的被加的數。
		int x = 1;
		//3,定義循環,重復加法的過程。
		while(x<=10)
		{
			sum = sum + x;
			x++;
		}
		System.out.println("sum="+sum);
		*/
		/*
		循環注意:
		一定要明確哪些語句需要參與循環,哪些不需要。
		*/
		/*
	    0+1
		1+2
		 3+3
		   6+4
		   */
		//用for來體現。
		int sum = 0;

		for(int x=0; x<=10; x++)
		{
			sum += x;
			
		}
		System.out.println("for sum = "+sum);

		/*
		其實這就是累加思想。
		原理:通過變量記錄住每次變化的結果。
		通過循環的形式。進行累加動作。

		*/
	}
}

  

/*
2,1~100之間 7的倍數的個數。並打印。
思路:
1,先對1~100進行循環(遍歷)通過循環的形式。
2,在遍歷的過程中,定義條件。只對7的倍數進行操作。
3,因為7的倍數不確定,只要符合條件,就通過一個變量來記錄住這個變化的次數。
步驟:
1,定義循環語句,選擇for語句。
2,在循環中定義判斷。只要是7的倍數即可。使用if語句。條件:7的倍數 x%7==0;
3,定義變量,該變量隨着7的倍數的出現而自增。
*/
class  ForTest3
{
	public static void main(String[] args) 
	{
		int count = 0;
		for(int x=1; x<=100; x++)
		{			
			if(x%7==0)
				//System.out.println("x="+x);
				count++;
		}
		System.out.println("count="+count);

		/*
		計數器思想。
		通過一個變量記錄住數據的狀態變化。
		也許通過循環完成。

		*/
	}
}

  

函數:
class FunctionDemo { public static void main(String[] args) { /* int x = 4; System.out.println(x*3+5); x = 6; System.out.println(x*3+5); */ //int y = 4*3+5; //int z = 6*3+5; //int x = getResult(4); //System.out.println("x="+x); //int y = getResult(6); getResult(5); } //發現以上的運算,因為獲取不同數據的運算結果,代碼出現了重復。 //為了提高代碼的復用性。對代碼進行抽取。 //將這個部分定義成一個獨立的功能。方便與日后使用。 //java中對功能的定義是通過函數的形式來體現的。 //需要定義功能,完成一個整數的*3+5的運算, //1,先明確函數定義的格式。 /* 修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2,) { 執行語句; return 返回值; } //當函數運算后,沒有具體的返回值時,這是返回值類型用一個特殊的關鍵字來標識。 //該關鍵字就是void。void:代表的是函數沒有具體返回值的情況。 //當函數的返回值類型是void時,函數中的return語句可以省略不寫。 */ public static void getResult(int num) { System.out.println(num * 3 + 5); return;//可以省略 } }

  

class FunctionDemo2 
{
	public static void main(String[] args) 
	{
		/*
		int sum = getSum(4,6);

		System.out.println("sum="+sum);
		sum = getSum(2,7);
		System.out.println("sum="+sum);
		*/
		//get(4,5);
		int x = getSum(4,4);
		int y = getSum(7,9);
		int num = getMax(x,y);

	}
	
	/*
	這個功能定義思想有問題,為什么呢?因為只為完成加法運算,至於是否要對和進行打印操作,
	那是調用者的事,不要在該功能中完成。

	public static void get(int a,int b)
	{
		System.out.println(a+b);
		return ;
	}
	*/

	/*
	
	如何定義一個函數呢?
	1,既然函數是一個獨立的功能,那么該功能的運算結果是什么先明確
		因為這是在明確函數的返回值類型。
	2,在明確在定義該功能的過程中是否需要未知的內容參與運算。
		因為是在明確函數的參數列表(參數的類型和參數的個數)。

	*/

	//需求:定義一個功能。完成3+4的運算。並將結果返回給調用者。
	/*
	1,明確功能的結果:是一個整數的和。
	2,在實現該功能的過程中是否有未知內容參與運算,沒有。
	其實這兩個功能就是在明確函數的定義。
	1,是在明確函數的返回值類型。
	2,明確函數的參數列表( 參數的類型和參數的個數)。
	
	
	public static int getSum()
	{
		return 3+4;
	}
	*/
	/*
	以上這個函數的功能,結果是固定的,毫無擴展性而言。
	為了方便用戶需求。由用戶來指定加數和被加數。這樣,功能才有意義。
	思路:
	1,功能結果是一個和。返回值類型是int。
	2,有未知內容參與運算。有兩個。這個兩個未知內容的類型都是int。
	*/
	public static int getSum(int x,int y)
	{
		return x+y;
	}
	

	/*
	需求:判斷兩個數是否相同。
	思路:
	1,明確功能的結果:結果是:boolean 。
	2,功能是否有未知內容參與運算。有,兩個整數。
	*/
	public static boolean compare(int a,int b)
	{
		/*
		if(a==b)
			return true;
		//else
			return false;
		*/

		//return (a==b)?true:false;

		return a==b;
	}

	/*
	需求:定義功能,對兩個數進行比較。獲取較大的數。
	*/
	public static int getMax(int a,int b)
	{
		/*
		if(a>b)
			return a;
		else
			return b;
			*/
		return (a>b)?a:b;
	}
}

重載

/*
什么時候用重載?
當定義的功能相同,但參與運算的未知內容不同。
那么,這時就定義一個函數名稱以表示起功能,方便閱讀,而通過參數列表的不同來區分多個同名函數。

*/

class FunctionOverload 
{
	public static void main(String[] args) 
	{

//		add(4,5);
//		add(4,5,6);
		print99();

	}
	public static void print99(int num)
	{
		for(int x=1; x<=num; x++)
		{
			for(int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}

	//打印99乘法表
	public static void print99()
	{
		print99(9);
	}

	//定義一個加法運算,獲取兩個整數的和。
	public static int add(int x,int y)
	{
		return x+y;
	}

	//定義一個加法,獲取三個整數的和。
	public static int add(int x,int y,int z)
	{
		return add(x,y)+z;
	}
}


/*

void show(int a,char b,double c){}

a.
void show(int x,char y,double z){}//沒有,因為和原函數一樣。

b.
int show(int a,double c,char b){}//重載,因為參數類型不同。注意:重載和返回值類型沒關系。
c.

void show(int a,double c,char b){}//重載,因為參數類型不同。注意:重載和返回值類型沒關系。

d.
boolean show(int c,char b){}//重載了,因為參數個數不同。

e.
void show(double c){}//重載了,因為參數個數不同。

f.
double show(int x,char y,double z){}//沒有,這個函數不可以和給定函數同時存在與一個類中。


*/

  矩形,99表

/*
1,定義一個功能,用於打印矩形。

2,定義一個打印99乘法表功能的函數。

*/

class  FunctionTest
{
	public static void main(String[] args) 
	{
//		draw(5,6);
//		printHr();
//		draw(7,9);
//		printHr();

		print99();
		

	}

	/*
	定義一個打印99乘法表功能的函數。
	*/
	public static void print99()
	{
		for(int x=1; x<=9; x++)
		{
			for(int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}

	
	/*
	定義一個功能,用於打印矩形。
	思路:
	1,確定結果:沒有,因為直接打印。所以返回值類型是void
	2,有未知內容嗎?有,兩個,因為矩形的行和列不確定。
	*/
	public static void draw(int row,int col)
	{
		for(int x=0; x<row; x++)
		{
			for(int y=0; y<col; y++)
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}

	public static void printHr()
	{
		System.out.println("------------------------------");
	}

}

面向對象函數:

http://www.cnblogs.com/itcqx/p/5546906.html

 1 /*
 2 練習:3000米長的繩子,每天減一半。問多少天這個繩子會小於5米?不考慮小數。
 3 
 4 */
 5 class  ForTest4
 6 {
 7     public static void main(String[] args) 
 8     {
 9         int day = 0;
10         for(int x=3000; x>=5; x/=2)
11         {
12             day++;
13         }
14         System.out.println("day="+day);
15 
16         /*
17         for(int x=3000; x>=5; day++)
18         {
19             x = x/2;
20         }
21         */
22     }
23 }
View Code


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM