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

不需要main打印出经典的Hello,World!

    博客分类:
  • java
阅读更多

    每一个学习高级语言编程的人学习的第一个程序大概都是HelloWorld,其代码如下:

 

public class HelloWorld
{
	public static void main(String[] args)
	{
		System.out.println("Hello,World!");
	}
}

 

    但是我们能不能够不使用main方法,也打印出Hello,World!呢?答案是肯定的!请看下面一段代码:

 

public class HelloWorld {
	static
	{
		System.out.println("Hello,World!");
	}
}

 

    在命令行进入存放HelloWorld.java文件的目录,然后输入

    javac HelloWorld.java

    java HelloWorld

 

    结果如下:

 

Hello,World!
Exception in thread "main" java.lang.NoSuchMethodError: main

 

     Hello,World! 打印出来了,但是系统给出了那个可恶的main没有定义的错误消息。怎么避免这条消息呢?请看

    下面一段代码:

 

public class Hello {
	static
	{
		System.out.println("Hello,World!");	
                System.exit(0);
	}
}

 

    这样就OK了。

 

 

    为什么没有入口方法main()也能够执行下面这句呢?

System.out.println("Hello,World!");	

   其实原因很简单。

   因为java类静态块中的语句在java虚拟机装载类的时候就执行了,并不需要实例化对象。

  为什么没有抛出错误呢?

  因为在错误没来得及抛出时,程序执行了System.exit(0)退出了。

 

 

分享到:
评论
11 楼 jeff312 2008-11-20  
用eclipse试过了,编译通过,但不让运行,汗……

不过在edit plus下就可以运行,还挺好玩,呵呵。
10 楼 softkid 2008-11-20  
行者买刀 写道

用IDE的话,估计就不让通过了

怎么会不让通过呢?用IDE不照样可以编译么。但是怎么运行看结果我就不知道了。
9 楼 行者买刀 2008-11-19  
用IDE的话,估计就不让通过了
8 楼 andylj511 2008-11-19  
是啊。。。我用了Eclipse只要装好JAVA就OK了。。谁还管PATH的环境啊
7 楼 softkid 2008-11-17  
andylj511 写道

我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。

不好意思,犯糊涂了,这是path的问题。
6 楼 softkid 2008-11-17  
andylj511 写道

我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。

是不是classpath设置的问题阿
5 楼 andylj511 2008-11-17  
我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。
4 楼 叩舷而歌 2008-09-12  
核心技术卷一里面还有个靠抛出错误来输出hello world的,我本来以为这里是讲这个的。
3 楼 softkid 2008-09-10  
javafound 写道
为什么呢??读书不求甚解!


恩,接受批评。原因已经在文章中添加了,也许并不全面,还请不吝赐教。
2 楼 lovinchan 2008-08-18  
被javafound 批评啦,哈哈哈  
1 楼 javafound 2008-07-24  
为什么呢??读书不求甚解!

相关推荐

    关于"Hello World!"程序

    std::cout << "Hello, world!" ; std::operator(std::cout, "Hello, world!"); // friend cout是模板类的实例 std::cout.operator(std::endl); // member endl是函数模板指针 std::operator(std::...

    Java最开始的helloworld

    Java最开始的Hello World程序是一个简单的输出语句,用于展示Java程序的基本结构...在main方法中,使用System.out.println语句打印出了"Hello World!"这个字符串。 这个程序的执行结果是在控制台输出"Hello World!"。

    零基础学C/C++01——第一个程序Hello World!

    零基础学C/C++01——第一个程序Hello World! 答案很简单 只要学过c++ #include using namespace std; int main() { cout <<"Hello World!" ; return 0; }

    C#入门

    C#第一个程序,helloworld using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace helloworld { class helloworld { [STAThread] static void Main(string[] args)...

    matlab打印代码-hello-worlds:你好世界

    helloWorld { public static void main () { System . out . println( ' Hello World! ' ) } } HTML < h1 > Hello World! < h1 > [R print( " Hello World! " ) a print ( " Hello World! " ) 镖 void main ()...

    用GTK+写的HelloWorld.txt

    gtk_window_set_title(GTK_WINDOW(window),"Hello World!"); gtk_container_set_border_width(GTK_CONTAINER(window),10); //创建按钮控件,为单击信号加回调函数,将其放入窗口中 button=gtk_button_new_with_...

    C语言菜鸟基础教程之Hello World

    编写第一个程序:Hello World! #include int main() { /* 我的第一个 C 程序 */ printf(Hello, World! \n); return 0; } 运行结果: Hello, World! 程序分析: (1) 这里stdio.h是一个头文件。代表stantard ...

    linux编程Hello world

    $vim hello.c >>>> 进入emacs 编辑器环境 #include <stdio.h> int main() { printf("Hello world!\n"); return 0; }

    hello-world-java

    public class HelloWorld { public static void main ( String [] args ) { System . out . println( " Hello world! " ); } } 注意System.out.println("Hello world!"); 显示字符串"Hello world!" 屏幕上。 ...

    java hello world

    java入门必备知识,hello world教程,让你快速了解java这个语言,值得一看

    Java4Android开发教程(二)hello world!

     System.out.println(“hello world!”);  } } 编译完之后会出现class文件 注意: 1、public class 后的字母要和文件名大小写对应起来,注意字符的大小写 2、成对出现的符号如大括号、小括号等一次性写一对 3、...

    java 入门 hello world

    java 入门 public class helloworld{ public static void main String[] args { System out println "hello world" ; } }

    Mydonet_world_helloworld_

    using System;namespace Mydonet{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }}

    通过ros建立工作区打印helloworld

    通过ros建立工作区打印helloworld,通过c++与python两种方式

    Linux 下C语言原理生动学习 -- Hello World的秘密

    02.Hello world的回忆 03.秘密一:main函数的原型 (1-3) 04.秘密二:main函数的返回值 (1-3) 05.秘密三:被隐藏的细节 (1-4) 06.秘密四:printf不见了(1-4) 07.秘密五:链接了哪些共享库 (1-3) 08.秘密六:调用共享...

    HelloWorld-main.zip

    自己整理的多达十几种语言的HelloWorld程序源码(C/C++,ASP,BATCH,E,GO HTML5,Java,JS,PHP,Python......),超级实惠,程序猿入坑必备!!!

    一个简单的Java项目,用于输出“hello world”

    在这个Java项目中,我们定义了一个名为HelloWorld的类,其中包含一个名为main的方法。在main方法中,我们使用System.out.println方法输出了“Hello World!”。当我们运行这个Java项目时,控制台将会输出“Hello ...

    C语言之没有main函数的helloworld示例

    主要介绍了C语言之没有main函数的helloworld示例,本文分解了带main函数的helloworld示例,从而分析出不需要main函数的helloworld示例,需要的朋友可以参考下

    hello world

    汇编 源程序 hello world ;本程序实现了无限制输出字符--即 不用关心字符的长度 而进行输出 assume cs:dama,ds:shuju,ss:zhan shuju segment db 40 dup (0h) shuju ends zhan segment db "I'm a boy! but you ...

    03_HelloWorld入门程序

    第三章 HelloWorld入门程序 作者:张子默 一、程序开发步骤说明 开发环境已经搭建完毕,可以开发我们第一个Java程序了。 Java程序开发三步骤:编写、编译、运行。 二、编写Java源程序 在d:\目录下新建文本文件,...

Global site tag (gtag.js) - Google Analytics