JAVA语言特点
1.面向对象,强类型
完全面向对象:
Java是纯粹的面向对象语言,所有代码都必须封装成类使用,即使是简单的”Hello World”程序也需要定义类和main方法作为程序入口。
强类型特性:
区别于JavaScript等弱类型语言,Java要求变量必须明确定义数据类型。
2. 垃圾自动回收机制
回收机制:
Java的GC不是立即回收不再使用的内存,而是由JVM决定回收时机,但保证最终会回收。
对比C/C++:
在C/C++中,堆内存需要程序员手动释放,否则会导致内存泄漏,最终可能使程序崩溃。
作用域限制:
Java变量一旦超出作用域,程序就无法再访问该变量,为GC回收创造条件。
3. 解释型
编译过程:
Java需要先将源代码(.java)编译为字节码(.class),这点区别于JavaScript/PHP等纯解释型语言。
语言分类对比:
解释型语言:JavaScript、Python、PHP(直接解释执行)
编译型语言:C/C++(直接编译为机器码如.exe)
Java特点:介于两者之间,先编译为字节码再由JVM解释执行
4. 跨平台
核心机制:
通过Java虚拟机(JVM)实现”一次编译,到处运行”,同一份.class文件可在Windows/Linux/Mac等平台运行。
实现原理:
不同平台安装对应版本的JVM
JVM屏蔽底层平台差异
字节码由各平台JVM解释执行
对比C/C++:C/C++程序需要针对不同平台重新编译,可能还需修改代码,而Java只需编译一次。
编译 javac Demo. java
运行 java Demo
第一个Java程序
1. 第一个程序
tips:利用的是notepad++软件
1 | public class Hello { |
2. Java程序的注意事项
Java源文件以.java为扩展名
Java语言区分大小写
public class Hello 表示 Hello 是公有类
一个文件只能有一个公有类,并且类名要与文件名一致,其他类数量不限
{ } 代码的开始和结束
main 主方法,是程序的入口,必须有,不能改
打印输出字符串
语句结束用 ;
所有的符号都是英文状态下的
源文件使用UTF-8编码
Java语言基础组成(语言共性)
1. 注释
1. 单行注释
格式://注释文字
2. 多行注释
格式:/* 注释文字 */
3. 被注释的文字不会被JVM解释执行
多行注释不能嵌套
tips :由于编码问题导致编译失败,代码块里含有中文的情况下,中文默认的是GDK编码,而我们一般默认的是UTF-8编码。会报错。解决:设置环境变量
JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8