public?static?void?main(String[]?args)使用解讀
Java 基礎(chǔ)語法程序代碼
public static void main(String[ ] args) 是什么意思?
這是 Java 程序的入口地址,Java 虛擬機(jī)運(yùn)行程序的時(shí)候首先找的就是 main 方法。
跟 C 語言里面的 main() 函數(shù)的作用是一樣的。
只有 main() 方法 Java 程序才能夠被 Java 虛擬機(jī)運(yùn)行,main 是一個(gè)程序的入口,一個(gè) java 程序運(yùn)行必須有且僅有一個(gè) main 方法;可理解為規(guī)定的格式。
對(duì)于上圖的參數(shù)及修飾符:
public
:表示的這個(gè)程序的訪問權(quán)限,表示的是任何的場(chǎng)合可以被引用,這樣 Java 虛擬機(jī)就可以找到 main() 方法,從而來運(yùn)行 javac 程序。static
: 表明方法是靜態(tài)的,不依賴類的對(duì)象的,是屬于類的,在類加載的時(shí)候 main() 方法也隨著加載到內(nèi)存中去。void
:方法是不需要返回值的。main
:主程序,約定俗成,規(guī)定的。String[ ] args
:從控制臺(tái)接收參數(shù)。
注:
- 區(qū)別:String args[ ] 與 String[ ] args 都可以執(zhí)行,但推薦使用 String[ ] args,這樣可以避免歧義和誤讀。
- 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法開始執(zhí)行。
我們經(jīng)常使用到 System.out.println(),那它是什么呢?
println ()是一個(gè)方法(Method),而 System 是系統(tǒng)類(Class),out 是標(biāo)準(zhǔn)輸出對(duì)象(Object)。
這句話的用法是調(diào)用系統(tǒng)類 System 中的標(biāo)準(zhǔn)輸出對(duì)象 out 中的方法 println()。
System 是系統(tǒng)類。
是 java.lang 包中的一個(gè) final 類。
根據(jù) javadoc,“java.lang.System 該類提供的設(shè)施包括標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出流; 訪問外部定義的屬性和環(huán)境變量; 一種加載文件和庫(kù)的方法; 以及用于快速?gòu)?fù)制數(shù)組等一部分的實(shí)用方法… ”。
out
是標(biāo)準(zhǔn)輸出對(duì)象。是 System 類的靜態(tài)成員字段,類型為PrintStream。println()
是一個(gè)方法。是 PrintStream 類的一個(gè)方法。println 打?。▍?shù)內(nèi)容+換行符) 到控制臺(tái)。
總結(jié):
由源碼可得:System 類是靜態(tài)的,且為 PrintStream 類型的字段 out 去調(diào)用了PrintStream 類中的 print( ) 和 println( ) 兩個(gè)方法也就有了 System.out.println( ) 形式的輸出語句。
定義一個(gè)方法包含以下語法
修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名){ … 方法體 … return 返回值; }
由上圖可見方法包含一個(gè)方法頭和一個(gè)方法體:
- 修飾符:修飾符,這是可選的,告訴編譯器如何調(diào)用該方法。定義了該方法的訪問類型。
- 返回值類型 :方法可能會(huì)返回值。returnValueType 是方法返回值的數(shù)據(jù)類型。有些方法執(zhí)行所需的操作,但沒有返回值。在這種情況下,returnValueType 是關(guān)鍵字 void。
- 方法名:是方法的實(shí)際名稱。方法名和參數(shù)表共同構(gòu)成方法簽名。
- 參數(shù)類型:參數(shù)像是一個(gè)占位符。當(dāng)方法被調(diào)用時(shí),傳遞值給參數(shù)。這個(gè)值被稱為實(shí)參或變量。參數(shù)列表是指方法的參數(shù)類型、順序和參數(shù)的個(gè)數(shù)。參數(shù)是可選的,方法可以不包含任何參數(shù)。
- 方法體:方法體包含具體的語句,定義該方法的功能。
方法的命名規(guī)則
1.方法的名字的第一個(gè)單詞應(yīng)以小寫字母作為開頭,后面的單詞則用大寫字母開頭寫,不使用連接符。例如:addPerson。
2.下劃線可能出現(xiàn)在 JUnit 測(cè)試方法名稱中用以分隔名稱的邏輯組件。例如 testPop_emptyStack。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳細(xì)springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的整合步驟
Spring Boot可以很方便地與MySQL數(shù)據(jù)庫(kù)進(jìn)行整合,下面這篇文章主要給大家介紹了關(guān)于springboot實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的整合步驟,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Java之SpringCloudAlibaba Sentinel組件案例講解
這篇文章主要介紹了Java之SpringCloudAlibaba Sentinel組件案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07SpringBoot實(shí)現(xiàn)自定義指標(biāo)監(jiān)控功能
本文主要介紹了SpringBoot實(shí)現(xiàn)自定義指標(biāo)監(jiān)控功能的實(shí)現(xiàn),,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的小伙伴跟著著小編來一起來學(xué)習(xí)吧2024-01-01Spring Boot 熱部署實(shí)現(xiàn)步驟詳解
文章介紹了如何在IntelliJ IDEA中實(shí)現(xiàn)SpringBoot項(xiàng)目的熱部署功能,包括開啟自動(dòng)編譯、運(yùn)行時(shí)自動(dòng)更新、添加熱部署依賴以及配置選項(xiàng)等步驟,并鼓勵(lì)讀者分享其他實(shí)現(xiàn)方式,感興趣的朋友跟隨小編一起看看吧2025-02-02Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法
排序算法是《數(shù)據(jù)結(jié)構(gòu)與算法》中最基本的算法之一。排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存2022-02-02java中的Io(input與output)操作總結(jié)(三)
這一節(jié)我們來講Scanner類和PrintWriter類的用法,感興趣的朋友可以了解下2013-01-01使用Java實(shí)現(xiàn)獲取excel附件并解析
在Java中,我們經(jīng)常需要讀取Excel文件中的數(shù)據(jù),進(jìn)行處理和分析,本文將介紹如何使用Java代碼來獲取與解析Excel文件中的附件,希望對(duì)大家有所幫助2025-04-04基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)
最近接到一個(gè)新需求mathML轉(zhuǎn)圖片怎么實(shí)現(xiàn)呢?剛開始還真是蒙圈了,不知道怎么實(shí)現(xiàn),今天小編記錄一種基于Java的MathML轉(zhuǎn)圖片的方法,感興趣的朋友一起看看吧2021-06-06