Java main()方法

在 Java 中,main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是 main() 方法。main() 方法和其他的方法有很大的不同。

下面先来看最简单的一个 Java 应用程序 HelloWorld,我们将通过这个例子讲解 Java 类中 main() 方法的奥秘,程序的代码如下:

public class HelloWorld {public static void main(String args[]) {System.out.println("Hello World!");}
}

其中,使用 main() 方法时应该注意如下几点:

	访问控制权限是公有的(public)。main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例对象,然后再通过对象调用成员方法。main() 方法没有返回值,只能使用 void。main() 方法具有一个字符串数组参数,用来接收执行 Java 程序的命令行参数。命令行参数作为字符串,按照顺序依次对应字符串数组中的元素。字符串中数组的名字(代码中的 args)可以任意设置,但是根据习惯,这个字符串数组的名字一般和 Java 规范范例中 main() 参数名保持一致,命名为 args,而方法中的其他内容都是固定不变的。main() 方法定义必须是“public static void 		main(String[] 字符串数组参数名)”。一个类只能有一个 main() 方法,这是一个常用于对类进行单元测试(对软件中的最小可测试单元进行检查和验证)的技巧。

示例在 main() 方法中调用本类的静态和非静态方法。

public class Student {public void Speak1() {System.out.println("你好!");}public static void Speak2() {System.out.println("Java!");}public static void main(String[] args) {// Speak1();    // 错误调用Speak2();    // 可以直接调用静态方法Speak2()Student t = new Student();t.Speak1();    // 调用非静态方法,需要通过类的对象来调用}
}

由上面代码可以看出,在 main() 方法中只能直接调用静态方法,如果想调用非静态方法,需要将当前类实例化,然后通过类的对象来调用。

创建一个 Java 程序,编写代码实现程序执行时统计传递参数的数量及每个参数值。示例代码如下:

public class TestMain {public static void main(String[] args) {int n = args.length;    // 获取参数数量System.out.println("一共有 "+n+" 个参数");if(n > 0) {   // 判断参数个数是否大于0for(int i = 0;i < n;i++) {System.out.println(args[i]);}}}
}

1 将代码保存到 TestMain.java 文件中(这里把 TestMain.java 文件放到了 D 盘的 myJava 文件夹),然后用如下 Java 命令对程序进行编译:

javac TestMain.java

2 程序编译成功后用如下 Java 命令执行 Test 程序:

java TestMain 参数列表    // 多个之间用空格隔开

这里使用如下三个语句执行程序:

java TestMain
java TestMain apple banana
java TestMain one two three four five six

3 执行结果如下所示:

C:\Users\leovo>d:D:\myJava>javac TestMain.javaD:\myJava>java TestMain
一共有 0 个参数D:\myJava>java TestMain apple banana
一共有 2 个参数
apple
bananaD:\myJava>java TestMain one two three four five six
一共有 6 个参数
one
two
three
four
five
sixD:\myJava>

由此可见,main() 方法可以以字符串的形式接收命令行参数,然后在方法体内进行处理。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java方法的可变参数

在具体实际开发过程中&#xff0c;有时方法中参数的个数是不确定的。为了解决这个问题&#xff0c;在 J2SE 5.0 版本中引入了可变参数的概念。 声明可变参数的语法格式如下&#xff1a; methodName({paramList},paramType…paramName)其中&#xff0c;methodName 表示方法名称…

python中ans的用法_python cx_Oracle基础使用方法

问题使用python操作oracle数据库&#xff0c;获取表的某几个字段作为变量值使用。使用Popensqlplus的方法需要对格式进行控制&#xff0c;通过流获取这几个字段值不简洁(个人观点……)。(优点是能够使用sqlplus的方法直接访问sql文件&#xff0c;不需要考虑打开/关闭连接&#…

java gradle 资源访问_java在gradle工程访问src/test/resources目录下的资源配置文件

package com.jiepu;import java.io.File;import java.net.URISyntaxException;import java.util.Map;import java.util.Properties;//java在gradle工程访问src/test/resources或者src/main/resources目录下的资源配置文件public class TestMain{public static void main(String…

python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...

map()map()函数接收两个参数&#xff0c;一个是函数&#xff0c;一个是Iterable&#xff0c;map将传入的函数依次作用到序列的每个元素&#xff0c;并把结果作为新的Iterator返回。使用map实现一个f(x) x * x的功能def f(x):return x * xm map(f, list(range(1, 10)))# [1, 4…

java执行数据库命令行_java程序执行命令行,解锁数据库表

有些表锁的时间长或其他原因&#xff0c;在plsql中不能解锁&#xff0c;只能用命令行解锁。有些功能跨平台系统的交互偶尔会锁表&#xff0c;就需要自动解锁。下面是解锁的代码&#xff1a;package com.lg.BreakOracleUtils;import com.lg.DB.DBProjp;import com.lg.database.D…

python display函数_【python】pandas display选项

import pandas as pd1、pd.set_option(expand_frame_repr, False)True就是可以换行显示。设置成False的时候不允许换行2、pd.set_option(display.max_rows, 10)pd.set_option(display.max_columns, 10)显示的最大行数和列数&#xff0c;如果超额就显示省略号&#xff0c;这个指…

Java查询个人信息

每个员工都会有自己的档案&#xff0c;主管可以查看在职员工的档案。使用 Java 创建一个员工实体类&#xff0c;然后通过构造方法创建一个名为“王洁”的员工&#xff0c;最后打印出员工档案信息。 1 . 创建 Person 类&#xff0c;在该类中定义个人基本信息属性&#xff0c;并…

java幻灯片播放代码_简单常用的幻灯片播放实现代码

幻灯片自动播放图片是当前网站比较流行的一个展示方式。在网上我们能找到各种特效丰富的幻灯片插件和代码。这里项目需要&#xff0c;我自己做了一个简单的&#xff0c;就不详细讲解了&#xff0c;代码很简单。直接看效果图和代码吧。所有代码 ppt.html&#xff0c;需要提供相应…

ssms没有弹出服务器验证_powerbi报表服务器搭建链接

作品展示​www.chinapowerbi.com安装 Power BI 报表服务器所要满足的硬件和软件要求 - Power BI​docs.microsoft.comDownload 用于基于 x64 的系统的 Windows 8.1 更新程序 (KB2919442) from Official Microsoft Download Center​www.microsoft.comDownload Windows Server 2…

Java析构方法

析构方法与构造方法相反&#xff0c;当对象脱离其作用域时&#xff0c;系统自动执行析构方法。析构方法往往用来做清理垃圾碎片的工作&#xff0c;例如在建立对象时用 new 开辟了一片内存空间&#xff0c;应退出前在析构方法中将其释放。 在 Java 的 Object 类中还提供了一个 …

2048java课程设计报告_2048小游戏-Java-课程设计报告书

《2048小游戏-Java-课程设计报告书》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《2048小游戏-Java-课程设计报告书(31页珍藏版)》请在金锄头文库上搜索。1、JAVA 语言程序设计课程设计报告2048 智力小游戏设计专业班级&#xff1a; 计算机科学与技术嵌入 13-1 学生…

python批量音频转格式_python将mp3格式批量转化为wav格式

语音识别无论是接口还是开源的项目&#xff0c;大多情况下都需要将语音格式转化为wav格式。首先&#xff0c;需要安装pydub库&#xff0c;pip install pydub 就行。接下来将你需要转化的mp3文件放入文件夹&#xff0c;创建好需要存入的wav文件夹。接下来python 代码实现 &#…

Java包详解

Java 引入了包&#xff08;package&#xff09;机制&#xff0c;提供了类的多层命名空间&#xff0c;用于解决类的命名冲突、类文件管理等问题。 包允许将类组合成较小的单元&#xff08;类似文件夹&#xff09;&#xff0c;它基本上隐藏了类&#xff0c;并避免了名称上的冲突…

groovy java_在java中使用groovy怎么搞

临摹微笑一种基于Java虚拟机的动态语言&#xff0c;可以和java无缝集成&#xff0c;正是这个特性&#xff0c;很多时候把二者同时使用&#xff0c;把groovy作为java的有效补充。对于Java程序员来说&#xff0c;学习成本几乎为零。同时支持DSL和其他简介的语法(例如闭包)&#x…

python自动控制库_一个可以自动化控制鼠标键盘的库:PyAUtoGUI

PyAutoGUI 不知道你们有没有用过&#xff0c;它是一款用Python自动化控制键盘、鼠标的库。但凡是你不想手动重复操作的工作都可以用这个库来解决。如果&#xff0c;我想半夜时候定时给发个微信&#xff0c;或者每天自动刷页面等操作&#xff0c;它能完全模拟手动操作&#xff0…

Java使用自定义包

包的声明和使用非常简单&#xff0c;在了解基本语法之后&#xff0c;示例在 Java 程序中声明包&#xff0c;以及不同包之间类的使用。 1 创建一个名为 com.dao 的包。 2 向 com.dao 包中添加一个 Student 类&#xff0c;该类包含一个返回 String 类型数组的 GetAll() 方法。S…

python去掉一个最高分和最低分求平均数_excel去掉一个最高分和最低分求平均数 - 卡饭网...

怎么快速计算考试成绩的最高分、最低分、平均分&#xff1f;怎么快速计算考试成绩的最高分、最低分、平均分&#xff1f; 我们可以使用Excel工作表快速计算出学校考试成绩的最高分.最低分和平均分,不需要逐个计算和核查,下面就跟小编看一下操作方法.具体如下:1. 第一步,打开一个…

mysql 类似wm concat_oracle的wm_concat()和mysql的group_concat()合并同列变成一行的用法以及和concat()合并不同列的区别...

前言标题几乎已经说的很清楚了&#xff0c;在oracle中&#xff0c;concat()函数和 “ || ” 这个的作用是一样的&#xff0c;是将不同列拼接在一起&#xff1b;那么wm_concat()是将同属于一个组的(group by)同一个字段拼接在一起变成一行。mysql是一样的&#xff0c;只不过mysq…

试图将驱动程序添加到存储区_基于容器的块存储使用

什么是块存储&#xff1f;分布式存储系统&#xff0c;为业务与数据在集群内漂移提供了自由保障&#xff0c;满足企业对于不受约束的系统环境要求。同时&#xff0c;平台仅保存迁移被改动的数据&#xff0c;而非整体增加数据量&#xff0c;实现增量备份。魔方云块存储的功能&…

C++类和对象的概念

C 是一门面向对象的编程语言&#xff0c;理解 C&#xff0c;首先要理解类&#xff08;Class&#xff09;和对象&#xff08;Object&#xff09;这两个概念。 C 中的类&#xff08;Class&#xff09;可以看做C语言中结构体&#xff08;Struct&#xff09;的升级版。结构体是一种…