Java main方法

	public static void main(String[] args) {}

或者

	public static void main(String args[]) {}
main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt+/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几乎是固定不变得,除了String[] args可以写成String args[],以及args的名称可以改变外,其它所有均不改变。main方法也是特殊的,因为它的类型必须是public static void,甚至名字都必须是main,还有括号内的参数String[] args,很多初学者都不知道它的作用。正是这种简单而特殊的性质,往往容易让人对它产生忽视以及疑惑。下面就详细谈谈java main方法:

根据Java语言规范,main方法必须声明为public。但是在JavaSE1.4以前的版本中,当main方法不是public时,有些版本的Java解释器也可以执行Java应用程序。详见http://bugs.sun.com/bugdatabase/index.jsp,bug号码4252539。当时SUN公司的工程师解释说,Java虚拟机规范并没有要求main方法一定是public。以上只是写出来,丰富一下兴趣。如果有人说Java main方法从来只能用public,那样说实际上还是错的,因为以前出过这么个BUG。但是在1.4版本之后main方法已经被强制成了public,所以现在我们看到的main方法只能是public。

public是一种访问权限修饰符,public中文翻译共有,正如它的实际意思一样,在Java里面所有被public修饰的方法,类等都可以在任意其他地方调用。main方法之所以是public,是因为一个Java程序在运行时首先创建一个JVM实例,程序要运行需要调用main方法,JVM从外部调用main方法这就需要访问权限修饰符必须给出外部访问的权限,所以只能用public。

static的定义是为了JVM在调用main方法时不用实例化对象,只需要在初始时加载main方法所在类,然后直接通过类名.main来调用main方法。

void表示main方法没有返回值,没有返回值的原因是因为Java不需要main方法向操作系统返回退出信息。如果main方法正常退出,那么Java应用层序的退出代码为0,表示成功的运行了程序。

main的名称不能变是为了JVM能够识别程序运行的起点,main方法可以被重载,重载的main方法不会被执行。main方法作为程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程,非守护线程和守护线程,main方法属于非守护线程,守护线程通常由JVM自己使用,Java程序也可以表明自己的线程是守护线程。当程序中所有的非守护线程终止时,JVM退出。也可以用Runtime类或者System.exit()来退出。

String[] args,是main方法中唯一可以改变的地方!args是arguments的缩写,只是一个变量默认名,习惯性写作它,但是也可以改变的,只要符合命名规则随便你写成什么。在使用集成开发工具的今天,String[] args更像是一种摆设了,很多初学者都不知道它的作用,其实它是程序运行传入的一个参数组。一个简单的例子:

用文本工具如下代码并将其保存为Test.java

public class	Test{public static void main(String[] args){System.out.println("获取数组args[]的数据");for(int i=0;i<args.length;i++){System.out.println(args[i]);}}
}
以管理员身份运行CMD,因为我的Test.java是直接保存在F盘中的,输入f:跳转到目录,输入Javac Test.java将其编译为Test.class文件


然后输入java Test 5 4 3 2 f xx,获取输出数据


Java中所有方法的代码都是从“{”开始,以“}”结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/256664.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【爬虫第四章】 爬虫工具介绍

预计更新一、 爬虫技术概述 1.1 什么是爬虫技术 1.2 爬虫技术的应用领域 1.3 爬虫技术的工作原理 二、 网络协议和HTTP协议 2.1 网络协议概述 2.2 HTTP协议介绍 2.3 HTTP请求和响应 三、 Python基础 3.1 Python语言概述 3.2 Python的基本数据类型 3.3 Python的流程控制语句 3…

使命召唤8联机找不到服务器,使命召唤8怎么联机 使命召唤8联机方法简介

首先&#xff0c;要安装“使命召唤8最新联机补丁最新升级补丁整合包修复版”&#xff0c;将里面所有文件都放到游戏目录&#xff0c;有重 名的就替换掉&#xff0c;然后打开游戏目录的TeknoMW3.exe&#xff0c;IP Address and port(MP only 这行字后面有两个格&#xff0c;第一…

《使命召唤》是今年最好的手游了吧:高画质、无敌手感还不吃配置

《使命召唤》系统作为海外最火的游戏之一&#xff0c;近期也是上线了台服、韩服、跟国际服的手机版&#xff0c;相信不少玩家已经开始玩了。个人觉得《使命召唤手游》在质量上是不输《和平精英》的&#xff0c;无论是枪械、地图、还是操作手感&#xff0c;完成度都非常高。 甚至…

使命召唤 计算机配置,使命召唤16配置要求 电脑配置推荐

使命召唤这款游戏从推出到现在&#xff0c;一直深受玩家喜爱。不仅是从游戏的剧情&#xff0c;还是画面的做工&#xff0c;基本上都让玩家无可挑剔。近日使命召唤16强势上线&#xff0c;并且官方公布了PC具体配置要求&#xff0c;感兴趣的玩家就一起来看看使命召唤16详细配置吧…

使命召唤5该服务器没有响应,使命召唤5玩不了怎么办 使命召唤5打不开解决办法...

使命召唤5&#xff1a;世界战争可以说是使命召唤系列中非常经典的一代作品了&#xff0c;不过许多玩家在下载游戏后会遇到使命召唤5玩不了、使命召唤5打不开、使命召唤5无法启动等等问题&#xff0c;下面小编就来为大家详细的介绍下如何去解决这些问题。 常见问题一、文件夹命名…

ov5640帧率配置_《使命召唤 黑色行动 冷战》详细PC配置需求公布

发行商动视和开发者 Treyarch 和 Raven Software 发布了《使命召唤&#xff1a;黑色行动冷战》的官方 PC 预告片&#xff0c;并详细介绍了本作 PC 版的各个配置需求。 本作将于 11 月 13 日登陆 PS5、Xbox Series X|S、PS4、Xbox One 以及 PC(战网)平台。 配置详情 最低配置 操…

火爆海外的使命召唤要出手游啦:使命召唤最全适配机型一览

使命召唤适配哪些手机机型&#xff1f;使命召唤师一款FPS射击游戏&#xff0c;其PC系列版在海外就非常火爆&#xff0c;如今动视和腾讯联合推出&#xff0c;即将上线使命召唤多人在线第一人称射击类手游&#xff08;有消息称估计会和去年刺激战场一样在年前突然公测上线&#x…

使命召唤9用计算机,应该怎么设?使命召唤9 分辨率那些破事

UPDATE&#xff1a;增加《使命召唤9》三篇被拉伸情况截图 【PConline 游戏硬件游戏应用】在《使命召唤9&#xff1a;黑色行动2》的评测中&#xff0c;我们发现游戏中出现一个很特别的情况&#xff0c;就是全屏模式下&#xff0c;非最佳分辨率时候会出现拉伸情况&#xff0c;这种…

codol服务器维护,解决Nvidia显卡玩《使命召唤OL(CODOL)》游戏不流畅问题

虽然为了适应广大中国FPS爱好者的老爷机&#xff0c;动视和腾讯已经把《使命召唤OL(CODOL)》的画质降到了最低&#xff0c;但是仍然有很多玩家(配置尚可)玩游戏时很卡&#xff0c;这是为什么呢&#xff1f;如何去设置呢&#xff1f; 这里我介绍方法&#xff0c;让你们涨涨知识&…

使命召唤 计算机配置,使命召唤17电脑配置要求高吗 COD17最低配置介绍_游侠网...

使命召唤17电脑配置要求高吗&#xff1f;近日官方公布了游戏的PC配置要求&#xff0c;小编为大家进行了简单的整理&#xff0c;一起来看下COD17最低配置介绍吧。 COD17最低配置介绍 最低配置要求&#xff1a; 操作系统&#xff1a;Windows 7 64-Bit (SP1) 或 Windows 10 64-Bit…

《计算机组成原理》唐朔飞 第9章 控制单元的功能 - 学习笔记

写在前面的话&#xff1a;此系列文章为笔者学习计算机组成原理时的个人笔记&#xff0c;分享出来与大家学习交流。使用教材为唐朔飞第3版&#xff0c;笔记目录大体与教材相同。 网课 计算机组成原理&#xff08;哈工大刘宏伟&#xff09;135讲&#xff08;全&#xff09;高清_…

nexttrace: 一款开源的全能可视化网络路由追踪工具

公众号关注 「奇妙的 Linux 世界」 设为「星标」&#xff0c;每天带你玩转 Linux &#xff01; ​ 今天要给大家推荐一个 GitHub 开源项目 sjlleo/nexttrace&#xff0c;该项目在 GitHub 有超过 700 Star&#xff0c;用一句话介绍该项目就是&#xff1a;“An open source visua…

Traceroute(路由追踪)的原理及实现

Traceroute&#xff08;路由追踪&#xff09;的原理及实现 (1)相应的协议和原理 IP协议&#xff1a;IP协议是TCP/IP协议族中最核心的部分&#xff0c;它的作用是在两台主机之间传输数据&#xff0c;所有上层协议的数据&#xff08;HTTP、TCP、UDP等&#xff09;都会被封装在一…

路由追踪——traceroute与tracert

一、路由追踪   &#xff08;一&#xff09;路由跟踪&#xff0c;就是获取从主机A到达目标主机B这个过程中所有需要经过的路由设备的转发接口IP。 &#xff08;二&#xff09;ICMP协议   Internet控制报文协议&#xff08;internet control message protocol&#xff09;&a…

利用路由追踪工具收集路由信息

预备知识 了解traceroute、Dmitry、Itrace、Tcptraceroute、tctrace等工具的使用方法。 实验 1、此环境用bt5、Linux&#xff08;可能需要装Java&#xff09; 2、打开目标主机linux&#xff0c;输入用户名&#xff1a;root&#xff0c;密码&#xff1a;123456.如图&#xff1…

【Linux】关于路由跟踪指令traceroute

本文所有命令实施的大前提是&#xff1a;你现在能够上网。 稍有计算机常识的人都知道ping命令&#xff0c;是用来检查自己的主机是否与目标地址接通&#xff0c;自己的主机与目标地址的通讯包通讯速率&#xff0c;所谓的通讯包也就是那些什么TCP/IP&#xff0c;UDP包&#xff…

Linux Command traceroute 路由追踪

Linux Command traceroute 路由追踪 tags: 网络, 分析 文章目录 Linux Command traceroute 路由追踪1. 介绍2. 工作原理&#xff1a;3. 命令格式&#xff1a;4. 命令功能&#xff1a;5. 用法5.1 最常用的用法5.2 跳数设置5.3 显示IP地址&#xff0c;不查主机名5.4 探测包使用的…

路由跟踪Tracert

路由跟踪Tracert 指令&#xff1a;tracert“address” 作用&#xff1a;是查看数据包从你的电脑出发后&#xff0c;经过了哪些设备最终到达目的地址&#xff1b; 原理&#xff1a; 通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包&am…

路由追踪的实现

今天小编将给大家分享我在东北大学上研究生的时候学到的关于路由追踪的实现&#xff0c;希望大家看完小编的这篇博文后能够对windows 下的tracert命令有一定的了解。 1&#xff0e; 实验目的 Tracert&#xff08;跟踪路由&#xff09;是路由跟踪实用程序&#xff0c;用于确定 I…

31.traceroute命令进行路由跟踪

路由跟踪功能是用来识别一个设备到另一个设备的网络路径。在一个简单的网络上&#xff0c;这个网络路径可能只经过一个路由器&#xff0c;甚至一个都不经过。但是在复杂的网络中&#xff0c;数据包可能要经过数十个路由器才会到达最终目的地。在通信过程中&#xff0c;可以通过…