天天看點

Lesson_for_java_day06--java中類的定義、方法的定義、鍵盤的輸入方式

/*
------------------------表達式自增運算練習------------------------------------------


練習一:計算三個表達式中b的值:
表達式1:int a = 2; int b = a + 3 * a++;
表達式2:int a = 2; int c = a + 3 * ++a;
表達式3:int a = 2; int d = (a++) + 3 * a;
表達式4:int a = 2; int e = (++a) + 3 * a;
解答:表示式1:b = a + 3 * a; a++;  --a的值都為2,運算完後a再自加1,是以運算結果為:8
 表達式2:b = a + 3 * ++a;  --運算從左到右,前一個a值為2,後一個a自加後再參加運算,
是以運算結果為:11
 表達式3:b = (a++) + 3 * a;  --括号的運算優先級最高,而a先運算後自加,是以括号整體值為2,
a自加後為3,再參加後面的乘法運算,是以運算結果為:11
 表達式4:b = (++a) + 3 * a;  --a先自加後再參加運算,是以括号的整體值為3,a自加後為3,
再參加後面乘法運算,是以運算結果為:12


---------------------------java中類的定義----------------------------------------------------

類定義的方法:
class 類名 {
屬性;
方法;
}
屬性:屬性也叫成員變量,主要用于描述類的狀态。
方法:方法也叫成員方法,主要用于描述類的行為。

生成對象的方法:
格式:;類名 對象名 = new 類名(參數);
類名(參數):其實是調用構造函數。
對象存在于堆記憶體中,而引用(對象名)存在于棧記憶體中。

對象的使用方法:
使用對象就是調用對象的變量和函數:
對象.變量;     對象.函數();

匿名對象的使用:
可以不定義對象的引用名稱,而直接調用這個對象的方法,這樣的對象叫做匿名對象。
eg:new Dog().jump();
使用方式:
1、當對對象的方法隻調用一次(調用屬性無意義)時,可以使用匿名對象。
2、可以将匿名對象作為實際參數傳遞。


--------------------------Java中方法的定義-----------------------------------------


Java的方法是一段用來完成特定功能的代碼片段。
聲明格式:
[修飾符1  修飾符2  …] 傳回值類型 方法名(形式參數清單){
Java語句塊;
return 語句;
}


return語句:return語句終止方法的運作并指定要傳回的資料。 
傳回值:方法在執行完畢後返還給調用它的環境的資料。
傳回值類型:事先約定的傳回值的資料類型,如無傳回值,必須給出傳回值類型void。 
return語句相當于傳回一個相應的值給調用對象。也就是說給調用對象指派。
是以如果傳回值類型與調用對象的類型不一樣時,需要進行強制類型轉換。
return語句後面不可以再有語句。

變量的作用域:
局部變量:方法體内部聲明的變量稱為局部變量。隻能在方法體内使用。
成員變量:在方法體外,類内部聲明的變量。可以在聲明之後的語句内使用。
局部變量存在于棧記憶體中,而成員變量存在于堆記憶體中。


參數的形式:
形式參數:在方法被調用時用于接收外界輸入的資料。
實參:調用方法時實際傳給方法的資料。

方法名:首寫字母小寫,駝峰式命名,望文生義


方法的調用方式:對象名.方法名(實參清單)
實參的數目、資料類型和次序必須和所調用方法聲明的形參清單比對,


方法調用中參數傳遞遵循值傳遞的原則:基本類型傳遞的是該資料值本身。
引用類型傳遞的是對對象的引用,而不是對象本身 。

靜态方法隻能通路靜态方法和靜态變量。


------------------------java中鍵盤輸入方式------------------------------------


先生成Scanner對象。再調用對象内的方法,完成不同資料類型的輸入。
Scanner input = new Scanner(System.in);
double a = input.nextDouble();//從鍵盤讀入double類型資料
int b = input.nextInt();//從鍵盤讀入int類型資料
input.nextLine();//吸收回車
String s = input.nextLine();//從鍵盤讀入一串字元串


*/
           

java中,成員變量和局部變量的示例:

public class Test2 {
	static int age = 20;//全局變量(類内部,方法外部)
	static String name = "張三";
	public static void main(String[] args) {
		int age = 21;//局部變量
		System.out.println("aaaa");
		System.out.println(age);//局部變量(方法内部)
		//getAge(); 非靜态方法,主函數不可以調用
		getName();
	}

	public void getAge() {
		System.out.println(age);//全局變量
	}

	public static void getName() {
		System.out.println(name);//全局變量
	}
}
           

java中,鍵盤輸入資料的方式:

import java.util.Scanner;//引入Scanner類

public class TestScanner {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		double a = input.nextDouble();//從鍵盤讀入double類型資料
		System.out.println("a=" + a);
		int b = input.nextInt();//從鍵盤讀入int類型資料
		System.out.println("b=" + b);
		input.nextLine();//吸收回車
		String s = input.nextLine();從鍵盤讀入一串字元串
		System.out.println("s=" + s);
		System.out.println("請從鍵盤上輸入5個int類型資料:");
		int i1 = input.nextInt();
		int i2 = input.nextInt();
		int i3 = input.nextInt();
		int i4 = input.nextInt();
		int i5 = input.nextInt();
		System.out.println("i1=" + i1+ ",i2=" + i2+ ",i3=" +i3 +",i4="+i4 +",i5=" + i5);
	}
}