文章目录
article
基础概念
AI文章摘要
gemini-2.0-flash-lite
这篇文章介绍了Java中的数据类型,包括原子类型(byte, boolean, char, short, int, long, float, double)和引用类型(数组、类对象)。文章还阐述了变量和常量的概念,特别是final常量的特性。在运算符方面,提到Java与C++大致相同,并特别指出instanceof运算符的用途。最后,文章讨论了Java中的类型转换,包括隐式和强制转换,并给出了一些需要注意的事项,例如byte/char/short类型变量参与运算时会自动转换为int。文章末尾还包含了一段设置Java环境变量的bash命令示例。
数据类型
原子类型: java的原子类型规定只能创建在栈上
- 字节型: byte, 1字节
- 布尔型: boolean, 1字节
- 字符型: char, 2字节: java的字符或字符串使用UCS2编码集, 采用UTF-16编码存储, 所以java的char是2字节 javac采用UTF-8读取外部字符和字符串.
- 短整型: short, 2字节
- 整形: int, 4字节
- 长整型: long, 8字节
- 浮点型: float, 4字节
- 双精度浮点型: double, 8字节
引用类型: java的引用和C++引用有些不同. 左值时是指针, 右值时是引用. java规定结构类型必须通过new开辟在堆上使用引用访问
- 数组的引用: int[] arr = new int[N或缺省]{元素或缺省};
- 类对象的引用: className target = new className();
变量与常量
- 变量:
Basic_type 变量名注意变量必须赋值后才能使用, 而且不能超过类型范围- 默认值:
- 常量: 常量分整形常量
1、浮点常量2.2、布尔常量true、空常量null.- 整形默认int类型, 数值后加L声明为
long型. 浮点默认double类型, 数值后加F声明为float型
- 整形默认int类型, 数值后加L声明为
- final常量: 类似于c++的
const常量, 意为最后的、不可变动的。它用来修饰类还有其他用途。- java的
final常量和c++不同, 它可以不用初始化, 只需要保证它仅有一次赋值即可
- java的
运算符与表达式
Java的运算符与C++大体一致
- instanof运算符用来判断一个对象是否是一个对象
类型转换
- 隐式类型转换:
- java不会自动将高级类型的数据自动转换为低级类型的数据, 如有必要必须强制转换
- byte/char/short类型变量只要参与运算都自动转为int
- byte/char/short类型的变量赋值整形常量时(默认是int类型), 只要不超过变量范围编译器自动补上强转
- 强制类型转换:
- 注意事项:
export JAVA_HOME=/opt/jdk1.8.0_212
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin