第一个JAVA程序:
public class HelloWorld { /* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World } }
- 打开代码编辑器,把上面的代码添加进去;
- 把文件名保存为:HelloWorld.java;
- 打开 cmd 命令窗口,进入目标文件所在的位置,假设是 C:
- 在命令行窗口输入 javac HelloWorld.java 按下回车键编译代码。如果代码没有错误,cmd 命令提示符会进入下一行(假设环境变量都设置好了)。
- 再键输入 java HelloWorld 按下回车键就可以运行程序了
你将会在窗口看到 Hello World
初学者对这个程序的理解:
1:public class HelloWorld
在Java 程序中,java文件会被编译成带有.class拓展名的字节代码文件。.class文件自身可被视作程序。在第一行中,定义了一个新的HelloWorld类。可用于使用关键字class后跟类的名称来创建类
2:public static void main(String []args)
这一行定义了一个方法(或者可以叫一个函数),这是HelloWorld类的一个成员,称为main(主函数)。在Java中main是一个非常特殊的函数,特别是对于应用程序来说,main是其Java运行时的引擎(JRE)或者java.exe的入口点。以后键入 java HelloWorld 这条命令时,就是告诉java运行时,引擎打开类文件HelloWorld.class并处理main函数。
Public:
将main函数声明为公有函数,便于调用,除了public之外还有 private 和protected 两个修饰符。
Static:
关键字static告诉编译器有且仅有一个方法(或变量)是该类所有实例公用的。例如,即使HelloWorld类有100个不同的副本在运行,也只有一个main函数。类中的main函数是static静态的。
Void:
返回值类型
(String []args)或(String args[])://必须要加
函数名后面圆括号内包含的是传递给函数的参数列表。
例如输入命令: java HelloWorld one two three four
命令行将向函数传递四个项目:one,two,three,four。
Args[0] = ”one”
Args[1] = ”two”
Args[2] = ”three”
Args[3] = ”four”
3: System.out.println("Hello World"); // 打印 Hello World
System:
System实际上是java语言所提供的一个类。这个类十分重要,可以用来访问标准输入设备(键盘),标准输出设备(显示器)以及标准错误输出设备(通常是显示器)。
System类有一组公共属性或数据成员,以及一组公共方法或函数,可在程序中访问这些属性或方法。(类似于c++中的库函数)在类名system后加上一个句点(.)然后加上方法或属性名称,就可以访问他们。
Out:
Out变量表示标准输出设备,通常是显示器,注意out变量的类型是PrintStream.
PrintStream类中包含一组print,println和write函数,这些函数知道如何打印不同类型的变量。
Println:
用于输出,功能和print差不多
最终结果:system.out.println(“HelloWorld”)
在CMD中运行此程序可能会遇到的问题:
1.出现编码GBK的不可映射字符:
由于程序中有汉字,汉字的编码和英文字母不同导致出错,因此可以删掉汉字来解决此问题,或者使用编译器,改一下编码,将编码转换为“使用ANSI格式编码”即可。
错误: CMD 编译 Java 源文件时出现的编码 GBK 的不可映射字符的错误。
办法:使用 javac -encoding UTF-8 .java 指定编码形式。
原因:由于 JDK 是国际版的,在编译的时候,如果我们没有用 -encoding 参数指定 JAVA 源程序的编码格式,则 java.exe 首先获得我们才做系统默认采用的编码格式,也即在编译 JAVA 程序时,若我们不指定源程序文件的编码格式,JDK 首先获得操作系统的 file.encoding 参数(它保存的就是操作系统默认的编码格式,如 win2k,他的值为 GBK),然后 JDK 就把我们的 JAVA 源程序从 file.encoding 编码格式转化为 JAVA 内部默认的 UNICODE 格式放到内存中。之后,javac 把转换后的 UNICODE 格式的文件进行编译成 class 类文件,此时 .class 文件是 UNICODE 编码的,它暂放在内存中,紧接着,JDK 将此以 UNICODE 编码编译后的 .class 文件保存到操作系统中形成我们见到的 .class 文件。但我们不加设置就编译时,相当于使用了参数: javac -encoding gbk xx.java,就会出现不兼容的情况。
2.出现jdk和jre版本不符合(大多是因为之前安装过java,由于java没有升级导致的版本不符合):
可以直接去下载最新版的java,就可以解决该问题