深入瞭解 Java 方法和參數的使用方法

来源:https://www.cnblogs.com/xiaowange/p/18019853
-Advertisement-
Play Games

Java 方法 簡介 方法是一塊僅在調用時運行的代碼。您可以將數據(稱為參數)傳遞到方法中。方法用於執行特定的操作,它們也被稱為函數。 使用方法的原因 重用代碼:定義一次代碼,多次使用。 提高代碼的結構化和可讀性。 將代碼分解成更小的模塊,易於維護和理解。 創建方法 方法必須在類內聲明。它的定義包括 ...


Java 方法

簡介

方法是一塊僅在調用時運行的代碼。您可以將數據(稱為參數)傳遞到方法中。方法用於執行特定的操作,它們也被稱為函數。

使用方法的原因

  • 重用代碼:定義一次代碼,多次使用。
  • 提高代碼的結構化和可讀性。
  • 將代碼分解成更小的模塊,易於維護和理解。

創建方法

方法必須在類內聲明。它的定義包括方法的名稱,後跟括弧()。Java提供了一些預定義方法,如 System.out.println(),但您也可以創建自己的方法來執行特定的操作:

public class Main {
  static void myMethod() {
    // 要執行的代碼
  }
}

示例解釋:

  • myMethod() 是方法的名稱。
  • static 表示該方法屬於 Main 類而不是 Main 類的對象。
  • void 表示此方法沒有返回值。

調用方法

要在Java中調用一個方法,寫出方法的名稱,後跟兩個括弧()和一個分號;

public class Main {
  static void myMethod() {
    System.out.println("I just got executed!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

輸出:

I just got executed!

參數

方法可以接受參數,參數就像占位符,允許您在調用方法時傳遞不同的值。

示例:

public class Main {
  static void myMethod(String name) {
    System.out.println("Hello, " + name + "!");
  }

  public static void main(String[] args) {
    myMethod("John Doe");
    myMethod("Jane Doe");
  }
}

輸出:

Hello, John Doe!
Hello, Jane Doe!

返回值

方法可以返回一個值,返回值類型可以是任何Java數據類型,包括 intdoubleString 等。

示例:

public class Main {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    int sum = myMethod(5, 10);
    System.out.println("The sum is: " + sum);
  }
}

輸出:

The sum is: 15

總結

方法是Java編程中一個重要的概念,它們允許您重用代碼,提高代碼的結構化和可讀性,並將其分解成更小的模塊。

Java 方法參數

參數和實參

信息可以作為參數傳遞給方法。參數在方法內部充當變數。

語法:

methodName(parameter1, parameter2, ...);

示例:

public class Main {
  static void myMethod(String fname) {
    System.out.println(fname + " Refsnes");
  }

  public static void main(String[] args) {
    myMethod("Liam");
    myMethod("Jenny");
    myMethod("Anja");
  }
}

輸出:

Liam Refsnes
Jenny Refsnes
Anja Refsnes

解釋:

  • myMethod 方法有一個參數:fname,類型為 String
  • main 方法中,我們調用了 myMethod 方法三次,每次都傳遞了一個不同的字元串作為實參。
  • 方法內部,我們使用 System.out.println 語句將參數值列印到控制台。

多個參數

可以向方法傳遞任意數量的參數。

語法:

methodName(parameter1, parameter2, ..., parameterN);

示例:

public class Main {
  static void myMethod(String fname, int age) {
    System.out.println(fname + " is " + age);
  }

  public static void main(String[] args) {
    myMethod("Liam", 5);
    myMethod("Jenny", 8);
    myMethod("Anja", 31);
  }
}

輸出:

Liam is 5
Jenny is 8
Anja is 31

解釋:

  • myMethod 方法有兩個參數:fname (類型為 String) 和 age (類型為 int)。
  • main 方法中,我們調用了 myMethod 方法三次,每次都傳遞了兩個實參。
  • 方法內部,我們使用 System.out.println 語句將參數值列印到控制台。

返回值

方法可以返回一個值。

語法:

returnType methodName(parameter1, parameter2, ..., parameterN) {
  // 方法體
  return value;
}

示例:

public class Main {
  static int myMethod(int x) {
    return 5 + x;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(3));
  }
}

輸出:

8

解釋:

  • myMethod 方法返回一個 int 類型的返回值。
  • 方法內部,我們使用 return 關鍵字返回了 5 + x 的值。
  • main 方法中,我們調用了 myMethod 方法並將其返回值列印到控制台。

帶有 If...Else 的方法

方法內部可以使用 if...else 語句。

示例:

public class Main {

  // 創建一個帶有整數變數 age 的 checkAge() 方法
  static void checkAge(int age) {

    // 如果 age 小於 18,則列印“拒絕訪問”
    if (age < 18) {
      System.out.println("Access denied - You are not old enough!");

    // 如果 age 大於等於 18,則列印“允許訪問”
    } else {
      System.out.println("Access granted - You are old enough!");
    }

  }

  public static void main(String[] args) {
    checkAge(20); // 調用 checkAge 方法並傳遞年齡為 20
  }
}

輸出:

Access granted - You are old enough!

解釋:

  • checkAge方法有一個參數:age,類型為int
  • 方法內部,我們使用if語句檢查age的值。
  • 如果age小於18,則列印“拒絕訪問”。
  • 如果age大於等於18,則列印“允許訪問”。

總結

  • 方法參數用於將信息傳遞給方法。
  • 可以向方法傳遞任意數量的參數。
  • 方法可以返回一個值。
  • 方法內部可以使用if...else語句。

最後

為了方便其他設備和平臺的小伙伴觀看往期文章:

微信公眾號搜索:Let us Coding,關註後即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關註


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文深入介紹了Java 8的Stream API,包括創建、中間操作、終端操作等,強調了並行流在大數據處理中的性能提升。提供清晰實用的示例,為讀者理解流式計算提供有益指導。 ...
  • 在之前的文章中,我們簡單的介紹了線程誕生的意義和基本概念,採用多線程的編程方式,能充分利用 CPU 資源,顯著的提升程式的執行效率。其中java.lang.Thread是 Java 實現多線程編程最核心的類,學習Thread類中的方法,是學習多線程的第一步。 ...
  • 今天我們主要講解的是Spring依賴註入。在本文中,我們主要圍繞bean填充屬性的欄位和setter方法展開討論。要記住的是,在進行屬性註入時,我們首先需要找到註入點併進行緩存,然後才會真正進行屬性註入。需要註意的是,靜態欄位或方法是不會進行依賴註入的。最後,我們簡單地介紹了一下關鍵源碼,以及對@R... ...
  • 通過`FromStr`及`Display`的重定義,我們可以支持更強大的自定義的序列化操作,系統綁定埠既認埠號也認綁定IP,所以我們可以對同個埠進行多次綁定。 ...
  • python打包和反編譯 從py到exe 打包 安裝Pyinstaller pip install pyinstaller //太慢可切源 pip install -i https://pypi.douban.com/simple/ pyinstaller #豆瓣源 pip install -i h ...
  • API介面是一種讓不同系統之間實現數據交互的工具,它可以實現不同系統之間的數據共用和數據傳遞。全國今日油價API介面是一項非常有用的介面,它可以提供最新的全國各省汽油和柴油價格信息。本文將為大家介紹全國今日油價API介面的使用方法,並提供相應代碼說明。 介面名稱:全國今日油價API介面介面地址:ht ...
  • 當我們在編寫代碼時,經常會遇到需要管理資源的情況,比如打開和關閉文件,如果遇到了一些異常情況,我們需要關閉資源,不然會導致資源泄露,雖然我們可以通過手動的方式來關閉,但如果有多個異常情況需要考慮的話,萬一不小心漏了一處,就芭比Q了。所以,如果有一種更加優雅的方式來處理資源泄露的問題,那必定是非常ni ...
  • 拓展閱讀 sensitive-word-admin v1.3.0 發佈 如何支持分散式部署? sensitive-word-admin 敏感詞控台 v1.2.0 版本開源 sensitive-word 基於 DFA 演算法實現的高性能敏感詞工具介紹 更多技術交流 業務背景 如果我們的敏感詞部署之後,不 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...