Minecraft(我的世界)中文论坛
标题: JAVA语言零基础学习教程【2.第一个JAVA应用程序】
作者: yuxuanchiadm 时间: 2012-8-23 22:36
标题: JAVA语言零基础学习教程【2.第一个JAVA应用程序】
本帖最后由 gooding300 于 2018-8-20 19:46 编辑
第一个JAVA应用程序
java既能够创建独立的桌面应用程序,还能创建小应用程序,嵌入网页执行,还能作为插件,通过别的JAVA应用程序通过反射加载执行,在网页执行时称为Java Applet,作为独立桌面应用程序执行时称为Java Application,作为插件被别的JAVA应用程序加载时有很多叫法,最主要叫它Java Plugin。
1.1 制作Java Application桌面应用程序
新建一个文本文件,命名为HelloWorld.java(这是一个很经典的东西\( ̄▽ ̄)/),你可以用最简单的记事本来编辑这个文本文件,也可以用Eclipse等集成开发环境来编写这个程序,只不过记事本相比Eclipse这样的集成开发环境来说还是太过于简单了,显然不适合开发大型应用程序,但是这里我们只需要用记事本就行了,Eclipse可能反而不方便,因为你必须创建项目,才能编辑源程序。
1.编写源程序
在记事本里写入如下内容:
- import java.io.*;
- //导入输入输出包里的全部类
- public class HelloWorld
- //定义一个名为HelloWorld的类
- {
- public static void main(String args[])
- //程序的入口函数
- {
- System.out.println("HelloWorld!");
- //在标准输入输出流输出"HelloWorld!"
- }
- }
复制代码2.编译并运行
首先需要对Java源代码进行编译,使其成为Java虚拟机可以执行的中间源代码(Java字节码):
打开cmd转到你编写的源文件所在的目录(什么?不知道CMD怎么用?问度娘=w=),然后输入 javac HelloWorld.java 并回车。这时你将在同一目录得到一个名叫HelloWorld.class的Java字节码文件。然后执行 java HelloWorld ,这时你将在控制台看到输出:"HelloWorld!",这就是你第一个Java应用程序!
3.程序代码解析(不必深入理解)
第1行代码import是一个关键字,用来加载其他类供本程序使用,类似于C中的#include。
第3行代码定义了一个公共类HelloWorld的类头,注意在JAVA里,如果有一个类被定义成了公共类,那么包含此类的文件名字,必须是这个类的名字 + .java后缀,当然如果没有一个是公共的,则可以随便乱取名字。
第5~12行是公共类HelloWorld的类体,其中包含着一个入口函数。
第6~11行是这个程序的入口函数,入口函数必须是公共的、静态的、返回void的、名字为main的、且必须接受一个String类型的数组。
第9行调用System类的out静态属性的println方法,并传递"HelloWorld!"字符串,这时将在控制台输出HelloWorld!。
至于以//开头的类容则是注释,在编译时会自动屏蔽,所以只是让程序更好被人理解,没有实际用途。另外JAVA里还有一种以@开头的名为注解的玩意,这玩意可能影响程序的编译、运行,所以不能随意更改,要注意区别。
1.2 制作Java Applet小程序
Applet小程序一般运行在网页上提供类似flash的动态交互内容,它使用和Java Application同样的编译器进行编译,得到的字节码的格式与Java Application相同,只不过大多数不能作为独立应用程序运行(大多数没有独立应用程序初始化所需要的main静态函数),所以必须嵌入到html网页中,通过浏览器调用其定义的函数,来完成小程序的生命周期。
1.编写源程序
在记事本里写入如下内容:
- import java.applet.*;
- //applet应用程序需要的包
- import java.awt.*;
- //awt图形技术包
- public class HelloWorldApplet extends Applet
- {
- public void paint(Graphics g)
- {
- g.setColor(Color.blue);
- g.drawString("HelloWorld",10,20);
- }
- }
复制代码2.编译并运行:
和Java Application一样,首先需要对Java源代码进行编译。编译的步骤和Java Application一样,也就是说Applet和Application本质上字节码格式是相同的。
然后,你需要创建一个html文件,因为Applet需要在网页环境下运行(大多数时候)。在HelloWorldApplet.class所在文件夹下,新建一个文本文件命名为example.html,用文本编辑器打开它,输入:
- <HTML>
- <BODY>
- <Applet CODE="HelloWorldApplet.class" HEIGHT=200 WIDTH=300>
- </APPLET>
- </BODY>
- </HTML>
复制代码 然后保存,现在,你可以选择直接打开这个网页,或者做一些更高级的事情。首先,在HelloWorldApplet.class所在文件夹下,创建一个批处理文件,命名为run.bat。用文本编辑器打开并输入:- @echo off
- @echo Java Applet小程序开始运行
- @appletviewer example.html
- @echo Java Applet小程序运行完成
- @Pause
复制代码然后保存该文件,并运行。这时,你可以看见Applet以一个窗口的形式打开,并运行,避免调用庞大的浏览器,这在开发程序时十分有用。
3.程序代码解析(不必深入理解)
第1~3行代码import是两个关键字,用来加载其他类供本程序使用,类似于C中的#include。
第5行代码定义了一个公共类HelloWorldApplet的类头,并使其继承自Applet,所有Applet小程序的启动类都必须继承自Applet类。
第7行代码重载了父类中的一个名为paint的方法,父类中本来就有这个方法,可是子类为了实现特定的功能,而覆盖父类的方法,叫做方法重载。此方法的用途是让Applet执行绘图、更新图形界面、显示文本等功能。大多数Applet都应该重载此方法来给用户有好的客户端界面。
第9行代码调用了一个名为 g 的参数的 setColor 方法,并向 setColor 传递一个 Color 类的静态字段 blue,目的是告诉Applet绘图使用蓝颜色。
第10行代码则调用了名为 g 的参数的 drawString 方法,并传递 一个字符串类型的字面量 和两个 int类型的字面量。目的是告诉Applet在屏幕上打印一个内容为 HelloWorld ,X轴为 10 位置,Y轴为 20 位置 的字符串。
作者: 819tierqusi 时间: 2012-8-23 22:38
话说这个我做过也
作者: zesty 时间: 2012-8-23 22:39
这个我也会~终于能完全看懂一个教程了!
作者: sylqiuyifeng 时间: 2012-8-23 22:47
完全看不懂怎么办?
作者: 994523036 时间: 2012-8-23 23:06
还不如我看过的教程馁~~ 要不 换我来编辑??
作者: hendyzone 时间: 2012-8-23 23:15
每次学语言 一开始都是hallo world
看着蛋疼
顺便支持lz{:10_512:}
作者: 我爱慕紫越 时间: 2012-8-23 23:29
Hello Word==怎么都是你好世界!
作者: 我爱慕紫越 时间: 2012-8-23 23:29
学JAVA第一个程序就是helloworld 第二个貌似是个可以浏览图片的程序
作者: 994523036 时间: 2012-8-23 23:35
意思就是可以考虑让我编辑咯?? (没空 还在工作呢.. TMD工作紧.. 要读书了都不让我们罢工...)
作者: 神ID 时间: 2012-8-24 00:14
马克留名技术贴0w0
作者: DJXGAME 时间: 2012-8-24 00:17
有些词语不够考究呀……楼主写的还需雕琢~~~
作者: xtzxtz 时间: 2012-8-24 00:38
helloworld这个似乎是所有语言都要第一个做的...
作者: kirbykirby 时间: 2012-8-24 22:12
本帖最后由 kirbykirby 于 2012-8-24 22:12 编辑
如果你的教程能像Head first Java那样就好了{:10_535:}而且这个HelloWorld需要导入io包吗{:10_535:}
作者: kirbykirby 时间: 2012-8-24 22:50
楼主加我企鹅呀{:10_535:}
作者: Nsplayerol 时间: 2012-8-26 22:20
- @echo off
- cd\
- cd\
- cd\
- cd\
- cd\
- @echo 正在加载
- F:
- echo 打开文件夹中...
- cd java
- echo ====================================编译输出===================================
- javac "helloworld.java"
- echo ===============================================================================
- pause
复制代码 用记事本保存后改成.bat格式
在你的文件夹中输入这样一行代码(将盘符F:改成所在盘符,cd后面跟随文件夹的位置(例如F:\ca\java后面的ca\java)
然后将helloworld.java改成你的文件名字就能快捷编译了。
这个可能很麻烦,如果有高手能够帮忙改下的话就麻烦啦。
这是快捷编译的方法。
楼主我顶你,一定要加油喔~
作者: crazy 时间: 2012-11-5 20:51
我学C的时候第一个程序就是helloworld,vb的时候是HelloWorld,vbs也是HelloWorld
作者: crazy 时间: 2012-11-5 20:52
{:10_492:}怎么觉得java编程序比其他的复杂啊
作者: crazy 时间: 2012-11-5 20:53
{:10_493:}vbs是msgbox “helloworld” 就一行代码=-=
作者: katetem4 时间: 2013-1-1 18:33
crazy 发表于 2012-11-5 20:53 
vbs是msgbox “helloworld” 就一行代码=-=
vb MessageBox.Show("Hello, World!");
對不?
作者: LAM878787 时间: 2013-1-30 15:35
留名...................
作者: gogo81745 时间: 2013-12-7 13:55
汗,我这章就看不懂了
作者: 97043381 时间: 2013-12-7 14:03
英语渣跪了
作者: 1814209846 时间: 2013-12-7 16:59
我始终都没有搞懂程序开发室什么意思LZ
作者: 123axsxs 时间: 2014-1-6 18:53
QQ多少???????????????????
作者: mineleft1403 时间: 2014-1-22 22:39
Nsplayerol 发表于 2012-8-26 22:20 
用记事本保存后改成.bat格式
在你的文件夹中输入这样一行代码(将盘符F:改成所在盘符,cd后面跟随文件夹的位 ...
话说好多的程序语言第一个程序都是HelloWorld。总之,顶楼主,码字辛苦了
作者: 541905573 时间: 2014-2-14 10:52
D:\这什么意思....
作者: 541905573 时间: 2014-2-14 10:52
图挂了.....
作者: ws17909 时间: 2014-2-22 22:00
555.....楼主为什么在运行CMD的时候说我建的那个不存在?我是在桌面建的!
作者: qwqw123123a 时间: 2014-3-20 20:01
为什么我的是C:\Documents and Settings\123\My Documents\My Pictures\QQ图片20140320195956求解答
-
QQ图片20140320195956.jpg
(16.34 KB, 下载次数: 5)
作者: 2051060050 时间: 2014-5-17 21:01
第二部显示找不到或者无法加载主类
这是为什么啊
作者: ccm幻话 时间: 2014-6-8 23:35
为什么javac找不到helloworld??
作者: ccm幻话 时间: 2014-6-9 13:05
代码看不懂。。。
作者: 893816641 时间: 2014-6-21 08:53
楼主,为什么我是这样,如图:C:\Users\asus\Desktop\
-
360截图20140621085208533.jpg
(29.09 KB, 下载次数: 10)
作者: 40541688 时间: 2014-8-30 22:25
lz我也买了那本书~~
作者: luke36 时间: 2014-9-19 16:16
被安全设置阻止怎么破
作者: a824492020 时间: 2014-10-5 07:26
又是HelloWorld
作者: qq2250013682 时间: 2014-10-25 19:48
我正想学!如果有人能教我呢、学生党- -
作者: 1234567654321 时间: 2015-1-22 20:07
楼主,弱弱问一句,能用Netbeans IDE么
作者: 我才是小灰灰 时间: 2015-1-22 21:06
不错不错 赞一个 不过我学java都是看书
作者: wzs1853690244 时间: 2015-2-6 17:34
hello world!经典啊!所有中/英/法/德/美……版本的编程教材中,hello world总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!hello world!话说我学Pascal也是从“hello world”开始的!
作者: Lexx 时间: 2015-4-6 18:42
纠错:事实上System类属于java.lang包,JVM会自动导入,根本不需要导入JAVAIO包
作者: 3216549879791 时间: 2015-5-30 09:17
我都按照你说的设置了,为何还是不行?
作者: chenweiqin 时间: 2015-6-19 12:43
对于第二部分编辑运行,源代码所在目录不懂
作者: chenweiqin 时间: 2015-6-21 12:08
那个helloworld的代码不是
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
作者: 邪恶草 时间: 2015-10-28 21:43
我居然看哭了.....
Hello World!
永远的Hello World!
这是多少次被这个词语感动了?
作者: 邪恶草 时间: 2015-10-28 21:48
路径问题
作者: ABCDEFGHIJKLMN1 时间: 2016-1-19 13:38
为什么显示javac:找不到文件:HelloWorld.java
作者: ABCDEFGHIJKLMN1 时间: 2016-1-19 14:06
楼主加一下我的qq好不好?
有什么问题好问您。

作者: ABCDEFGHIJKLMN1 时间: 2016-1-19 14:11
我的qq:1739351183
作者: ws1918827377 时间: 2016-1-30 12:42
为什么用cmd总是说找不到或无法加载主类
所以只能用eclipse
作者: QQ382009 时间: 2016-1-30 14:03
返回来看mcbbs的教程,发现bbs的教程还是挺容易懂的
作者: MC爱好狂 时间: 2016-1-30 15:33
日,为毛我的不行
作者: Lucency 时间: 2016-2-13 23:12
在cmd输入javac HelloWorld.java 出来一个黑框 一闪而过= = 咋回事
作者: 锭椗 时间: 2016-2-23 13:15
有图吗?
不懂啊
{:10_528:}
作者: a3325480 时间: 2016-2-27 14:16
按照LZ写的第三行会出现下面这个错误和提示,我不知道为什么(因为我是刚刚开学java的萌新~)
错误:main方法不是类HelloWorld中的static,请将main方法定义为:public static void main (String[] args)
import java.io.*;(这个对于萌新来说,会不会用早了?因为萌新我表示不懂这个是干嘛的,无法理解。。。)
错误:需要class,interface或enum
作者: 1753268996 时间: 2016-2-28 19:26
支持你哦
作者: 星E君 时间: 2016-4-24 23:11
学过Java,但感觉你这绝对不是零基础开始学习...
作者: Neoxy 时间: 2016-7-24 21:10
我学习每种语言都会见到熟悉的HELLOWORLD
作者: a837507757 时间: 2016-7-26 13:34
有没有网站是纯介绍Java语法的,就是不说它是什么意思。
这样我只要花个一天就能会基础了{:10_492:}
作者: 502mc 时间: 2016-7-26 15:00
我也是这样 你解决了吗
作者: 502mc 时间: 2016-7-26 15:01
第二部分编译时 错误:找不到或无法加载主类
作者: sam! 时间: 2016-9-18 12:05
你好,想问一下楼主,我在第二步时想要输入 javac HelloWorld.java 的时候为什么说‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件呢。。。?
作者: 164303386 时间: 2016-10-12 20:33
楼主其实可以不用导入输入输出包里的全部类的
作者: 飞翔荷兰人 时间: 2017-1-23 16:39
我这里提示javac不是正确的命令怎么破?
作者: Lne 时间: 2017-2-28 21:33
我想知道Java的方法和C++的函数有没有区别 只是名字上还是更多?
作者: YPXxiaoK 时间: 2017-2-28 22:45
无法加载主类怎么破
作者: RPGmc 时间: 2017-4-4 14:10
你好世界、。。。。
作者: Minefxlz 时间: 2017-4-19 16:39
估计环境变量没有配置好
作者: Shang_zi 时间: 2017-6-23 09:56
一堆术语,萌新表示看不懂
作者: shi_jiu 时间: 2017-7-6 23:52
本帖最后由 shi_jiu 于 2017-7-7 12:40 编辑
?????咋回事啊,啥情况啊。
-
QQ图片20170706235257.png
(6.99 KB, 下载次数: 0)
????这啥情况啊
作者: 18757328858 时间: 2017-10-1 13:22
用cmb输入javac helloworld.java说找不到helloworld.java
作者: 18757328858 时间: 2017-10-1 13:22
用cmb输入javac helloworld.java说找不到helloworld.java(已经进入所在文件)
作者: 67986134567 时间: 2018-8-7 17:45
看懂了,可是没有C语言词汇量,写不出源码
作者: 1/register 时间: 2018-8-8 02:16
凎 win10为啥点文件 要寻找打开方式 java打开还闪退
作者: 1813818490 时间: 2018-8-17 01:02
请问楼主,我不小心改了java的打开方式有办法改回去吗,右键打开方式我试过了不行。
作者: 无缘日轮 时间: 2018-10-16 20:52
谢谢!!!!!!
作者: pookcock 时间: 2018-10-21 21:20
啊啊啊一窍不通
作者: ep0079 时间: 2018-10-26 13:46
我是来收藏教程的,有空慢慢看吧~哟
作者: 153555 时间: 2018-10-27 01:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: a3095272833 时间: 2018-10-28 08:31
好难好难写插件也是这么样的吗
作者: j531065605 时间: 2018-10-28 15:28
我要开始学java,,,为自己加油
作者: loulicon 时间: 2018-11-15 23:12
一步一步学习,感觉很棒!
作者: wsfsb 时间: 2018-11-18 21:59
66666666666
作者: 1717ssss 时间: 2019-6-24 16:06
C:\Users\1717\Desktop\HelloWorld.java:4: 警告:编码 GBK 的不可映射字符
//瀹氫箟涓?釜鍚嶄负HelloWorld鐨勭被
^
C:\Users\1717\Desktop\HelloWorld.java:7: 警告:编码 GBK 的不可映射字符
聽 聽 //绋嬪簭鐨勫叆鍙e嚱鏁?
^
C:\Users\1717\Desktop\HelloWorld.java:6: 需要 ';'
聽 聽 public static void main(String args[])
^
C:\Users\1717\Desktop\HelloWorld.java:6: 需要 ';'
聽 聽 public static void main(String args[])
^
C:\Users\1717\Desktop\HelloWorld.java:9: 需要 ';'
聽 聽聽 聽聽聽System.out.println("HelloWorld!");
^
C:\Users\1717\Desktop\HelloWorld.java:10: 需要 ';'
聽 聽聽 聽聽聽//鍦ㄦ爣鍑嗚緭鍏ヨ緭鍑烘祦杈撳嚭"HelloWorld!"
^
C:\Users\1717\Desktop\HelloWorld.java:11: 需要 ';'
聽 聽 }
^
C:\Users\1717\Desktop\HelloWorld.java:11: 不是语句
聽 聽 }
^
C:\Users\1717\Desktop\HelloWorld.java:11: 需要 ';'
聽 聽 }
^
7 错误
2 警告
作者: yuxiang187 时间: 2019-8-30 09:44
又是HelloWorld
作者: 科学坑 时间: 2019-11-2 00:20
纯小白,零基础,从需要对Java源代码进行编译这里开始就不懂了。
作者: 孙司浩楠 时间: 2019-11-2 08:20
看不懂
作者: 丿繁星丿 时间: 2020-2-15 00:44
编译并运行没看懂,哪里有个视频讲一下吗
作者: 2680887375 时间: 2020-2-18 17:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: yan_xia 时间: 2020-2-20 09:15
开始秃头,有点明白了
作者: weilai... 时间: 2020-2-20 18:42
完全看不懂路过
作者: 607738795 时间: 2020-2-21 12:45
很多电脑术语我都不太会,只是跟着这文章学
作者: 607738795 时间: 2020-2-21 16:26
为什么我的浏览器打不开
作者: 607738795 时间: 2020-2-21 16:29
我第二程序浏览器打不开,第三个程序有谁知道怎么用
作者: yan_xia 时间: 2020-2-22 10:24
打开,学习
作者: MAMA在咆哮 时间: 2020-2-22 20:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: kitten_yu 时间: 2020-3-30 15:33
我感觉到了C和Pascal的温柔(还有VB)
作者: 鸣宝最帅 时间: 2020-4-8 11:45
本帖最后由 鸣宝最帅 于 2020-4-8 11:46 编辑
我怎么按照第一个教程做的输出了这个东西?
-
E0L7XX__B4BT6}@%58(41E0.png
(32.37 KB, 下载次数: 0)
作者: 鸣宝最帅 时间: 2020-4-8 11:48
我怎么按照教程来输出了这个东西