main的方法是Java_Java中的main()方法

在Java中,main()方法是Java應用程序的入口方法,也就是說,程序在運行的時候,第一個執行的方法就是main()方法,這個方法和其他的方法有很大的不同,比如方法的名字必須是main,方法必須是public static void 類型的,方法必須接收一個字符串數組的參數等等。

在看Java中的main()方法之前,先看一個最簡單的Java應用程序HelloWorld,我將通過這個例子說明Java類中main()方法的奧秘,程序的代碼如下:

public class HelloWorld {

public static void main(String args[]) {

System.out.println(“Hello World!”);

}

}

一、先說類:

HelloWorld 類中有main()方法,說明這是個java應用程序,通過JVM直接啟動運行的程序。

既然是類,java允許類不加public關鍵字約束,當然類的定義只能限制為public或者無限制關鍵字(默認的)。

二、再說main()方法

這個main()方法的聲明為:public static void main(String args[])。必須這么定義,這是Java的規范。

為什么要這么定義,和JVM的運行有關系。

當一個類中有main()方法,執行命令“java 類名”則會啟動虛擬機執行該類中的main方法。

由於JVM在運行這個Java應用程序的時候,首先會調用main方法,調用時不實例化這個類的對象,而是通過類名直接調用因此需要是限制為public static。

對於java中的main方法,jvm有限制,不能有返回值,因此返回值類型為void。

main方法中還有一個輸入參數,類型為String[],這個也是java的規范,main()方法中必須有一個入參,類細必須String[],至於字符串數組的名字,這個是可以自己設定的,根據習慣,這個字符串數組的名字一般和sun java規范范例中mian參數名保持一致,取名為args。

因此,main()方法定義必須是:“public static void main(String 字符串數組參數名[])”。

三、main()方法中可以throw Exception

因此main()方法中可以拋出異常,main()方法上也可以聲明拋出異常。

比如,下面這個寫法是正確的:

public class TestMain {

public static void main(String[] args) throws Exception {

System.out.println(“哈哈哈哈哈”);

throw new Exception(“”);

}

}

運行結果:

哈哈哈哈哈

Exception in thread “main” java.lang.Exception:

at maintest.TestMain.main(TestMain.java:11)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

Process finished with exit code 1

四、main()方法中字符串參數數組作用

main()方法中字符串參數數組作用是接收命令行輸入參數的,命令行的參數之間用空格隔開。

下面給出一個例子,看看如何初始化和使用這個數組的。

/**

* 打印main方法中的輸入參數

*/

public class TestMain {

public static void main(String args[]){

System.out.println(“打印main方法中的輸入參數!”);

for(int i=0;i

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457207.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解Python的logging模塊:從基礎到高級

在Python編程中,日志記錄是一種重要的調試和錯誤追蹤工具。Python的logging模塊提供了一種靈活的框架,用于發出日志消息,這些消息可以被發送到各種輸出源,如控制臺、文件、HTTP GET/POST位置等。本文將深入探討Python的logging模塊…

http請求連接

1、在Info.plist中添加NSAppTransportSecurity類型Dictionary。2、在NSAppTransportSecurity下添加NSAllowsArbitraryLoads類型Boolean,值設為YES轉載于:https://www.cnblogs.com/liuting-1204/p/5919233.html

數據庫不完全恢復 以及恢復到測試環境:

sample 1: 1.清空歸檔日志 RMAN> crosscheck archivelog all; RMAN> delete achivelog all; 2.清空數據文件。 select name from v$datafile; rm v$datafile 3.恢復數據 ##check file date: ##把db數據恢復到:2017-02-05 00:00:00 ls -lt /ngenprdblog/ ls…

centos7安裝java6_CentOS7.6安裝jdk1.8

2、登錄Linux服務器,通過rz命令將jdk導入服務器如果沒有rz命令 需要先安裝lrzszyum install lrzsz -y3、將jdk壓縮包解壓到指定路徑 -C 指定路徑4、配置環境變量編輯/etc/profile文件 在末尾加上以下內容 wq保存退出source /etc/profile文件 使配置文件生效export J…

ubuntu安裝wkhtmltopdf

下載安裝wkhtmltox系統環境 http://wkhtmltopdf.org/downloads.html wget https://bitbucket.org/wkhtmltopdf/wkhtmltopdf/downloads/wkhtmltox-0.13.0-alpha-7b36694_linux-precise-amd64.deb dpkg -i 安裝包名字 當我把它生成pdf的時候我想讓每個塊都是一頁,經過…

人生苦短,我用python——當我在玩python的時候我玩些什么 -

程序的基本思路 用一個txt文件記錄電腦的一天內累計使用時間累計使用時間超過若干小時就會自動關機程序開機自動運行 為什么我最后選擇了python 想著怎么寫、搜資料的時候就發現Java并不適合,雖然不是不能實現,但有好幾個問題解決起來都有點麻煩。對我這…

IO流的練習5 —— 讀取文件中的字符串,排序后寫入另一文件中

需求:已知s.txt文件中有這樣的一個字符串:“hcexfgijkamdnoqrzstuvwybpl”     請編寫程序讀取數據內容,把數據排序后寫入ss.txt中。分析:   A:讀取文件中的數據   B:把數據存在一個字符串中   C…

java解析未知key json_Gson解析JSON中動態未知字段key的方法

前面一篇文章我介紹了Gson的解析的基本方法。但我們在享受Gson解析的高度封裝帶來的便利時,有時可能會遇到一些特殊情況,比如json數據中的字段key是動態可變的時候,由于Gson是使用靜態注解的方式來設置實體對象的,因此我們很難直接…

Twisted入門教程(5)

2019獨角獸企業重金招聘Python工程師標準>>> 第五部分:由Twited支持的詩歌下載服務客戶端 你可以從這里從頭開始閱讀這個系列 抽象地構建客戶端 在第四部分中,我們構建了第一個使用Twisted的客戶端。它確實能很好地工作,但仍有提高…

Jquery 學習之基礎一

1.添加一個CSS類 $("button").click(function(){ $("#div1").addClass("important blue");}); 2.移除一個類 $("button").click(function(){ $("h1,h2,p").removeClass("blue");}); 3.切換類 $("button&…

**print('人生苦短 我愛Python')**

print(‘人生苦短 我愛Python’) 一、變量 **""" 1.代碼自上而下執行 2_運算符和表達式.一行一句,不要把多個語句寫到一行上,可讀性不好 3中文只能出現在引號里,其他地方不能出現中文 4不能隨意縮進 """**pr…

java線程提高速度_如何在JAVA中減慢線程速度

我有這個類,我在其中運行10次for循環.該類實現了Runnable接口.現在在main()中我創建了2個線程.現在兩個都將循環運行到10.但我想檢查每個線程的循環計數.如果t1超過7,則讓它休眠1秒,以便讓t2完成.但是如何實現這一目標呢?請參閱代碼.我嘗試但看起來完全愚蠢.只是如何…

(轉ORCLE導入導出命令)

oracle數據庫導入導出命令!Oracle數據導入導出imp/exp 功能:Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。 大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)。 Oracle有個好處&…

筆記本(華碩UL80VT)軟件超頻setFSB

Warning !!!If you are a beginner, do not use this software. This software is for power users only. Use "SetFSB.exe" at your own risk.試了setfsb各種版本,基本不能打開。還有官網的免費版,居然不能用,真是很奇怪。 官網&a…

Day01-python編程基礎

1. 程序 為了完成某種特定功能,以某種程序設計語言編寫的有序指令的集合。程序是指揮cpu工作的“工作手冊”。計算機只能執行二進制代碼,程序設計語言一般類似英文,想要讓計算機理解你寫的程序,必須把程序代碼“翻譯”成計算機能…

pro c 訪問 MySQL_Pro*C??OCI??OCCI??及OCI介紹

Pro*C OCIOCCI 這三種都是C/C訪問數據庫的手段。Pro*C:內嵌SQL,預編譯后把內嵌SQL處理為ORACLE標準運行庫的調用,然后再象編譯一般的C程序一樣進行編譯、連接、運行。1.proc XXX.pc2.gcc/g XXX.c –lclntsh(PRO*C的預編譯,也可直接MAKEFILE…

細說Cookie

http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html轉載于:https://www.cnblogs.com/benpaodexiaopangzi/p/5933230.html

Node.js~在linux上的部署

我們以centOS為例來說說如何部署node.js環境 一 打開centos,然后開始下載node.js包 curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs 二 安裝gcc環境 yum install gcc-c make 安裝完成! 三 安裝nodejs的npm,這是一個包程序工具…

Django中的class Meta知識點

今天來回顧一下Django中model的class Meta class Main(models.Model):img models.CharField(max_length200) # 圖片name models.CharField(max_length100) # 名稱trackid models.CharField(max_length16) # 通用idclass Meta:abstract True #抽象類class MainWheel(…

python wheel使用_Python wheel.Wheel方法代碼示例

# 需要導入模塊: from pip import wheel [as 別名]# 或者: from pip.wheel import Wheel [as 別名]def from_line(cls, name, comes_fromNone, prereleasesNone):"""Creates an InstallRequirement from a name, which might be arequirement, directory contai…