JAVA_SE基础——37.main方法的详解
来源:互联网 发布:mysql 字段命名规范 编辑:程序博客网 时间:2024/05/18 03:53
主函数 大家都会写吧。
大家一直都不知道为何这样设计,这样设计有什么好处呢?
白话解释:
main函数的修饰符是public: 公共的
为何不用private 等等的修饰符 而规定只用public呢?
public修饰符的权限在 其他 修饰符中 权限是最大的
用public来修饰main 是为了让java虚拟机能访问这个主函数(程序入口),是在任何状态中都能调用,所以才不用private, 你假设下 你把main函数用private修饰的话,java虚拟机能访问到这个主函数(程序入口)吗? 答案是不能 你想想看 连main都进不去了 谈何编译你的程序。。。。
main函数的详解:
public : 公共的。 权限是最大,在任何情况下都可以访问。 private
原因: 为了保证让jvm在任何情况下都可以访问到main方法。
static: 静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。
void: 没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。
main: 函数名。 注意: main并不是关键字,只不过是jvm能识别的一个特殊的函数名而已。
arguments :担心某些程序在启动需要参数。
下面大括号区域只做了解,不懂以后的章节我会点出的。。别急哈 我现在只是顺便提出来说说
{比如说QQ 启动的时候需要用户输入一些数据,所以sun公司想的挺周到。不过一般录入数据 我们都是用Scanner 用Scanner 能让用户随时随地的输入数据 相比args 比较灵活, 现在很少人使用args 来输入数据了}
那么我们怎么给args数组传参呢?
测试代码1(查看args数组的长度):
class Demo1 {public static void main(String[] args) {System.out.println("数字的长度:"+args.length);}}运行结果:
(给args数组传参):
1.先把测试代码1编译:
2.
java Demo1 参数1 参数2 参数3 我传了 1 2 3 3个参数 ,下面我们来看下是不是真的传进去了
测试代码2(遍历args数组的参数):
class Demo1 {public static void main(String[] args) {System.out.println("数字的长度:"+args.length);for(int i = 0 ; i < args.length ; i++){System.out.print(args[i]+",");}}}
运行结果:
0 0
- JAVA_SE基础——37.main方法的详解
- JAVA_SE基础——17.方法的重载
- JAVA_SE基础——18.方法的递归
- JAVA_SE基础——62.String类的构造方法
- JAVA_SE基础——63.String类的常用方法
- JAVA_SE基础——16.方法
- JAVA_SE基础——32.this关键字调用本类的构造方法
- JAVA_SE基础——2.环境变量的配置&测试JDK
- JAVA_SE基础——3.Java程序的开发流程
- JAVA_SE基础——9.基本数据类型间的转换
- JAVA_SE基础——10.变量的作用域
- JAVA_SE基础——12.运算符的优先级
- JAVA_SE基础——19.数组的定义
- JAVA_SE基础——20.数组的常见操作
- JAVA_SE基础——21.二维数组的定义
- JAVA_SE基础——22.面向对象的概念
- JAVA_SE基础——23.类的定义
- JAVA_SE基础——24.面向对象的内存分析
- 将中序表达式转为后序表达式
- C++等级考试选择篇(二)
- MYSQL数据表分区详解
- hdu 5486 Difference of Clustering(暴力)
- 递归逆序字符串求字符串长度
- JAVA_SE基础——37.main方法的详解
- Git 更新操作
- 正则表达式详解——NSRegularExpression类和NSPredicate类的使用
- 函数入栈出栈以及栈帧
- Hibernate 抓取策略
- Mysql主从复制
- Git 执行更改 git commit
- redis教程(三):Redis数据类型及基本的使用
- 简介Python之super的用法及原理