【注:本篇適合零基礎 】
函式基本定義、語法
首先我們先要了解什么是函式?
函式的定義:在類中,有特定功能的一段獨立代碼塊
說人話:簡單來說就是,在一個類(一個 .java 檔案)里面,一段有自己存在的意義,有自己作用的獨立代碼
語法:
修飾符 回傳值型別 方法名(引數型別 引數名){
...
方法體
...
return 回傳值;
}
這里引出了新的知識點: 修飾符
修飾符分為:訪問控制修飾符 與 非訪問控制修飾符
首先我們來看 訪問控制修飾符
訪問控制:顧名思義就是 控制訪問,用來保護類,變數,方法和構造方法的訪問,在java中,支持4中不用的訪問權限
-
default: 默認,什么也不寫,在同一個包內 可以訪問 ,可以使用在:類, 介面,變數,方法
-
private: 私有的,在同一個類可見,可以使用在:變數、方法, 注意點:private 不能修飾類(外部類)
-
public : 公共的,對所有類可見,可以使用在:類,介面,方法,變數
-
protected: 對同一包內的類和所有子類可見, 可以用在:變數,方法,注意點:protected 不能修飾類(外部類)
例如:
public class ClassName {
// ...
private boolean testFlag;
static final double weeks = 1.0;
protected static final int TEST_ONE= 1;
public static void main(String[] arguments) {
// 方法體
}
}
接著我們來看 非控制修飾符
static : 表示靜態,用來修飾類方法 和 類 變數
重點:被 static 修飾的方法跟類,可以直接通過 類名.方法 、類名.變數 訪問
final : 被final 修飾的的類,不能被繼承(后續面向物件會涉及),修飾的方法不能被繼承類重新定義,修飾的變數為常量,不可修改
abstract : 用來創建抽象類 跟 抽象方法 (面向物件)
synchronized 和 volatile 主要用于執行緒編程 (java高級部分)
接著 我們回到 主題 :函式
通過 上面 我們已經了解到函式 的修飾符
函式其實也分為 有回傳值函式 ,無回傳值函式
有回傳值函式 :有回傳型別 ,簡單來說就是一個方法 執行什么功能,有一個結果,把這個功能回傳給呼叫方,用return xxx ,return 后面跟 回傳值型別 同 型別 的結果
下面是有回傳值函式的圖解

無回傳值函式 回傳值型別 用 void ,簡單來說 就是一個方法,執行一個功能,這個功能在這個方法內進行消化,不回傳給呼叫方,沒有return
下面是無回傳值函式的圖解

函式的呼叫
我們已經學習到了 什么是函式,函式的語法 以及 有回傳值函式 與 無回傳值 函式的定義
那么 ?函式該如何呼叫呢 ?
首先我們要知道
有回傳值函式,被呼叫,回傳的結果是一個值,至于這個值是什么型別,將由被呼叫(函式的回傳值型別)方來決定
無回傳值函式,也就是沒有回傳值了,一定是一條陳述句
來看一個簡單例子:
比較兩個數的大小,取最大的值,有回傳值呼叫
public static void main(String[] args) {
Integer method = getMethod(3, 21);
System.out.println(method);
}
/**
* 這是一個比較 兩個數大小的函式 ,回傳最大的值
* @param x
* @param y
* @return
*/
public static int getMethod (Integer x ,Integer y) {
int result;
if (x > y) {
result = x;
} else {
result =y;
}
return result;
}
執行結果:21
決議 :主函式 呼叫 getMethod 方法 ,并且傳引數 3 跟 21 ,獲取最大的值,從代碼中可以看到 回傳值型別 是整形 int ,因此 呼叫函式回傳值的型別 也為 int ,列印輸出為 21
比較兩個數的大小,取最大的值,無回傳值呼叫
public static void main(String[] args) {
getMethod(3, 21);
}
/**
* 無回傳值函式
* @param x
* @param y
*/
public static void getMethod(Integer x ,Integer y) {
// 比較兩個數的大小, 獲取兩個數最大的值
int result;
if (x > y) {
result = x;
} else {
result =y;
}
System.out.println(result);
}
執行結果為:21
決議:主函式呼叫無回傳值函式 getMethod, 并且傳參 3,21 ,無回傳值函式進行內部 列印結果,因此,主函式并沒有回傳值,僅僅是 一行代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538117.html
標籤:Java
下一篇:計算機網路面試大總結
