欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

實例分析Java中public static void main(String args[])是什么意思

 更新時間:2015年12月09日 15:10:41   作者:NW_KNIFE  
這篇文章主要介紹了實例分析Java中public static void main(String args[])的意義,詳細分析了Java主函數(shù)main關(guān)鍵字聲明的具體含義和用法,需要的朋友可以參考下

本文實例講述了Java中public static void main(String args[])的來龍去脈。分享給大家供大家參考,具體如下:

public static void main(String[] args)

這絕對不是憑空想出來的,也不是沒有道理的死規(guī)定,而是java程序執(zhí)行的需要。

jvm在試圖運行一個類之前,先檢查該類是否包含一個特殊方法。這個方法必須是公有的,以便在任何位置都能訪問得到。這個方法必須是static的,因為這個方法不能依賴任何該類的實例即可運行,而非static的方法,在運行之前要先創(chuàng)建該類的實例對象。

這個方法沒有返回值。和C/C++程序不一樣,java的程序默認都以常態(tài)結(jié)束,所以main不返回int。如果要以非常態(tài)結(jié)束程序,可以用System.exit(1)。

這個方法必須可以接受數(shù)目不定的String類型的參數(shù),因為運行者可能要附加運行參數(shù)。如java HelloWorld jack 100,這里的jack和100就是運行參數(shù)。

為什么是String呢?因為String具有普遍性。任何字面形式都可以解釋成String,而其他類型則不然(如jack就不能解釋成整數(shù)或浮點數(shù)),所以用String來存儲參數(shù)最合適。而因為參數(shù)數(shù)目不限一個,所以用了數(shù)組,即String[]。在Java 1.5以后,還可以寫成String...,表示數(shù)目不定。

至于參數(shù)的變量名可以任意,只要保證在方法內(nèi)部按該變量名來獲得參數(shù)就行了,從變量的作用角度來說,叫arguments或args當然是最合適的。

至于這個方法的名字為什么一定是main,有歷史原因,因為最早的C以main函數(shù)作為程序入口,java沿用了這個歷史傳統(tǒng)。

下面我們以一個例子一探究竟:

package test;
public class MainTest {
  public static void main(String[] args)
  {
    for (int x=0; x<args.length; x++)
    {
      System.out.println(args[x]);
    }
  }
  public static void sysInfo(){
    System.out.println("call sysInfo()");
  }
}
public class MainDemo {
  /*
  public static void main(String[] args)
  public:權(quán)限修飾符,權(quán)限最大。
  static:隨著MianDemo類的加載而加載,消失而消失。
  void: 沒有返回值
  main: 函數(shù)名,jvm識別的特殊函數(shù)名
  (String[] args):定義了一個字符串數(shù)組參數(shù)
  */
  public static void main(String... args) 
  {
    String[] arr = new String[]{"zhang","li","wang","zhao"};
    MainTest.main(arr);
    MainTest.sysInfo();
  }
  /*
  總結(jié):
  1、main()函數(shù)是被jvm調(diào)用,jvm給main()傳了一個長度為0的字符串的數(shù)組,也就是new String[0]
  2、可以通過類名.main()進行傳值操作,因為main()方法是static的。
  */
}

運行結(jié)果:

希望本文所述對大家Java程序設(shè)計有所幫助。

相關(guān)文章

  • Spring Boot與前端配合與Idea配置部署操作過程

    Spring Boot與前端配合與Idea配置部署操作過程

    這篇文章主要介紹了Spring Boot與前端配合與Idea配置部署的操作過程,本文圖文并茂給大家介紹的非常詳細,需要的朋友可以參考下
    2018-02-02
  • SpringMVC中日期格式的轉(zhuǎn)換

    SpringMVC中日期格式的轉(zhuǎn)換

    本文主要介紹了SpringMVC中日期格式轉(zhuǎn)換的相關(guān)知識:用來解決日期提交轉(zhuǎn)換異常的問題。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 淺談Java變量賦值運算符及相關(guān)實例

    淺談Java變量賦值運算符及相關(guān)實例

    這篇文章主要介紹了Java賦值運算符的一些知識,需要的朋友可以參考下。
    2017-09-09
  • Spring事務(wù)管理方法步驟解析

    Spring事務(wù)管理方法步驟解析

    這篇文章主要介紹了Spring事務(wù)管理方法步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2019-09-09
  • Java中json格式化BigDecimal保留2位小數(shù)

    Java中json格式化BigDecimal保留2位小數(shù)

    這篇文章主要給大家介紹了關(guān)于Java中json格式化BigDecimal保留2位小數(shù)的相關(guān)資料,BigDecimal是Java中的一個數(shù)學(xué)庫,可以實現(xiàn)高精度計算,文中給出了詳細的代碼實例,需要的朋友可以參考下
    2023-09-09
  • Java通過反射將 Excel 解析成對象集合實例

    Java通過反射將 Excel 解析成對象集合實例

    這篇文章主要介紹了Java通過反射將 Excel 解析成對象集合實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • zookeeper實戰(zhàn)之實現(xiàn)分布式鎖的方法

    zookeeper實戰(zhàn)之實現(xiàn)分布式鎖的方法

    Zookeeper實現(xiàn)分布式鎖比Redis簡單,Zookeeper有一個特性,多個線程在Zookeeper里創(chuàng)建同一個節(jié)點時,只有一個線程執(zhí)行成功,Zookeeper主要是利用臨時有序節(jié)點這一特性實現(xiàn)分布式鎖,感興趣的朋友跟隨小編一起學(xué)習吧
    2022-11-11
  • Java讀取.properties配置文件的幾種方式

    Java讀取.properties配置文件的幾種方式

    這篇文章主要介紹了Java讀取.properties配置文件的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-09-09
  • Java+Selenium調(diào)用JavaScript的方法詳解

    Java+Selenium調(diào)用JavaScript的方法詳解

    這篇文章主要為大家講解了java在利用Selenium操作瀏覽器網(wǎng)站時候,有時會需要用的JavaScript的地方,代碼該如何實現(xiàn)呢?快跟隨小編一起學(xué)習一下吧
    2023-01-01
  • Java8中接口的新特性測試

    Java8中接口的新特性測試

    今天小編就為大家分享一篇關(guān)于Java8中接口的新特性測試,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論