目录 Java 开发环境
1.1 JDK
1.1.1 JDK安装配置
1.2 Eclipse
1.3 Java虚拟机 - JVM
1.4 数据类型
1.5 计算机中的存储单位
1.6 二进制
1.7 char类型
1.8 基本类型的字面值5条规则
1.9 基本类型运算规则 5 条
2.0 基本类型的类型转换
1 开发环境
1.1 JDK
Java Development Kit 是Java开发库,一组开发工具: bin目录下
JRE - Java运行环境: jre目录,基础类库: jre\lib\rt.jar, 基础类库的源码: src.zip
1.1.1 JDK安装配置
JDK版本: 1.8
配置环境变量 :JAVA_HOME、 PATH、CLASSPATH(可选)
JAVA_HOME 配置JDK的安装目录 例如:D:\Program Files\Java\jdk1.8.0_152 作用: Java的一些开发工具,一些Java程序,在运行 的时候,通过JAVA_HOME变量来寻找JDK目录。
PATH
配置 JDK目录\bin 目录路径
例如:D:\Program Files\Java\jdk1.8.0_152\bin
在操作系统中,执行JDK的开发工具命令时,操作系统在PATH所配置的路径中,寻找命令文件。
%JAVA_HOME%\bin;PATH原来的值。
CLASSPATH(可选)JAVA程序在运行的时候,虚拟机从CLASSPATH中,寻找一个类文件一般只配置一个点(.)。
windows环境变量配置
右键点计算机->属性->高级系统设置->环境变量
添加系统变量、新开命令行才生效。
Linux 环境变量配置
修改 /etc/profile
在末尾添加:export JAVA_HOME=/usr/java/jdk1.8.45、export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH、export CLASSPATH=.
重启或执行 source /etc/profile才能生效。
1.2 Eclipse
集成的开发环境(IDE)
把JDK的命令行开发工具集成起来,提供一个窗口开发界面
其他开发工具: InteliJ Idea、Net Beans等
workspace工作空间目录:用来存放所有开发的文件的目录例如: 保存个人偏好设置、切换工作空间
如下:
file->switch workspace->other E:\order
1.3 Java虚拟机 - JVM
Java程序不能直接运行在操作系统中,而是运行在JVM虚拟机中
不同的操作系统,都有各自系统版本的虚拟机,这是Java可以可以跨平台的原因。
编译
java源码文件编译成 .class字节码文件
order.java 编译–>order.class
运行:
启动java虚拟机(JVM)、虚拟机加载 order.class、执行这个类中的 main()方法。
1.4 数据类型
两类:
基本类型(8种)、引用类型
八种基本类型
byte 1字节 -128到127(-27到27-1)。
short 2字节 (-215到215-1)。
int 4字节 (-231到231-1)。
long 8字节 (-263到263-1)。
float 4字节,单精度 美国电子电气工程师协会浮点数表示规范。
double 8字节,双精度。
char 2字节 0到65535(0到2^16-1)。
boolean 1字节 真 true 假 false (真 00000001假 00000000)。
1.5 计算机中的存储单位
bit 电位
byte 字节8bit
Kb 1024字节
Mb 1024Kb
Gb 1024Mb
Tb 1024Gb
Pb 1024Tb
1.6二进制
1 1
10 2
100 4
1000 8
10000 16
100000 32
1000000 64
10000000 128
100000000 256
1000000000 512
10000000000 1024
1.7 char类型
char类型
表示字符或字符的整数编码、编码使用 Unicode 编码
例如:数字对应字符:
65 —> A、66 —>B、97—> a、98 —>b、20013 —>中 等等。。。。。。
1.8 基本类型的字面值5条规则
第一.整数的字面值是int类型。
//正确
int a = 65365;
//错,右侧是int类型,但超出int范围
long a = 9999999999;
第二.byte,short,char三种范围比int小的整数,可以用范围内的值直接赋值
//右侧就是byte类型
byte a = 127;
//错,右侧是int类型
byte a = 128;
第三.浮点数字面值是 double 类型
double a = 3.14;
//错,右侧是double,不能存到float变量
float a = 3.14;
第四.字面值后缀
L - long
long a = 9999999999L;
F - float
float a = 3.14F;
D - double
double a = 3.0;
double a = 3d;
第五.进制前缀。
0x 16进制
0xff 255
8进制:
0377 255
\u char类型16进制
用16进制,完整的表示char类型的两个字节值
‘\u0061’ a, 97
‘\u4e2d’ 中, 20013
16进制数字字符可以表示2进制4位。
两个16进制数字字符可以表示一个字节值。
8进制数字字符可以表2进制3位。
1.9 基本类型运算规则 5 条
第一. 计算结果的类型与运算项中最大的类型一致
int 和 int --> int
double 和 int --> double
3/2 --> 1
3d/2 --> 1.5
第二. byte,short,char三种比int范围小的整数,运算时,先自动转成int类型
byte a = 3;
byte b = 4;
//右侧是 int+int,结果是int
byte c = a+b;//此处会报错
第三. 整数运算溢出
Integer.MAX_VALUE+1 得到最小值
第四. 浮点数运算不精确
根据浮点数表示规范 IEEE754,做某些值的运算时,有可能得到不精结果
2-1.9
得: 0.1000000000000009
4.35100
得: 434.999999999999999994
第五. 浮点数的两个特殊值
Infinity
无穷大
3.14/0
Double.MAX_VALUE2
NaN
Not a Number
Math.sqrt(-4)
2.0 基本类型的类型转换
范围小 --> 范围大 不用强制转换。
范围大 —>范围小 需要强制类型转换。
浮点数转成整数时,直接舍弃小数。