2004:java5.0
2014:java8.0
2018:java10.0
JVM:Java Virtual Machine java虚拟机
它从软件层面屏蔽了底层硬件、指令层的细节,使得兼容各种系统
.
.
.
许多函数库会因为平台的关系,导致不能通用或者实现函数不同
例如:
C++: Messagebox,我要创建一个弹窗
Linux:这是啥呀,没见过这个函数啊
Windows:收到,马上创建
.
.
.
而java实现了统一
Mac,Linux,windows。他们三都一样
java:给我创建一个线程 new Thread();
JVM就会将统一的创建线程new Thread方式,换成不同平台的创建方式
Mac:收到,我现在是mac平台,应该调用mac平台的创建线程
Linux:收到,我现在是Linux平台,应该调用Linux平台的创建线程
Windows:收到,我现在是windows平台,应该调用Windows平台的创建线程
Java Runtime Environment:java运行时环境,运行时的JVM,以及内置的初始基础类库等…
Java Development Kit:Java开发工具包,javac编译工具,java运行工具
JDK和JRE版本也会影响运行,举个例子
C++11标准的库========Java 5.0的库
在GCC高版本中可能会淘汰一些函数,库
同理,JRE中的JVM是10.0,可能就不支持5.0中的一些库了
无法运行
和其他的程序一样,将应用程序的bin目录配置到系统变量即可
系统变量:加入后可以直接访问该目录下的程序,无需CD切入
byte,int,long, float,double,char boolean
int和double是默认数据类型,小数和整数
由于常量默认是int
long num = 1000000000; // 将会报错 long num = 1000000000L; // 正确 // 同理 float fn = 0.111111; // 报错 float fn = 0.111111F; // 正确
Java中可以直接输出常量:123123,’A‘,3.14…(boolean除外)
数据类型的转换自动转换
字节空间小的,可以存放在字节空间大的,相反则不可以
在不同数据相加的时候,也是自动转换为更高的
强制转换
强转会失去精度,虽然可以强转,但一般不建议
long a=10; int b=(int)a;
java中的字符串可以直接用+拼接



