java基礎03,04

流程控制語句:

順序結構  程序從上往下執行
選擇(判斷)結構 有選擇的執行
 if條件
 switch語句
循環結構 重複執行某段代碼塊多次

有三種循環
for:
for(初始化表達式;條件表達式;增量表達式) {
循環體;
}
while:
while(條件表達式) {
循環體;
}
升級版:
初始化表達式;
while(條件表達式) {
循環體;
增量表達式;
}
do...while:
do {
循環體;
}while(條件表達式);
升級

初始化表達式;
do {
循環體;
增量表達式;
}while(條件表達式);
區別:
for,while循環都是先執行判斷,如果判斷爲true,再執行循環體。
do...while是先執行循環體,再判斷,最後如果爲true,會繼續執行循環體。至少執行一次循環體。
我們到底用誰呢?
一般情況下,常用for和while。
如果是一個範圍,用for居多。
如果僅僅只是一個判斷,用while循環。

如果增量在變化後,在外面不再被使用,就使用for循環,效率高一些。

 for語句 當明確了範圍時,用for循環,並且定義的變量不在循環外參與運算
 while語句 只能做出判斷,在什麼時候結束循環時,可以用while循環語句
 do...while語句 只有它是先執行循環體,後判斷,至少執行一次循環體


附加知識:

鍵盤錄入的使用步驟:

導包:
 import java.util.Scanner;
 創建對象
 Scanner sc=new Scanner(System.in);

 int num=sc.nextInt();

案例:

/*
	用while循環求1-100之間的奇數和

	分析:
		第一步:定義一個求奇數和的變量
		第二部:初始化變量,
		第三部:while循環判斷
		第四步:
*/

class GetSum2 
{
	public static void main(String[] args) 
	{
		int i=1,sum=0;
		while(i<=100){
			if(i%2!=0){
				sum+=i;
			}
			i++;
		}
		
		System.out.println("1-100的奇數和爲:"+sum);
	}
}
求階乘:

import java.util.Scanner;
class JieCheng 
{
	public static void main(String[] args) 
	{
		int a=getSc();
		getSum(a);
	}
	public static int getSc(){
		Scanner sc=new Scanner(System.in);
		System.out.println("請輸入一個整數:");
		int a=sc.nextInt();
		return a;
	}
	public static void getSum(int a){
		int sum=1;
		for(int i=2;i<=a;i++){
			sum*=i;
		}
		System.out.println(a+"的階乘是:"+sum);
	}
}
求100-1000之間的水仙花數

class ShuiXian{
	public static void main(String[] args){
		for(int i=100;i<1000;i++){
			int g=i%10;
			int s=i/10%10;
			int b=i/100%10;
			if(g*g*g+s*s*s+b*b*b==i){
				System.out.println(i);
			}
		}
	}
}

/*
	我國最高山峯是珠穆朗瑪峯,8848米。現在我有一張足夠大的紙,它的厚度是0.01米。
	請問,我摺疊多少次,可以折成珠穆朗瑪峯的高度。
*/
class GetMountHeight{
	public static void main(String[] args){
		float h=0.01f;
		int count=1;
		int ct=2;
		while(ct*h<8848){
			//System.out.println(count);
			ct*=2;
			count++;
		}
		System.out.println("需要疊加"+count+"次,可以達到珠穆朗瑪峯的高度!");
		getHeight();
	}
	public static void getHeight(){
		int count=0;
		for(float h=0.01f;h<=8848;h*=2){
			count++;
		}
		System.out.println("需要疊加"+count+"次,可以達到珠穆朗瑪峯的高度!");
	}
}


/*
	153=1^3+5^3+3^3

	先定義三個變量;
	int a,b,c;
	定義for循環求出100-999之間的數。
	for(int i=100;i<=999;i++)
	分解這個數字,求出百,十,個,位數字
	a=i/100%10;
	b=i/10%10;
	c=i%10;
*/

class GetNumPrint 
{
	public static void main(String[] args) 
	{
		int num=0;
		for(int i=10000;i<100000;i++){
			int ge=i%10;
			int shi=i/10%10;
			int bai=i/100%10;
			int qian=i/1000%10;
			int wan=i/10000%10;

			if(ge==wan&&shi==qian&&ge+shi+qian+wan==bai){
				System.out.println(i);
				num++;
			}
		}
		System.out.println("滿足條件的數共有:"+num);
	}
}
函數:

定義:完成特定功能的代碼塊

格式:

修飾符 返回值類型 函數名(數據類型 形式參數1,數據類型 形式參數2,...) {
函數體;
return 返回值;
}


修飾符:public static
返回值類型:是功能的結果值的數據類型。如果沒有結果,這裏是void。
函數名:爲了方便函數的調用,我們給其起了一個名字。
參數:
實際參數 實際參與運算的值
形式參數 用於接收實際參數的變量
函數體:就是完成功能的代碼塊。
return 返回值:返回值就是功能的結果,由return把結果返回給調用者。
      哪裏調用,返回到哪裏。
      如果是void類型,這裏有return; 但是可以省略。

函數的特點:

只有被調用才執行、函數之間是平級關係,不要在一個函數中定義一個函數、提高代碼複用性
寫函數的兩個明確:

返回值類型、參數列表(類型及個數)

函數的調用

void類型:只能單獨調用

非void型:單獨調用無意義、可以輸出調用、可以賦值調用(常用方式)

函數重載

函數名相同,參數列表不同(個數不同,對應的類型不同)

跟返回值無關


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章