java主函数的含义

简介: 下面对java中的主函数进行简单的解释,解决可能困惑大家的问题,下面举的例子在实际开发中几乎不会出现,但是为了解决好奇心,大家可以这么去尝试一下! 我们在java中看到的主函数通常是这样的:public static void main(String[] args)  public:访问权限最高。

下面对java中的主函数进行简单的解释,解决可能困惑大家的问题,下面举的例子在实际开发中几乎不会出现,但是为了解决好奇心,大家可以这么去尝试一下!

我们在java中看到的主函数通常是这样的:
public static void main(String[] args) 

public:访问权限最高。

static:静态,表示加载类的时候主函数就已经存在了。

void:表示主函数不返回任何值。

main:不是关键字,但是一个特殊单词,能被虚拟机所识别。

String[] args:表示主函数所带的参数为数组,数组名为args,数组名也可以为其他的名字,都不会造成影响。

我们也可以通过以下代码可以验证:

1 class MainDemo 
2 {
3     public static void main(String[] args) 
4     {
5         System.out.println(args);
6         System.out.println(args.length);
7     }
8 }

输出结果为:

[Ljava.lang.String;@659e0bfd

0

说明参数是String类型的数组,数组长度为0。

因为此时数组长度为0,也就是没有任何数组,如果尝试输出args[0],那将会提示越界。

我们可以向数组里面传数据,有两种方式传入数据:

1.运行时传入数据:

1 class MainDemo 
2 {
3     public static void main(String[] args) 
4     {
5         System.out.println(args[1]);
6         System.out.println(args.length);
7     }
8 }

在控制台中分别执行:

javac MainDemo.java

java MainDemo hello world java javaweb 

输出的结果为:

world
4

其中 java MainDemo hello world java javaweb 中,“hello world java javaweb”是所输入的数据,用空格隔开

 

2.编写两个类并分别编写主函数:

 1 class MainDemo 
 2 {
 3     public static void main(String[] args) 
 4     {
 5         String[] arr=new String[]{"hello","world","java","javaweb"};
 6         Main.main(arr);
 7     }
 8 }
 9 class Main
10 {
11     public static void main(String[] args) 
12     {
13         System.out.println(args[2]);
14         System.out.println(args.length);
15     }
16 }

在控制台中分别执行:

javac MainDemo.java

java MainDemo

输出的结果为:

java
4

 

目录
相关文章
|
存储 Java
【JavaSE专栏32】Java函数定义、调用和主函数
【JavaSE专栏32】Java函数定义、调用和主函数
255 0
【JavaSE专栏32】Java函数定义、调用和主函数
|
Java
【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
225 0
【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
|
存储 Java 编译器
Java主函数解释、java/javac命令解释、classpath解释
任何一段程序必须要有一个执行的起始点,有一个入口,这个入口就是主函数,本质上这个主函数就被虚拟机所调用。即:主函数是一个入口、它被虚拟机所调用、有了主函数就能保证一个类的独立运行,一个类里有且只有一个主函数。
1340 0
|
16天前
|
Java 调度
Java线程的六种状态
Java线程有六种状态: 初始(NEW)、运行(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)、超时等待(TIMED_WAITING)、终止(TERMINATED)。
37 1
|
2天前
|
Java 程序员 调度
Java中的多线程编程:概念、实现及性能优化
【5月更文挑战第85天】本文主要探讨了Java中的多线程编程,包括其基本概念、实现方式以及如何进行性能优化。首先,我们将介绍多线程的基本概念,然后详细讨论如何在Java中实现多线程,包括继承Thread类和实现Runnable接口两种方式。最后,我们将探讨一些提高多线程程序性能的策略,如使用线程池和减少同步开销等。
|
2天前
|
监控 Java 开发者
深入理解Java并发编程:线程池的原理与实践
【5月更文挑战第85天】 在现代Java应用开发中,高效地处理并发任务是提升性能和响应能力的关键。线程池作为一种管理线程的机制,其合理使用能够显著减少资源消耗并优化系统吞吐量。本文将详细探讨线程池的核心原理,包括其内部工作机制、优势以及如何在Java中正确实现和使用线程池。通过理论分析和实例演示,我们将揭示线程池对提升Java应用性能的重要性,并给出实践中的最佳策略。
|
3天前
|
安全 Java 数据处理
Java并发编程:线程同步与协作的深度解析
在探索Java并发编程的海洋中,线程同步与协作的灯塔指引着航向。本文将深入挖掘线程同步机制的核心原理,揭示锁、条件变量等工具如何确保数据的一致性和线程间有序的通信。通过案例分析,我们将解码高效并发模式背后的设计哲学,并探讨现代Java并发库如何简化复杂的同步任务。跟随文章的步伐,您将获得提升多线程应用性能与可靠性的关键技能。 【7月更文挑战第24天】
17 5
|
2天前
|
Java
如何在Java中实现线程池?
在Java中,线程池是高效管理线程的关键机制,避免了无限制创建线程的资源浪费和系统不稳定。通过`Executor`和`ExecutorService`接口,代码与具体线程池实现解耦,提供灵活性。`Executors`类简化线程池创建,适合基本需求
|
2天前
|
Java
如何在Java中实现多线程的Socket服务器?
在Java中,多线程Socket服务器能同时处理多个客户端连接以提升并发性能。示例代码展示了如何创建此类服务器:监听指定端口,并为每个新连接启动一个`ClientHandler`线程进行通信处理。使用线程池管理这些线程,提高了效率。`ClientHandler`读取客户端消息并响应,支持简单的文本交互,如发送欢迎信息及处理退出命令。
|
2天前
|
Java
如何使用jstack命令查看Java进程的线程栈
如何使用jstack命令查看Java进程的线程栈?
10 2