public?static?void?main(String[]?args)使用解讀
Java 基礎(chǔ)語法程序代碼
public static void main(String[ ] args) 是什么意思?
這是 Java 程序的入口地址,Java 虛擬機運行程序的時候首先找的就是 main 方法。
跟 C 語言里面的 main() 函數(shù)的作用是一樣的。
只有 main() 方法 Java 程序才能夠被 Java 虛擬機運行,main 是一個程序的入口,一個 java 程序運行必須有且僅有一個 main 方法;可理解為規(guī)定的格式。

對于上圖的參數(shù)及修飾符:
public:表示的這個程序的訪問權(quán)限,表示的是任何的場合可以被引用,這樣 Java 虛擬機就可以找到 main() 方法,從而來運行 javac 程序。static: 表明方法是靜態(tài)的,不依賴類的對象的,是屬于類的,在類加載的時候 main() 方法也隨著加載到內(nèi)存中去。void:方法是不需要返回值的。main:主程序,約定俗成,規(guī)定的。String[ ] args:從控制臺接收參數(shù)。
注:
- 區(qū)別:String args[ ] 與 String[ ] args 都可以執(zhí)行,但推薦使用 String[ ] args,這樣可以避免歧義和誤讀。
- 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法開始執(zhí)行。
我們經(jīng)常使用到 System.out.println(),那它是什么呢?
println ()是一個方法(Method),而 System 是系統(tǒng)類(Class),out 是標(biāo)準(zhǔn)輸出對象(Object)。
這句話的用法是調(diào)用系統(tǒng)類 System 中的標(biāo)準(zhǔn)輸出對象 out 中的方法 println()。

System 是系統(tǒng)類。
是 java.lang 包中的一個 final 類。
根據(jù) javadoc,“java.lang.System 該類提供的設(shè)施包括標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出和錯誤輸出流; 訪問外部定義的屬性和環(huán)境變量; 一種加載文件和庫的方法; 以及用于快速復(fù)制數(shù)組等一部分的實用方法… ”。
out是標(biāo)準(zhǔn)輸出對象。是 System 類的靜態(tài)成員字段,類型為PrintStream。println()是一個方法。是 PrintStream 類的一個方法。println 打?。▍?shù)內(nèi)容+換行符) 到控制臺。
總結(jié):
由源碼可得:System 類是靜態(tài)的,且為 PrintStream 類型的字段 out 去調(diào)用了PrintStream 類中的 print( ) 和 println( ) 兩個方法也就有了 System.out.println( ) 形式的輸出語句。
定義一個方法包含以下語法
修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名){
…
方法體
…
return 返回值;
}
由上圖可見方法包含一個方法頭和一個方法體:
- 修飾符:修飾符,這是可選的,告訴編譯器如何調(diào)用該方法。定義了該方法的訪問類型。
- 返回值類型 :方法可能會返回值。returnValueType 是方法返回值的數(shù)據(jù)類型。有些方法執(zhí)行所需的操作,但沒有返回值。在這種情況下,returnValueType 是關(guān)鍵字 void。
- 方法名:是方法的實際名稱。方法名和參數(shù)表共同構(gòu)成方法簽名。
- 參數(shù)類型:參數(shù)像是一個占位符。當(dāng)方法被調(diào)用時,傳遞值給參數(shù)。這個值被稱為實參或變量。參數(shù)列表是指方法的參數(shù)類型、順序和參數(shù)的個數(shù)。參數(shù)是可選的,方法可以不包含任何參數(shù)。
- 方法體:方法體包含具體的語句,定義該方法的功能。
方法的命名規(guī)則
1.方法的名字的第一個單詞應(yīng)以小寫字母作為開頭,后面的單詞則用大寫字母開頭寫,不使用連接符。例如:addPerson。
2.下劃線可能出現(xiàn)在 JUnit 測試方法名稱中用以分隔名稱的邏輯組件。例如 testPop_emptyStack。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳細(xì)springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟
Spring Boot可以很方便地與MySQL數(shù)據(jù)庫進行整合,下面這篇文章主要給大家介紹了關(guān)于springboot實現(xiàn)MySQL數(shù)據(jù)庫的整合步驟,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
Java之SpringCloudAlibaba Sentinel組件案例講解
這篇文章主要介紹了Java之SpringCloudAlibaba Sentinel組件案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
SpringBoot實現(xiàn)自定義指標(biāo)監(jiān)控功能
本文主要介紹了SpringBoot實現(xiàn)自定義指標(biāo)監(jiān)控功能的實現(xiàn),,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,感興趣的小伙伴跟著著小編來一起來學(xué)習(xí)吧2024-01-01
Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法
排序算法是《數(shù)據(jù)結(jié)構(gòu)與算法》中最基本的算法之一。排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存2022-02-02
java中的Io(input與output)操作總結(jié)(三)
這一節(jié)我們來講Scanner類和PrintWriter類的用法,感興趣的朋友可以了解下2013-01-01
基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)
最近接到一個新需求mathML轉(zhuǎn)圖片怎么實現(xiàn)呢?剛開始還真是蒙圈了,不知道怎么實現(xiàn),今天小編記錄一種基于Java的MathML轉(zhuǎn)圖片的方法,感興趣的朋友一起看看吧2021-06-06

