Task01-Java简介与环境配置
前言
公司的主要技术栈是Java,同时也是几周后入职培训的主要内容,正好这次借Datawhale的机会督促自己系统复习Java知识。除了Datawhale提供的教程外,主要参考《On Java 8 中文版》。
一、Java简介
- 一门静态面向对象编程语言
- 相较于C++,Java 最核心的变化就是加入了“虚拟机”和“垃圾回收机制”。
二、Java安装及环境配置
- 下载JDK安装包
- 安装JDK
- 配置JAVA环境
JAVA_HOME=【jre路径】
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
前两者是新建的,这个是在原有上添加,在最后添加时如果前面没有加分号,当前这条前要加分号。
- 检验安装是否成功
三、基本数据类型及变量
1. 基本数据类型
Java 确定了每种基本类型的内存占用大小。 这些大小不会像其他一些语言那样随着机器环境的变化而变化。这种不变性也是 Java 更具可移植性的一个原因。 ——《On Java 8》
基本类型 | 大小 | 最小值 | 最大值 | 包装类型 |
---|---|---|---|---|
boolean | — | — | — | Boolean |
char | 16 bits | Unicode 0 | Unicode 216 -1 | Character |
byte | 8 bits | -128 | +127 | Byte |
short | 16 bits | - 215 | + 215 -1 | Short |
int | 32 bits | - 231 | + 231 -1 | Integer |
long | 64 bits | - 263 | + 263 -1 | Long |
float | 32 bits | IEEE754 | IEEE754 | Float |
double | 64 bits | IEEE754 | IEEE754 | Double |
void | — | — | — | Void |
所有的数值类型都是有正/负符号的。布尔(boolean)类型的大小没有明确的规定,通常定义为取字面值 “true” 或 “false” 。基本类型有自己对应的包装类型,如果你希望在堆内存里表示基本类型的数据,就需要用到它们的包装类。
2. 变量类型
- 类变量:独立于方法之外的变量,用static修饰。无论一个雷创建了多少个对象,类只拥有类变量的一份拷贝。生命周期与类一致。
- 实例变量:独立于方法之外的变量,没有static修饰。生命周期与对象一致。
- 局部变量:类的方法中的变量。如果一个方法中的含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量值为基准。
3. 数值类型
如果类的成员变量(字段)是基本类型,那么在类初始化时,这些类型将会被赋予一个初始值。
基本类型 | 初始值 |
---|---|
boolean | false |
char | \u0000 (null) |
byte | (byte) 0 |
short | (short) 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
数值类型之间的合法转换:
- 若两个操作数中有一个是double类型,另一个操作数就会转换为double类型;
- 若其中一个操作数是float类型,另一个操作数也会转换为float类型;
- 若其中一个操作数为long类型,另一个操作数也会转换为long类型;
- 否则两个操作数都会转换为int类型。
数值类型的转换可能会发生精度的丢失,例如:123456789是一个大整组,它所包含的位数比float类型所能表达的位数还要多。当它由整型数值转换为float类型时,将会得到同样大小的结果,但却丢失一定的精度。
强制类型转换
double x = 9.997;
int nx = (int)x;
常量
常量在程序运行时是不能被修改的。
在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:
final double PI = 3.1415927;
枚举类型
枚举类型包括有限个命名的值。
例如:
enum Size {SMALL, MEDIUM, LARGE, EXTRA_LARGE};
//声明这种类型的变量
Size s = Size.MEDIUM;
Size类型的变量只能存储这个类型声明中给定的某个枚举值,或null值。null表示这个变量没有设置任何值。