1、JDK、JRE与JVM
JDK、JRE、JVM
- JDK:Java Development Kit------ Java开发者工具
- JRE:Java Runtime Environment------- Java运行时环境
- JVM:Java Virtual Machine------- Java虚拟机
java跨平台原理
JVM:充当“翻译官”将字节码文件翻译为当前操作系统可以执行的文件格式
将java文件即源文件编译成class文件即字节码文件使用javac命令,执行class文件即字节码文件使用java命令,其底层会动态的调用JVM。JVM将字节码文件一行一行的解释为当前操作系统可执行的文件,因此java也可以称之为“解释型”语言。
实现一次编译到处运行。
2、二进制
符号位:0表示正数,1表示负数。
补码:正数与原码相同,负数的符号位不变,其他位取反并加上1
反码:正数与原码相同,负数的符号位不变,其他位取反
原码:第一位为符号位,其他的为数字本身
-1:
原码:1 000 0001
反码:1 111 1110
补码:1 111 1111
-3:
原码:1 000 0011
反码:1 111 1100
补码:1 111 1101
1字节可以表示的最小值
补码:1 000 0000
反码:1 111 1111(借一位)
原码:1 1 000 0000(还一位)–> -128
3、数据类型
-
基本数据类型
-
数值型
- 整数类型 — byte short int long
- byte 一个字节 (-128 ~ 127)
- short 两个字节
- int 四个字节 (默认字面量)
- long 八个字节 (通常用来表示时间)
- 浮点类型. — float double (都使用科学计数法,所以并不精确因此不能用于判断)
- float 四字节
- double 八字节 (默认字面量)
- 整数类型 — byte short int long
-
字符型 — char 两个字节 (0 ~ 65535)
java虚拟机(JVM)默认使用 Unicode编码
ASCII
字符 数值 0 48 9 57 A 65 Z 90 a 97 z 122 -
布尔型 — boolean 一位
-
-
引用数据类型
- 类 — class
- 接口 — interface
- 数组
3、运算符
++在前先自加后运算,++在后先运算后自加
&& 和 & 的区别:都属于短路操作,短路操作就是只要出现结果就不进行接下来的操作,例如当一个条件为false就不在进行下面条件的运算,可以减小程序运行时间,提高效率。
<<:左移
>>:右移 正数补0,负数补1
>>>:无符号右移 符号位永远补0,得到一个正数
-4>>>1
原码:1 000 0100
反码:1 111 1011
补码:1 111 1100
无符号右移1位
补码:0 111 1110
反码:0 111 1101
原码:0 111 1101