C++程序员的Java学习之路
Java没有指针概念,只有对一个对象的引用
Java官方文档
一、JRE、JDK、JVM
JRE:Java Runtime Environment
JDK:Java Development Kits
JVM:Java Virtual Machine
Java程序的特点就是一次编写,到处运行,依赖的就是 JVM Java虚拟机。通过文件后缀名称为 ‘.Java’ 的文件编译成 ‘.class’ 的字节码文件,随后在JVM上运行,这就是一个Java运行的过程。
如果你是开发人员,则需要下载JDK,因为这是包括编译运行在内的一个完整的开发包,如果只需要运行编译好的Java程序,则只需要JRE即可。
二、基本类型
Java种的基本类型分为:基本类型(primitive types)和引用类型(reference types)。基本类型是Java种内置的类型,一共有8种(4整型+2浮点+1字符+1布尔,所以并没有基本的string类型),如下图所示。
整数类型:均为带符号的补码表示的整数,均有默认值0
byte
:8位,-128~127short
:16位,-32768~32767int
:32位,-2147483648~2147483647long
:64位,-9223372036854775808~9223372036854775807
浮点类型:符合IEEE 754标准,不精确,不能表示货币等值
float
:32位,单精度,默认值0.0fdouble
:64位,双进精度,默认值0.0d
布尔类型:布尔类型大小准确来说和虚拟机的实现方式有关,这里不做详细描述,有兴趣可以查看官方文档
boolean
:表示true或false,默认值位false,不能用0或1表示
字符类型:编码方式为Unicode编码
char
:16位编码,\u0000~\uffff,由于是Unicode编码,所以既可以表示字符又可以表示汉字,默认值为‘\u0000’,例如:
char a = 0060;//a的输出为0,因为Unicode的低地址编码兼容了ASCII编码
其他关于类型:
- 关于强制类型转换不作详细说明,和C++类似。
- Java种的常量用
final
修饰,且必须初始化。 - 所有基本类型和引用类型必须初始化,不然编译器会报错。
- 在Java种已经包装好了每个整数类型的最大最小值,可以直接使用。
byte a = Byte.MAX_VALUE;
short b = Short.MAX_VALUE;
int c = Integer.MAX_VALUE;
long d = Long.MAX_VALUE;
三、String类型
(未完待续。。。)