java的特点
面向对象(oop)
健壮的,强类型、异常处理、垃圾自动收集
跨平台
解释型语言,编译后的代码不能直接被及其运行,需要由解释器来执行
java JDK介绍
JDK(JAVA Development Kit)>JRE(JAVA Runtime Enviroment)>JVM(Java Virtual Mechine)
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令、管理数据、内存、寄存器。屏蔽了底层运行平台的差异。
JRE = JVM+Java的核心类库,如果仅需运行java程序,安装JRE即可。
JDK=JRE+Java开发工具,javac(负责将.java编译为.class),java,javadoc, javap等
Java入门
Hello World程序编写
代码如下
public class hello {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
javac hello.java编译为hello.class
java hello 运行class文件,输出"Hello world"
Note
输入java hello命令后,如果提示找不到主类,则需要设置CLASSPATH环境变量为.;%java_home%\lib;%java_home%\lib\tools.jar;
Important
java源文件以.java为扩展名,源代码里仅有一个public类,该类名称与文件名相同,其他类(private, 默认)数量不限制,每一个类编译后会对应一个class文件。
执行入口为main(), 格式为 public static void main(String[] args)[psvm]
main()方法不一定要在public类中
转义字符
字符 | 含义 |
---|---|
\n | 换行 |
\t | 制表位 |
\\ | 一个\ |
\" | 一个" |
\' | 一个' |
\r | 回车 |
注释
单行注释://
多行注释:/* */
文档注释 @author等信息
变量
变量声明: 类型 变量名,如 int a 。
强制类型转换:int i = (int)1.9
数组
数组声明:类型[] 变量名,如int[] arr;
动态初始化:类型[] 变量名=new 类型[大小],如int[] arr = new int[8]
静态初始化:int[] arr = {1,2,3,4};
数组赋值给另一个数组名时,本质上是引用,即不会拷贝数据内容,只是传递引用
如需完成数组拷贝,需要对数组元素逐个赋值
面向对象编程