1-Java 類方法詳解

本章概要:
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));
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,809評論 25 708
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,738評論 18 399
  • 嘴巴長的絕對是身體最重要部位。吃飯,說話,微笑。我這個嘴巴不好,吃飯不香,說話不對,微笑難看。咋辦呢?今天有句話差...
    文莉的小屋閱讀 294評論 0 0
  • 老媽: 昨天做夢,又夢到您啦! 這次看不清您的音容笑貌,但可以清晰感受到您的存在,夢里我還是在對...
    楊靜相伴要你好看閱讀 287評論 0 1
  • 情深底理閱讀 38評論 0 1