运行一个java的最java简单项目案例的程序,出现这种错误,怎么解?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&leizhimin 的BLOG
用户名:leizhimin
文章数:716
评论数:2655
注册日期:
阅读量:24883
阅读量:274195
阅读量:1005557
阅读量:153045
51CTO推荐博文
Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。
在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Java类中main()方法的奥秘,程序的代码如下:
/** * Java中的main()方法详解 */ public class HelloWorld { &&&&public static void main(String args[]) { &&&&&&&&System.out.println("Hello World!"); &&&&} }
一、先说类:
HelloWorld 类中有main()方法,说明这是个java应用程序,通过JVM直接启动运行的程序。
既然是类,java允许类不加public关键字约束,当然类的定义只能限制为public或者无限制关键字(默认的)。
二、再说main()方法
这个main()方法的声明为:public static void main(String args[])。必须这么定义,这是Java的规范。
为什么要这么定义,和JVM的运行有关系。
当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。
由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要是限制为public static。
对于java中的main方法,jvm有限制,不能有返回值,因此返回值类型为void。
main方法中还有一个输入参数,类型为String[],这个也是java的规范,main()方法中必须有一个入参,类细必须String[],至于字符串数组的名字,这个是可以自己设定的,根据习惯,这个字符串数组的名字一般和sun java规范范例中mian参数名保持一致,取名为args。
因此,main()方法定义必须是:“public static void main(String 字符串数组参数名[])”。
三、main()方法中可以throw Exception
因此main()方法中可以抛出异常,main()方法上也可以声明抛出异常。
比如,下面这个写法是正确的:
public class TestMain { &&&&&&&&public static void main(String[] args) throws Exception { &&&&&&&&&&&&&&&&System.out.println("哈哈哈哈哈"); &&&&&&&&&&&&&&&&throw new Exception(""); &&&&&&&&} }
运行结果:
哈哈哈哈哈 Exception in thread "main" java.lang.Exception:&&&&&&at maintest.TestMain.main(TestMain.java:11) &&at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) &&at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) &&at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) &&at java.lang.reflect.Method.invoke(Method.java:585) &&at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) Process finished with exit code 1
四、main()方法中字符串参数数组作用
main()方法中字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开。
下面给出一个例子,看看如何初始化和使用这个数组的。
/*** 打印main方法中的输入参数 */ public class TestMain { &&&&public static void main(String args[]){ &&&&&&&&System.out.println("打印main方法中的输入参数!"); &&&&&&&&for(int i=0;i&args.i++){ &&&&&&&&&&&&System.out.println(args[i]); &&&&&&&&} &&&&} }
执行方法和运行结果
D:\Study\basetest\src&javac TestMain.java D:\Study\basetest\src&java TestMain 1 2 3 打印main方法中的输入参数! 1 2 3
五、给出HelloWorld的另外一个版本
/** * 变态版的HelloWorld.呵呵 */ public class HelloWorld2 { &&&&static { &&&&&&&&System.out.println("Hello Wordld!"); &&&&} &&&&public static void main(String args[]){ &&&&&&&&System.exit(0); &&&&} }
这个main()方法执行的内容就一句"System.exit(0);" ,目的是让程序正常结束。那“HelloWorld!”是从哪里打印的,秘密就是在static打印的,因为static代码块的内容会在main调用前调用。
main方法作为一个特殊的规范,与普通的方法有很大区别,限制很多,理解其原理需要学习JVM相关知识。是Java中学习中大障碍。这是我对main原理和使用的总结,欢迎各位在此讨论。
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
12:25:06 14:18:13 23:25:07 10:18:26 14:41:22 17:49:14 22:41:46 19:43:47 11:21:15 17:26:23 14:34:08 00:26:50 16:26:53 11:40:44 21:01:54软件开发_程序错误等解决方案_Java Exception_imooo软件程序bug解决方案
imooo软件程序bug解决方案
- lss2132152 - 杨登君 - sugar - wmj1892 - 苍箫独笛 - xiaohui - marco2000marco - 猪唛 - 倪笑天 - xiaofu520987 - 雪晶子 - 冰洋 - 天使狼8888 - 梁山子 - 白轻衣您所在的位置: &
一个简单的Java应用程序
一个简单的Java应用程序
(美)昊斯特曼著/叶乃文,邝劲筠,杜永萍译
机械工业出版社
《Java核心技术》第3章Java基本的程序设计结构,这一章主要讲述程序设计相关的基本概念(如数据类型、分支以及循环)在Java中的实现方式,本小节为大家介绍的是一个简单的Java应用程序。
第3章&& Java基本的程序设计结构
一个简单的Java应用程序&
现在,假定已经成功地安装了JDK,并且能够运行第2章中给出的示例程序。我们从现在开始将介绍Java应用程序设计。本章主要讲述程序设计相关的基本概念(如数据类型、分支以及循环)在Java中的实现方式。
非常遗憾,需要告诫大家,使用Java编写GUI应用程序并不是一件很容易的事情,编程者需要掌握很多相关的知识才能够创建窗口、添加文本框和按钮等。介绍基于GUI的Java应用程序设计技术与本章将要介绍的程序设计基本概念相差甚远,因此本章给出的所有示例都是为了说明一些相关概念而设计的“玩具式”程序,它们仅仅通过shell窗口输入输出。
最后需要说明,对于一个具有C++编程经验的程序员来说,本章的内容只需要浏览一下,应该重点阅读分布在正文中的C/C++注释。对于具有使用Visual Basic等其他编程背景的程序员来说,可能会发现其中的绝大多数概念都很熟悉,但是在语法上有比较大的差异,因此,需要非常仔细地阅读本章的内容。
3.1&& 一个简单的Java应用程序
下面看一个最简单的Java应用程序,它只发送一条消息到控制台窗口中:
这个程序虽然很简单,但所有的Java应用程序都具有这种结构,还是值得花一些时间研究一下。首先,Java对大小写敏感。如果出现了大小写拼写错误(例如,将main拼写成Main),那程序将无法运行。
下面逐行地查看一下这段源代码。关键字public称为访问修饰符(access modifier),它用于控制程序的其他部分对这段代码的访问级别。在第5章中将会更加详细地介绍访问修饰符的具体内容。关键字class表明Java程序中的全部内容都包含在类中。这里,只需要将类作为一个加载程序逻辑的容器,程序逻辑定义了应用程序的行为。在第4章中将会用大量的篇幅介绍Java类。正如第1章所述,类是构建所有Java应用程序和applet的构建块。Java应用程序中的全部内容都必须放置在类中。
关键字class后面紧跟类名。Java中定义类名的规则很宽松。名字必须以字母开头,后面可以跟字母和数字的任意组合。长度基本上没有限制。但是不能使用Java保留字(例如,public或class)作为类名(保留字列表请参看附录A)。
从类名FirstSample可以看出,标准的命名规范为:类名是以大写字母开头的名词。如果名字由多个单词组成,每个单词的第一个字母都应该大写(这种在一个单词中间使用大写字母的方式称为骆驼命名法。以其自身为例,应该写成CamelCase)。
源代码的文件名必须与公有类的名字相同,并用.java作为扩展名。因此,存储这段源代码的文件名必须为FirstSample.java(再次提醒大家注意,大小写是非常重要的,千万不能写成firstsample.java)。
如果已经正确地命名了这个文件,并且源代码中没有任何录入错误,在编译这段源代码之后就会得到一个包含这个类字节码的文件。Java编译器将字节码文件自动地命名为FirstSample. class,并与源文件存储在同一个目录下。最后,使用下面这行命令运行这个程序:
(请记住,不要添加.class扩展名。)程序执行之后,控制台上将会显示“We will not use ‘Hello,World’!”。
运行编译程序时,Java虚拟机将从指定类中的main方法开始执行(这里的“方法”就是Java中所说的“函数”),因此为了代码能够执行,在类的源文件中必须包含一个main方法。当然,也可以将用户自定义的方法添加到类中,并且在main方法中调用它们(第4章将讲述如何自定义方法)。
注释:根据Java语言规范,main方法必须声明为public(Java语言规范是描述Java语言的官方文档。可以从网站上阅读或下载)。
不过,当main方法不是public时,有些版本的Java解释器也可以执行Java应用程序。有个程序员报告了这个bug。如果感兴趣的话,可以在网站 bugdatabase/ index.jsp上输入bug号码4252539查看一下。这个bug被标明“关闭,不予修复。”Sun公司的工程师解释说:Java虚拟机规范(在 docs/books/vmspec)并没有要求main方法一定是public,并且“修复这个bug有可能带来其他的隐患”。好在,这个问题最终得到了解决。在Java SE 1.4及以后的版本中将强制main方法是public的。
从上面这段话可以发现一个问题的两个方面。一方面让质量保证工程师判断在bug报告中是否存在问题是一件很头痛的事情,这是因为其工作量很大,并且工程师对Java的所有细节也未必了解的很清楚。另一方面,Sun公司把bug报告及其解决方案放到网站上让所有人监督检查,这是一种非常了不起的举动。“bug展示”对程序员来说是一种十分有用的资源,甚至程序员可以对感兴趣的bug进行“投票”。得票多的bug在下一个将要发布的JDK版本中得到解决的可能性就大。
需要注意源代码中的括号{ }。在Java中,像在C/C++中一样,用花括号划分程序的各个部分(通常称为块)。Java中任何方法的代码都用“{”开始,用“}”结束。
花括号的使用风格曾经引发过许多无谓的争论。我们的习惯是把匹配的花括号上下对齐。不过,由于空白符会被Java编译器忽略,所以可以选用自己喜欢的任意风格。在下面讲述各种循环语句时,我们还会详细地介绍花括号的使用。
我们暂且不去理睬关键字static void,而仅把它们当作编译Java应用程序必要的部分就行了。在学习完第4章后,这些内容的作用就会揭晓。现在需要记住:每个Java应用程序都必须有一个main方法,其格式如下所示:
C++注释:作为一名C++程序员,一定知道类的概念。Java的类与C++的类很相似,但还是有些差异会使人感到困惑。例如,Java中的所有函数都属于某个类的方法(标准术语将其称为方法,而不是成员函数)。因此,Java中的main方法必须有一个外壳类。读者有可能对C++中的静态成员函数(static member functions)十分熟悉。这些成员函数定义在类的内部,并且不对对象进行操作。Java中的main方法必须是静态的。最后,与C/C++一样,关键字void表示这个方法没有返回值,所不同的是main方法没有给操作系统返回“退出代码”。如果main方法正常退出,那么Java应用程序的退出代码为0,表示成功地运行了程序。如果希望在终止程序时返回其他的代码,那就需要调用System.exit方法。
接下来,研究一下这段代码:
一对花括号表示方法体的开始与结束,在这个方法中只包含一条语句。与大多数程序设计语言一样,可以将Java语句看成是这种语言的句子。在Java中,每个句子必须用分号结束。特别需要说明,回车不是语句的结束标志,因此,如果需要可以将一条语句写在多行上。
在上面这个main方法体中只包含了一条语句,其功能是:将一个文本行输出到控制台上。
在这里,使用了System.out对象并调用了它的println方法。注意,点号(?)用于调用方法。Java使用的通用语法是
这等价于函数调用。
在这个示例中,调用了println方法并传递给它一个字符串参数。这个方法将传递给它的字符串参数显示在控制台上。然后,终止这个输出行,以便每次调用println都会在新的一行上显示输出。需要注意一点,Java与C/C++一样,都采用双引号分隔字符串。本章稍后将会详细地讲解有关字符串的知识。
与其他程序设计语言一样,在Java的方法中,可以没有参数,也可以有一个或多个参数(有的程序员把参数叫做变元)。对于一个方法,即使没有参数也需要书写圆括号。例如,不带参数的println方法只打印一个空行。使用下面的语句:
注释:System.out还有一个print方法,它在输出之后不换行。例如,System.out.print(“Hello”)打印“Hello”之后不换行,后面的输出紧跟在字符‘o’之后。
【责任编辑: TEL:(010)】
关于&&&&&&的更多文章
虚拟化技术是大数据和云计算应用中的核心技术,经过几年的友展,
本书描述了黑客用默默无闻的行动为数字世界照亮了一条道路的故事。
讲师: 3人学习过讲师: 7人学习过讲师: 7人学习过
这是一个数据爆发的时代,尤其是在互联网+的风口上,
MATLAB 是数值计算、可视化及编程的一种高级语言和互
《2016年全国会计专业技术资格考试辅导教材 初级会计
本书是一本知识全面、系统、专业的网络工程基础知识必备图书。全书条理清晰、逻辑性强,遵循从全局到细节,从底层基础到高层应用
51CTO旗下网站

我要回帖

更多关于 java运行错误 的文章

 

随机推荐