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() 方法可以以字符串的形式接收命令行参数,然后在方法体内进行处理。
Java main()方法相关推荐
- main方法中args_public static void main(String [] args)– Java main方法
main方法中args public static void main(String[] args) is the most important Java method. When you start ...
- java main 方法使用 HttpClients发送请求 不打印debug日志
记录目的:java main 方法使用HttpClients发送请求不打印debug日志 记录背景: 使用java main方法测试接口响应时间 发现问题: 控制台打印巨多debug日志 解决方法: ...
- Java main方法
public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...
- Maven exec:java 运行 Java main 方法
目录 前言 适用条件 方法1 遇到错误:[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java (d ...
- java main方法里调用mapper
在main方法中调用mybatis的mapper,一次性执行导入数据功能package com.runxsoft.test;import com.runxsoft.iutils.common.util ...
- java main方法背后的故事?(转)
jvm java 看似一种语言,实则一个巨大的体系的王国,开发这么多年了,还是没有搞懂,我以为我懂了,可是过了一段时间又忘了,所以说还是没懂 1.main方法说起 编译完我们的java文件后,需要有个 ...
- Java main 方法详解
1.main方法说起 编译完我们的java文件后,需要有个一含有main方法的类,java 命令将指示操作系统启动一个jvm进程 这个jvm进程启动后,寻找那个main地方开始执行程序 java [J ...
- 深入理解Java main方法
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,例如 方法的名字必须是main 方法必须 ...
最新文章
- OpenCV中Mat数据结构使用举例
- 把整数转换成2的n次方的和数组
- CString 操作函数
- javascript开发后端程序的神器nodejs
- python查找指定字符所在行号_python查找字符串中某个字符
- Linux ls命令:查看目录下文件
- 哈夫曼树(利用python实现)
- RabbitMQ(六) Routing路由模式
- 自定义事件和jQuery插件
- nodepad++通过正则表达式,删除带有特殊字符的某一行
- HTK的Network把所有的NetNode对象chain,并重新排序
- Windows 7 SP1 多国语言包(MUI language packs)官方下载
- [初识python]使用python给单词表加音标
- 手游渠道分成的那些坑来等你跳
- java poi Excel加密文件导出和下载
- publish over ssh、 Kubernetes Continuous Deploy插件
- 精选免费论文翻译工具
- 基于JAVA汽车租赁系统 (Springboot框架) 开题报告
- 计算机考研跨审计好跨嘛,跨专业考研,快来看看你符不符合条件
- 十年老程序员的职场教训,很受用
热门文章
- maven jar包冲突
- linux 环境变量详解,linux环境变量实例详解
- Java service层获取HttpServletRequest工具类的方法
- Shiro之UsernamePasswordTokenRememberMeAuthenticationTokenAuthenticationToken
- python 赚钱 知乎_爬虫实战:抓取知乎问题 “大学生如何赚到一万元”
- 高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好
- mysql 视图 mybatis_Mybatis调用视图和存储过程的方法
- 2021山东科技大学计算机学院,2021年3月山东科技大学计算机等级考试报名工作通知...
- 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
- 深度残差网络_注意力机制+软阈值化=深度残差收缩网络