java-数据结构
标识符号定义
- 数字,字母,下划线 美元符号
- 数字不开头
- 长度不限
- 大小写敏感
- 保留字符以及特殊常亮
类型名
意义
boolean
布尔类型
byte
字节类型
char
字符型
double
双精度浮点
float
单精度浮点
int
整型
long
长整型
short
短整型
null
空
int a = 12; // 设置 a 为整数类型,并给 a 赋值为 12
String str = "Hello, OI-wiki"; // 声明字符串变量 str char ch = 'W'; double PI = 3.1415926;
final 关键字
final 含义是这是最终的、不可更改的结果,被 final 修饰的变量只能被赋值一次,赋值后不再改变。
final double PI = 3.1415926;
数组
// 有十个元素的整数类型数组 // 其语法格式为 数据类型[] 变量名 = new 数据类型[数组大小]int[] ary = new int[10];
int[] num = { 1, 2, 3, 4 };
// 最为简单的构造一个字符串变量的方法如下
String a = "Hello";
// 还可以使用字符数组构造一个字符串变量 char[] stringArray = { 'H', 'e', 'l', 'l', 'o' }
String s = new String(stringArray);
类型转换
1. 自动类型转换(隐式类型转换)
自动类型转换发生在小范围数据类型(如 byte、short、char、int 等)的值被赋值给大范围数据类型(如 long、float、double 等)的变量时。这种转换是自动进行的,不需要程序员显式地指定。
int num = 100; double doubleNum = num;// 自动类型转换
在上面的例子中,int 类型的 num 被赋值给 double 类型的 doubleNum 变量,发生了自动类型转换。
2. 强制类型转换(显式类型转换)
当试图将大范围数据类型的值赋给小范围数据类型的变量时,会发生数据丢失,因此 Java 不允许这种自动转换。但如果你确实需要这样做,可以通过强制类型转换来实现,但请注意这可能会导致数据丢失或精度降低。
示例:
double doubleNum = 100.99;
int intNum = (int)doubleNum;
// 强制类型转换 System.out.println(intNum);
// 输出 100采用 integer 类进行禁止的操作。
String str="string";
int num= integer.parseint(s);
在上面的例子中,double 类型的 doubleNum 被强制转换为 int 类型的 intNum。由于 int 类型不能存储小数部分,因此 doubleNum 的小数部分被丢弃,只保留了整数部分。
注意事项
在进行强制类型转换时,请确保转换是安全的,以避免数据丢失或意外的程序行为。
当在数值表达式中使用
byte、short和char类型时,Java 会自动将它们提升为int类型。使用强制类型转换时,通常建议在转换前检查数值是否在目标类型的表示范围内,以避免溢出。
在处理
float和double类型时,请特别注意它们之间的自动类型转换可能导致精度损失(特别是从double转换为float)。