真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中main()方法的使用方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了Java中main()方法的使用方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊(duì)10年來致力于為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站、高端網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營(yíng)銷、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了千余家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。

Java程序的入口---main()方法的簽名為:public static void main(String[] args) {...} ,其中,

? public修飾符:Java類由JVM調(diào)用,為了讓JVM可以自由調(diào)用這個(gè)main()方法,所以使用public修飾符把這個(gè)方法暴露出來。

? static修飾符:JVM調(diào)用這個(gè)主方法時(shí),不會(huì)先創(chuàng)建該主類的對(duì)象,然后通過對(duì)象來調(diào)用該主方法。JVM直接通過該類來調(diào)用主方法,因此使用static修飾該主方法。

? void返回值:因?yàn)橹鞣椒ū籎VM調(diào)用,該方法的返回值將返回給JVM,這沒有任何意義,因此main()方法沒有返回值。

上面方法中還包括一個(gè)字符串?dāng)?shù)組形參String[] args,根據(jù)方法調(diào)用的規(guī)則:誰(shuí)調(diào)用方法,誰(shuí)負(fù)責(zé)為形參賦值。也就是說,main()方法由JVM調(diào)用,即args形參應(yīng)該由JVM負(fù)責(zé)賦值。但JVM怎么知道為args數(shù)組賦值呢?先看下面程序:

public class ArgsTest{
  public static void main(String[] args){
    //輸出args數(shù)組的長(zhǎng)度
    System.out.println(args.length);
    //遍歷args數(shù)組的每一個(gè)元素
    for(String arg : args){
      System.out.println(arg);
    }
  }
}

上面程序是最簡(jiǎn)單的“hello world”程序,只是這個(gè)程序增加了輸出args數(shù)組的長(zhǎng)度,遍歷arg數(shù)組元素的代碼。使用java ArgsTest命令運(yùn)行上面的程序,看到程序僅僅輸出一個(gè)0,這表明args數(shù)值是一個(gè)長(zhǎng)度為0的數(shù)組,這是合理的,因?yàn)橛?jì)算機(jī)是沒有思考能力的,它只能忠誠(chéng)地執(zhí)行用戶交給它的任務(wù),既然程序沒有給args數(shù)組設(shè)定參數(shù)值,那么JVM就不知道args數(shù)組的元素,所以JVM將args數(shù)組設(shè)置為一個(gè)長(zhǎng)度為0的數(shù)組。

改為一下命令運(yùn)行上面的程序:

java ArgsTest Java Spring

打印結(jié)果為:

2
Java
Spring

可以得出,如果運(yùn)行java程序時(shí)在類名后面緊跟一個(gè)或多個(gè)字符串(多個(gè)字符串以空格隔開),JVM就會(huì)把這些字符串一次賦值給args數(shù)組元素。運(yùn)行Java程序時(shí)的參數(shù)與args數(shù)組之間的關(guān)系為:第一個(gè)參數(shù)對(duì)應(yīng)第一個(gè)數(shù)組元素,第二個(gè)參數(shù)對(duì)應(yīng)第二個(gè)數(shù)組元素,... ,以此類推。

如果某參數(shù)本身包含了空格,則應(yīng)該將該參數(shù)用雙引號(hào)""括起來,否則JVM會(huì)把這個(gè)空格當(dāng)成參數(shù)分隔符,而不是當(dāng)成參數(shù)本身。例如,采用如下命令來運(yùn)行上面的程序:

java ArgsTest "Java Spring"

看到args的長(zhǎng)度是1,只有一個(gè)數(shù)組元素,其值是Java Spring。

問題:如何實(shí)現(xiàn)在main()方法執(zhí)行之前輸出"hello world"?

眾所周知,在Java語(yǔ)言中,main()方法是程序的入口方法,在程序運(yùn)行時(shí),最先加載的就是main()方法,但這是否意味著main()方法就是程序運(yùn)行時(shí)第一個(gè)被執(zhí)行的模塊呢?

答案是否定的。在Java語(yǔ)言中,由于靜態(tài)塊在類被加載時(shí)就會(huì)被調(diào)用,因此可以在main()方法執(zhí)行前,利用靜態(tài)塊實(shí)現(xiàn)輸出“hello world”的功能,示例如下:

public class Test{
  static{
    System.out.println("hello world");
  }
  public static void main(String[] args){
    System.out.println("hello my world");
  }
}

程序運(yùn)行結(jié)果為:

hello world
hello my world

由于靜態(tài)代碼塊不管順序如何,都會(huì)在main()方法執(zhí)行之前執(zhí)行,因此,以下代碼會(huì)與上面的代碼有同樣的輸出結(jié)果:

public class Test{
  public static void main(String[] args){
    System.out.println("hello my world");    
    static{
      System.out.println("hello world");
    }
  }
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Java中main()方法的使用方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!


文章標(biāo)題:Java中main()方法的使用方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/gdcis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部