`
victor-yang
  • 浏览: 19607 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

对于public static void main(String args[])你知几何?

阅读更多

Javamain()方法以及命令行参数的若干注意

2009-12-14 22:26

 

main方法的完整定义语法:public static void main(String[] args){}

命令行格式:java [命令参数] 文件名 [args[0](用户参数) args[1] ... 比如 java - cs AClass a b c<enter>


1.
关于main()方法中的修饰符public
java
虚拟机规范并没有要求main一定是public的,所以public可以省略,它只是为了main()方法可以从任意一个java运行环境中调用。不过没有public 虽然编译无错误,但是虚拟机无法启动应用程序。


2.
关于main()方法中的关键字static
静态方法不能访问实例字段。但可访问自身类中的静态字段。

main
方法是且必须是一个静态方法,所以static 必须写。为了不需要构造类实例。如果没有static,运行时出错。


3 . main
()方法的返回类型和返回值
main(String[] arg)
如果不写void会有编译错误
如果不写static[]会有运行错误

main()方法并不向操作系统返回退出代码java中,如果main方法正常退出,Java程序的退出代码为0,表示成功地实行完毕程序。若要用不同的退出代码终止程序,则使用System.exit方法。

因为main()方法是可以重载的,所以返回类型可以void ,int ,boolean... 但如果从应用程序的入口main()方法的角度看,则只能用void返回。


4. main()
方法及命令行参数相联系的若干注意

当缺少String[]args时,虽然编译可以通过,但是运行时无法获取有效的main方法,运行时候会报错。其中方法参数名字args可以改变。

要知道知道String数组长度,可以直接用args.length即可。

当没有用户参数的时候,如果进行args[0]等的访问,会抛出一个数组越界异常。

如下操作,由于main()方法的参数类型正确,所以编译可以通过,但运行时会出错。

public class Test
{
public static void main(String argv)
{
System.out.println("hello cruel world");
}
}

如果超过边界访问args[],编译正常,运行出错。
如:
public class Test{
public static void main(String[] args){
String foo=args[1];
String bar=args[2];
String baz=args[3];
}
}
java Test Red Green Blue
what is the value of baz?
A. baz has value of ""
B. baz has value of null
C. baz has value of "Red"
D. baz has value of "Blue"
E. baz has value of "Green"
F. the code does not compile
G. the program throw an exception
Answer:G

5. main()
方法只作为Java应用程序的入口。Applet程序不需要main()方法,一般由浏览器不同方式启动,其入口程序一般为init()方法。


6. main
可作为普通方法名。
如:
public class Droitwich
{
class one
{
private class two
{
public void main() //
注意这里的main方法
{
System.out.println("two");
}
}
}
}
显示:编译正常

分享到:
评论

相关推荐

    使用java打印所有图形

    public static void main(String[] args) { int n = 5; // 三角形的高度 for (int i = 1; i ; i++) { for (int j = 1; j ; j++) { System.out.print("* "); } System.out.println(); } } } ``` 2. 等腰...

    java初级者课本课后例题源码.rar_java_paragraph27w_rubbedizo_三角计算者

    public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入姓名:"); String name = scanner.nextLine(); System.out.println("请输入性别(M/F):"); ...

    Java绘制不规则几何图形.rar

      public static void main(String[] args) {   new IrregularShapeDemo();   }   protected void processMouseEvent(MouseEvent e) { //鼠标事件处理   if(e.getID() == MouseEvent.MOUSE_PRESSED) { ...

    java语言程序设计(基础篇)第二章程序练习题标准答案.docx

    public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter a degree in Celsius: "); double celsius = input.nextDouble(); double fahrenheit = (9.0 /...

    java 利用for循环输出几何图形

    public static void main(String[] args) { int size = 5; // 正方形的边长 // 输出正方形的上边框 for (int i = 0; i ; i++) { System.out.print("*"); } System.out.println(); // 输出正方形的内部 ...

    蓝桥杯第六届省赛(Java语言B组部分习题)试题解答.pdf

    public static void main(String[] args) { int count = 0; for (long i = 1; i ; i++) { long temp = i * i * i; long sum = 0; while (temp &gt; 0) { sum += temp % 10; temp /= 10; } if (i == sum) { ...

    simple_factory(第一题)_dangervm5_factory_简单工厂的实例代码_

    public static void main(String[] args) { Shape circle = ShapeFactory.createShape("Circle"); circle.draw(); Shape square = ShapeFactory.createShape("Square"); square.draw(); Shape triangle = ...

    1.docx

    public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入长方形的长:"); double length = scanner.nextDouble(); System.out.println("请输入长方形...

    java j2se笔记

    public static void main(String[] args) { Scanner cin = new Scanner(System.in); System.out.println("请输入你的名字:"); String name = cin.nextLine(); // 读取一行文本 System.out.println("请输入你的...

    【华为OD机试真题2023JAVA&JS】几何平均值最大子数组

    public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int L = sc.nextInt(); double[] doubles = new double[N]; for (int i = 0; i ; i++) { doubles[i]...

    JAVA三角形矩形面积计算

    public static void main(String[] args) { Rectangle rectangle = new Rectangle(10, 5); System.out.println("矩形的面积: " + rectangle.getArea()); Triangle triangle = new Triangle(8, 6); System.out....

    自考JAVA语言程序设计(一)课后习题答案和源代码(实验大纲)

    public static void main(String[] args) { // 使用JOptionPane显示对话框获取用户输入 String str = JOptionPane.showInputDialog("请输入字符串:"); char[] c = str.toCharArray(); // 将字符串转换为字符...

    2个关于Java抛物线算法的实例

    public static void main(String[] args) { SwingUtilities.invokeLater(() -&gt; new ParabolaExample().setVisible(true)); } } ``` 在这个例子中,我们定义了一个开口向上的抛物线,并通过循环计算不同x值对应的...

    java实现3D爱心效果.zip

    public static void main(String[] args) { Application.launch(MainApp.class, args); } } ``` 其中,`MainApp`类是JavaFX应用程序的入口,负责创建舞台、设置场景和添加3D爱心: ```java public class ...

    Java实现二维码QRCode的编码和解码实例

    public static void main(String[] args) throws IOException, NotFoundException, ChecksumException, FormatException { File qrCodeFile = new File("input.png"); BufferedImage image = ImageIO.read...

    基于java实现杨辉三角

    public static void main(String[] args) { printPascalTriangle(6); // 输出6行的杨辉三角 } } ``` 在这个代码中,`printPascalTriangle`方法接受一个整数参数,表示要生成的杨辉三角的行数。数组`triangle`...

    public-class-idomeomapmain2.zip_class

    2. **主方法**:解释Java程序的入口点——主方法(`public static void main(String[] args)`)的作用和结构。 3. **面向对象编程**:详细讲解面向对象编程的概念,如类的继承、接口、抽象类以及多态性。 4. **GIS...

    java实现杨辉三角形

    public static void main(String[] args) { int numRows = Integer.parseInt(args[0]); // 输入的行数 int[][] triangle = new int[numRows][]; for (int i = 0; i ; i++) { triangle[i] = new int[i + 1]; ...

Global site tag (gtag.js) - Google Analytics