资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java中main()方法的使用方法-创新互联

这篇文章主要介绍了Java中main()方法的使用方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

创新互联公司技术团队10年来致力于为客户提供网站设计、做网站、高端网站设计成都全网营销、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了千余家网站,包括各类中小企业、企事单位、高校等机构单位。

Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中,

♦ public修饰符:Java类由JVM调用,为了让JVM可以自由调用这个main()方法,所以使用public修饰符把这个方法暴露出来。

♦ static修饰符:JVM调用这个主方法时,不会先创建该主类的对象,然后通过对象来调用该主方法。JVM直接通过该类来调用主方法,因此使用static修饰该主方法。

♦ void返回值:因为主方法被JVM调用,该方法的返回值将返回给JVM,这没有任何意义,因此main()方法没有返回值。

上面方法中还包括一个字符串数组形参String[] args,根据方法调用的规则:谁调用方法,谁负责为形参赋值。也就是说,main()方法由JVM调用,即args形参应该由JVM负责赋值。但JVM怎么知道为args数组赋值呢?先看下面程序:

public class ArgsTest{
  public static void main(String[] args){
    //输出args数组的长度
    System.out.println(args.length);
    //遍历args数组的每一个元素
    for(String arg : args){
      System.out.println(arg);
    }
  }
}

上面程序是最简单的“hello world”程序,只是这个程序增加了输出args数组的长度,遍历arg数组元素的代码。使用java ArgsTest命令运行上面的程序,看到程序仅仅输出一个0,这表明args数值是一个长度为0的数组,这是合理的,因为计算机是没有思考能力的,它只能忠诚地执行用户交给它的任务,既然程序没有给args数组设定参数值,那么JVM就不知道args数组的元素,所以JVM将args数组设置为一个长度为0的数组。

改为一下命令运行上面的程序:

java ArgsTest Java Spring

打印结果为:

2
Java
Spring

可以得出,如果运行java程序时在类名后面紧跟一个或多个字符串(多个字符串以空格隔开),JVM就会把这些字符串一次赋值给args数组元素。运行Java程序时的参数与args数组之间的关系为:第一个参数对应第一个数组元素,第二个参数对应第二个数组元素,... ,以此类推。

如果某参数本身包含了空格,则应该将该参数用双引号""括起来,否则JVM会把这个空格当成参数分隔符,而不是当成参数本身。例如,采用如下命令来运行上面的程序:

java ArgsTest "Java Spring"

看到args的长度是1,只有一个数组元素,其值是Java Spring。

问题:如何实现在main()方法执行之前输出"hello world"?

众所周知,在Java语言中,main()方法是程序的入口方法,在程序运行时,最先加载的就是main()方法,但这是否意味着main()方法就是程序运行时第一个被执行的模块呢?

答案是否定的。在Java语言中,由于静态块在类被加载时就会被调用,因此可以在main()方法执行前,利用静态块实现输出“hello world”的功能,示例如下:

public class Test{
  static{
    System.out.println("hello world");
  }
  public static void main(String[] args){
    System.out.println("hello my world");
  }
}

程序运行结果为:

hello world
hello my world

由于静态代码块不管顺序如何,都会在main()方法执行之前执行,因此,以下代码会与上面的代码有同样的输出结果:

public class Test{
  public static void main(String[] args){
    System.out.println("hello my world");    
    static{
      System.out.println("hello world");
    }
  }
}

感谢你能够认真阅读完这篇文章,希望小编分享Java中main()方法的使用方法内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!


分享标题:Java中main()方法的使用方法-创新互联
浏览地址:http://cdkjz.cn/article/gdcis.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220