`
softkid
  • 浏览: 101549 次
  • 性别: 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  
为什么呢??读书不求甚解!

相关推荐

    c++显示hello world!

    - `main()` 函数体内的语句 `return Say(Hello world!);` 调用了之前定义的宏 `Say` 来输出 “Hello world!” 字符串。这里的 `Hello world!` 是一个常量字符串,而不是变量。 4. **输出结果:** - 当程序运行时...

    Hello,World!

    这个简单的程序在屏幕上打印出 "Hello, World!" 文本,帮助开发者了解如何在特定的语言环境中控制输出。下面我们将详细讲解不同编程语言中的 "Hello, World!" 程序示例。 1. **RPGLE (AS400)** RPGLE(Report ...

    关于"Hello World!"程序

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

    Helloworld_helloworld_

    这个简单的程序通常只包含一行代码,用于在控制台上打印出 "Hello, World!" 这个字符串。在这个场景中,我们看到的"HelloWorld_helloworld_"可能是某种编程教程或示例项目的名称,它似乎旨在展示如何在不同情况下...

    一个简单的Golang脚本示例,该脚本将打印出“Hello, World!”到控制台

    一个简单的Golang脚本示例,该脚本将打印出“Hello, World!”到控制台。 这个脚本的组成部分解释如下: package main:声明了一个包,名为main。在Go中,每个Go文件都属于一个包,而main包是一个特殊的包,它告诉Go...

    HelloWorld_打印HelloWorld_

    我们可以在这个方法内添加一行代码来打印"Hello, World!": ```csharp Console.WriteLine("Hello, World!"); ``` 4. **编译与运行**:保存代码后,按下"F5"键或者点击菜单栏的"调试" -> "开始调试"。Visual ...

    helloworld!

    "HelloWorld!" 是一个经典的编程入门程序,通常用于教授初学者如何在各种编程语言中打印出 "Hello, World!" 这一字符串。这个简单的程序帮助新手理解基本的代码结构、语法以及程序运行的基本流程。 在编程领域,...

    Hello_World.zip_hello world _world

    这个简单的程序是许多编程语言教学的第一课,用于向初学者介绍如何在代码中打印出“Hello, World!”这个字符串,以此来验证编译环境的正确配置和基础语法的理解。 在IT领域,“Hello, World!”程序的重要性不言而喻...

    HelloWorld-main.zip

    这两段代码都是通过标准输出(屏幕)打印出“Hello, World!”。 2. **ASP**(Active Server Pages): ASP是微软开发的一种服务器端脚本环境,用于构建动态网站。在ASP中,"Hello, World!"可能使用VBScript或...

    Objective-C HelloWorld! 程序案例

    ### Objective-C HelloWorld! 程序案例知识点解析 #### 一、Objective-C语言概述 Objective-C是一种面向对象的编程语言,由苹果公司在其操作系统(如macOS、iOS、watchOS和tvOS)的开发中广泛使用。Objective-C...

    Java最开始的helloworld

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

    Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始

    本教程将深入探讨Objective-C 2.0与Cocoa Foundation的结合,从经典的"Hello, World!"程序开始,逐步揭示这门语言的强大之处。 "Hello, World!"是所有编程旅程的传统起点,它展示了语言的基本语法和输出功能。在...

    Hello World ! Java ! 记录Java学习日常.zip

    然后通过`java HelloWorld`运行程序,屏幕上将显示“Hello, World!”。 【Java语法特性】 1. **面向对象**:Java支持类、对象、封装、继承和多态等面向对象特性。 2. **自动内存管理**:Java使用垃圾收集器自动...

    Hello World.rar_c++ hello world_world

    本主题将深入探讨如何使用C++语言编写这个经典的 "Hello, World!" 程序,以及C++的基本语法和环境配置。 C++ 是一种强类型、面向对象的编程语言,由Bjarne Stroustrup于1979年在C语言的基础上发展而来。它以其高效...

    hello world_helloworld_world_turnn6q_

    在`main`函数内部,我们使用`std::cout`来打印字符串 "Hello, World!",`操作符是流插入运算符,它将右边的字符串传递给左边的`std::cout`进行输出。`std::endl`则是一个操纵符,它不仅换行,还刷新输出缓冲区。 ...

    “Hello world!”的N种写法

    大 家都知道main函数退出意味着程序结束,可是这并不完全正确,我们完全可以在main函数退出以后做很多事呢——比如说,输出“Hello world!”。 5. 读取自己的“Hello world!” C/C++的编译器提供了一些有用的内置...

    CCS hello world打印.rar

    此代码的作用是在标准输出设备(通常是控制台)上打印出"Hello, World!"字符串。 2. **输出结果图**:这可能是一个截图,展示了在CCS中运行程序后控制台的输出结果。当成功编译并运行上述代码时,用户将在终端看到...

    各种语言的Helloworld编程

    这个简单的程序通常在控制台上打印出 "Hello, World!" 这个短语,以此来验证编译环境和基本语法的正确性。它的起源可以追溯到 Brian Kernighan 和 Dennis Ritchie 合著的《The C Programming Language》一书,书中...

    HelloWorld

    这个简单的程序在各种编程语言中的实现都大同小异,主要目的是为了让新手了解如何在计算机上打印出“Hello, World!”这句话,从而熟悉编程环境的基本操作。 在编程世界里,"Hello, World!"程序的编写标志着一个...

    Hello World.zip_hello world _world

    【Hello World.zip】是一个压缩包,它包含了编程初学者入门的经典示例——"Hello, World!"程序。这个程序是学习任何编程语言时的第一个教程,通常用于演示基础语法和程序运行的基本流程。在C#中,"Hello, World!...

Global site tag (gtag.js) - Google Analytics