今天深入探究一下我们写的第一个java程序Hello.java,相信很多小伙伴第一个java程序都是输出Hello World!,那么来深入探究一下:
java程序:
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
第一行:
| public | 公共的 |
| class | 类 |
那么第一行的意思就是公共的类名叫Hello。
第二行:| public | 公共的 |
| static | 静态的 |
| void | 无返回的/无效的 |
| String[] | 表示一个字符数组 |
那么第二行的意思就是 公共的静态的无返回值的方法叫main,里面有一个字符型的数组名叫args。
第三行:| System | 系统 |
| out | 出来 |
| 打印 |
那么第三行的意思就是 系统的输出打印,这句话就能把我们需要输出出来的语句打印出来。
解析:1.大家都知道写主方法的时候都必须写成public static void main(String[] args),可是为什么要这样写呢,他的作用是在程序运行的时候,系统找到了该类的主方法,才会运行主方法内的执行语句。在java核心编程中,JVM会查找类中的public static void main(String[] args),如果找不到该方法就抛出错误NoSuchMethodError:main 程序终止。
2.为什么主方法是public,主要是因为jvm(java虚拟机)在运行的时候才能直接找到这个类,如果设置为private(私有的),那么jvm不能直接找到这个类。
3.为什么要把主方法设置为静态的,主要是因为jvm在运行的时候,就不用创建一个实体类,这样的话能够提升运行速度。
编码问题:最后来解决一下编码问题吧,我们在最开始的时候一般都是用记事本来打java程序,会发现输出中文的时候会出现乱码问题,这么这个主要是因为编码和解码的格式不统一,来列一个表来看一下在每一个编码格式中中文占的字节数:
| UTF-8 | 一个中文占3个字节 |
| GBK | 一个中文占2个字节 |
可以看出,如果我们在UTF-8中写了三个中文,那就是9个字符,拿到GBK格式来解析,就成了4.5个中文,那显然是不可能的,所以会出现乱码。
解决:1.控制台的默认编码格式为GBK格式,我们可以将控制台的编码格式设置为UTF-8,命令为:
javac -encoding=UTF-8 Test01.java
这样就相当于控制台用UTF-8的格式来编辑代码。
2.在我们编写程序的时候我们直接用GBK格式来编码,那么在控制台编译时候自然就不会出错了。



