1 變數
1.1 概念
可以改變的數,稱為變數,在Java語言中,所有的變數在使用前必須宣告,
一般通過“變數型別 變數名 = 變數值 ;”這三部分來描述一個變數,如:int a = 3 ;
變數的使用原則:就近原則,即盡量控制變數的使用范圍到最小
2.2 區域變數
位置:定義在方法里或者區域代碼塊中
注意:必須手動初始化來分配記憶體.如:int i = 5;或者int i; i = 5;
作用域:也就是方法里或者區域代碼塊中,方法運行完記憶體就釋放了
2.3 成員變數
位置:定義在類里方法外
注意:不用初始化,也會自動被初始化成默認值
作用域:整個類中,類消失了,變數才會釋放

2.4 練習:區域變數與成員變數測驗
創建包: cn.tedu.basic
創建類: TestVariable.java
package cn.tedu.oop;
/**本類用于測驗變數的使用*/
public class TestVariable {
//2.定義成員變數:
//1)位置:類里方法外
//2)無需手動初始化,會自動賦予對應型別的默認值
//3)作用域:在整個類中生效,類消失,變數才會消失
static int count;
//3.變數有一個使用的原則:就近原則
static int sum = 200;
public static void main(String[] args) {
//1.定義區域變數:
//1)位置:在方法里/區域代碼塊里
//2)必須手動初始化
//3)作用域:在方法/區域代碼塊中,對應的代碼執行完區域變數就被釋放
int sum = 100;//定義在方法中的區域變數sum
System.out.println(sum);//變數的就近原則:使用的都是自己附近的變數,100
System.out.println(count);
for (int i = 0; i < 10; i++) {//區域變數i只能在回圈中使用
System.out.println(i);
}
//System.out.println(i);//報錯:無法參考變數i:i cannot be resolved to a variable
}
}
2 方法
2.1 概述
被命名的代碼塊,方法可以含引數可以不含引數,可以提高代碼的復用性,
2.2 方法定義的格式

2.3 方法呼叫順序圖
順序執行代碼,呼叫指定方法,執行完畢,回傳呼叫位置

2.4 練習:測驗方法的呼叫順序/引數/回傳值
創建包:cn.tedu.method
創建類:TestMethod .java
package cn.tedu.method;
/**本類用于測驗方法*/
public class TestMethod {
//1.創建程式的入口函式main()
public static void main(String[] args) {
System.out.println(1);
/**2.我們通過方法名+引數串列的方式來呼叫方法的功能*/
method1();//呼叫method1()
System.out.println(2);
method2(3);//呼叫method2()
int result = method3(1,2);//呼叫method3()
System.out.println(result);
}
/**3.如果方法想要回傳值,必須修改回傳值型別
* 并且return對應型別的結果
* 如果方法的回傳值型別是void,不允許有回傳值
* */
/*本方法用來測驗方法的回傳值型別*/
public static int method3(int i, int j) {
/**4.通過return關鍵字將方法結果回傳到呼叫位置*/
return i+j;
}
/**1.方法的修飾符 方法的回傳值型別 方法名(方法引數){方法體}*/
/*method1()想測驗方法的呼叫順序*/
public static void method1() {
System.out.println(5);
System.out.println(6);
System.out.println(7);
}
/*本方法用來測驗方法的引數,引數的位置在小括號里*/
public static void method2(int a) {
System.out.println("海綿寶寶今年:"+ a +"歲啦~");
}
}
2.5 方法的多載
方法的多載是指在一個類中定義多個同名的方法,但是每個方法的引數串列不同(也就是指引數的個數和型別不同),程式在呼叫方法時,可以通過傳遞給他們的不同個數和型別的引數來決定具體呼叫哪個方法.
2.6 練習:測驗方法的多載
創建包: cn.tedu.method
創建類: TestMethodOverload.java
package cn.tedu.method;
/**本類用于測驗方法的多載*/
public class TestMethodOverload {
public static void main(String[] args) {
/**1.我們根據方法名+引數串列確定具體呼叫哪個方法*/
/**2.方法的多載:
* 在同一個類中,存在方法名相同,但引數串列不同的方法
* 如果在同類中,同名方法的引數個數不同,一定構成多載
* 如果在同類中,同名方法的引數個數相同,
* 需要查看對應位置上引數的型別,而不是引數名,與引數名無關
* (int a,String b)與(int b,String a)--不構成多載
* (int a,String b)與(String a,int b)--構成多載
* */
//2.呼叫method()
method();
//4.呼叫method(int)
method(666);
//6.呼叫method(int,String)
method(888,"泡泡");
}
//1.創建一個無參的method()
public static void method() {
System.out.println("哈哈哈哈我沒引數");
}
//3.創建一個method(int n)
public static void method(int n) {
System.out.println("哈哈哈哈我的引數是:"+n);
}
//5.創建一個method(int n,String s)
public static void method(int a,String b) {
System.out.println(b+"今晚要干他"+a+"碗大米飯");
}
public static void method(String a,int b) {
System.out.println(b+"今晚要干他"+a+"碗大米飯");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271976.html
標籤:java
