本章概要:
1、static 關鍵字
2、定義無參數的方法
3、定義帶參數的方法
4、定義帶返回值的方法
1、static 關鍵字
</br>課程概要:
類方法
靜態變量
一、類方法
1、由static 修飾的方法稱為類方法或靜態方法。
2、過程:.java文件--> javac.exe編譯 --> .class 文件 --> java.exe解釋器 -->內存的方法區,靜態方法被創建
二、靜態變量
1、由static修飾的變量稱為靜態變量,也稱類變量。
2、靜態變量定義的位置是在方法之外。
3、靜態變量與靜態方法都是類從磁盤加載至內存后被創建的,與類同時存在,同時消亡。
4、靜態變量又稱類的成員變量,在類中是全局變量,可以被類中的所有方法調用。
5、靜態變量耳朵值由JVM自動初識話,以下是各類型變量初始化值列表:
變量類型 | 初始值 |
---|---|
整型 | 0 |
浮點型 | 0.0 |
字符型 | unicode碼為0的字符,該字符不可見 |
布爾型 | false |
字符串型 | null |
【示例】
鍵盤輸入一個人的姓名、性別、年齡、身高、性格、然后讓該人向大家做自我介紹。
代碼:
import java.util.Scanner;
public class Introduce{
static String name;
static char sex;
static short age;
static float height;
static String type;
public static void main(String[] arg){
Scanner scanner = new Scanner(System.in) ;
System.out.println("Name: ");
name=scanner.next(); //1
System.out.println("Sex: ");
sex=scanner.next().charAt(0); //2
System.out.println("Age: ");
age=scanner.nextShort();
System.out.println("Height: "); //3
height=scanner.nextFloat();
System.out.println("Type: ");
type=scanner.next();
System.out.print("Hello,my name is "+name+".");
System.out.print("I'm "+ age+" this year.");
System.out.println("And I'm"+height+" cm.");
System.out.println("I'm a "+type+sex+" boy.");
}
}
*****//1 scanner.next()
輸入如果是ABCdef ,則讀取所有字符串。如果輸入是ab c def, 則只會讀取ab。
*****//2 scanner.next().charAt(0)
讀取輸入字符串的第一個字符
*****//3 System.out.print()和System.out.println()
使用System.out.print()表示下面輸出內容接著這行繼續輸出;
使用System.out.println()表示下面輸出內容換行進行輸出;
2、定義無參數的方法
</br>課程概要:
什么是方法
定義無參數方法
為什么使用方法
一、什么是方法
方法代表一段代碼,Java 的代碼通常都封裝在方法中。
例如main方法。main方法是Java規定的每個類的代碼運行入口
二、定義無參方法 (注:方法名要小寫)
static void 方法名(){
方法體-方法中的代碼
}
【示例】
static void input(){
方法中的Java代碼
}
三、為什么使用方法
1、Java的代碼通常要在方法中編寫,即代碼封裝在方法中。
2、模塊化編程:將具有某種功能的代碼塊封裝在一個方法中,不同的代碼有不同的方法封裝,利于程序的管理、維護。
3、將具有復用價值的代碼封裝在方法中,調用該代碼時,只需調用方法名,這樣能有效地減少程序的冗余。
【示例】
將上一節的【示例】中的輸入數據的代碼塊封裝在方法input()中,然后再main()中調用input方法,分別為兩個人輸入姓名、性別、年齡、身高、性格的信息。
import java.util.Scanner;
public class Introduce_Two{
static String name;
static char sex;
static short age;
static float height;
static String type;
static void input(){
Scanner scanner = new Scanner(System.in) ;
System.out.println("Name: ");
name=scanner.next();
System.out.println("Sex: ");
sex=scanner.next().charAt(0);
System.out.println("Age: ");
age=scanner.nextShort();
System.out.println("Height: ");
height=scanner.nextFloat();
System.out.println("Type: ");
type=scanner.next();
}
public static void main(String[] arg){
input();
System.out.print("Hello,my name is "+name+".");
System.out.print("I'm "+ age+" this year.");
System.out.println("And I'm"+height+" cm.");
System.out.println("I'm a "+type+sex+" boy.");
input();
System.out.print("Hello,my name is "+name+".");
System.out.print("I'm "+ age+" this year.");
System.out.println("And I'm"+height+" cm.");
System.out.println("I'm a "+type+sex+" boy.");
}
}
3、定義帶參數方法
</br>課程概要:
定義格式
為什么使用帶參方法
一、定義帶參方法
static void 方法名(類型1 變量1,類型2 變量2,...){
方法體-方法中的代碼
}
【示例】
static void feeling(String cause, String content){
方法中的代碼
}
二、為什么使用帶參數方法
帶參方法可以接收外界的數據,使得方法能處理更加復雜的問題,具有更靈活的功能。
【示例】
定義帶參方法feeling,表達人的感情,在main方法中調用feeling()
import java.util.Scanner;
public class Introduce_Two{
static String name;
static char sex;
static short age;
static float height;
static String type;
static void input(){
Scanner scanner = new Scanner(System.in) ;
System.out.println("Name: ");
name=scanner.next();
System.out.println("Sex: ");
sex=scanner.next().charAt(0);
System.out.println("Age: ");
age=scanner.nextShort();
System.out.println("Height: ");
height=scanner.nextFloat();
System.out.println("Type: ");
type=scanner.next();
}
static void feeling(String cause, String content){
System.out. println(cause);
System.out. println(content);
}
public static void main(String[] arg){
input();
System.out.print("Hello,my name is "+name+".");
System.out.print("I'm "+ age+" this year.");
System.out.println("And I'm"+height+" cm.");
System.out.println("I'm a "+type+sex+" boy.");
feeling("I get $500", "haha...")
input();
System.out.print("Hello,my name is "+name+".");
System.out.print("I'm "+ age+" this year.");
System.out.println("And I'm"+height+" cm.");
System.out.println("I'm a "+type+sex+" boy.");
feeling("I lost my girl", "unhapyy...");
}
}
4、帶返回值的類方法
</br>課程概要:
為什么使用帶返回值方法
定義格式
一、為什么使用帶返回值方法
1、在Java的Math類中定義了許多具有計算功能的方法,這些方法也稱為函數。
例如:double Math.sqrt( double value)
2、Java允許程序員自定義這種具有計算并能返回結果的方法。
二、定義格式
static 返回值類型 方法名(參數列表){
方法中的代碼
return 返回的數據;
}
示例: 定義一個計算并返回兩個數和的方法add,代碼如下:
static double add(double d1, double d2){
return d1+d2;
}
【示例】
定義一個能保留小數點后面任意位的方法pround, 在main方法中調用該方法,保留指定小數點后任意位。
import java.util.Scanner;
public class Test_03{
static double pround(double value, int index){
//compute 10^n
double pow10=Math.pow(10, index);
//compute value * (10^n)
double result=value*pow10;
//rounding the result
result=Math.round(result);
result/=pow10;
return result;
}
public static void main(String[] args){
System.out.println("the result of two decimal places of 3.758 is "+pround(3.758, 2));
}
}