main方法

[java]  view plain copy
  1. public static void main(String[] args) {}  

或者

[java]  view plain copy
  1. 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

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


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


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



main方法还可以这样些

public class TestSimple

{

     public static void main(String... args)

    {

         System.out.println("你好啊");

    }

}

但有限制:这种写法也行,估计基本上没人知道吧。哈哈。顺便说下那个三个点是可变参数的意思,但是我没看到过有人写到main方法中的。只能这种情况的才行,其他变型的可变参数都不行。

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

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

相关文章

详解Java中的main方法

main方法格式定义 public: main方法启动时由JVM进行加载&#xff0c;public的可访问权限是最高的&#xff0c;所有需要声明为public;static: 方法的调用要么是通过对象&#xff0c;要么是通过类&#xff0c;而main方法的话&#xff0c;因为是由虚拟机调用的&#xff0c;所以无…

java中类的main方法总结

一、java中每个类都需要有main方法吗&#xff1f; 每个类可以有也可以没有main方法&#xff0c; 甚至所有类里可以都没有main方法。如果你想从某个类做为入口开始运行整个程序。那么就把他设成 public &#xff0c;之后再里面写个main方法作为入口。 每个项目都要有一个主类…

深入理解 main 方法

目录 深入理解 main 方法 public static void main(String[] args) { }注意事项 深入理解 main 方法 public static void main(String[] args) { } 在Java 中&#xff0c;main() 方法是 Java 应用程序的入口方法&#xff0c;程序在运行的时候&#xff0c;第一个执行的方法就是…

Java main方法

public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Java语言学习的第一个方法&#xff0c;也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main&#xff…

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

预计更新一、 爬虫技术概述 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…