早上做了Problem25
没有什么复杂的算法,唯一需要注意的是,题里面需要比较一个1000位的数字,想到了各个类型的取值范围,找出来复习一下。
--------------------------------------------------------------------------------------------------
JAVA 数据类型分基本数据类型和引用数据类型。
基本数据类型
Java 里面包含 8 个基本数据类型 ,分别是:
boolean 、 byte 、 char 、 short 、 int 、 float 、 douboe 、 long
1 、 byte 字节
byte 是 JAVA 中最小的数据类型,它在内存中占 8 位 (8 个 bit) ,取值范围从 -128 到 127
赋值: byte I = 127
2 、 short 短整型
short 类型在内存中占 2 个字节,取值范围从 -32768 到 32767
赋值: short i = 32767;
3 、 char 字符型
char 类型在内存中占 2 个字节。表示一个字符,也可以使用 ASCII 码范围内的值来给 char 型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从 0 到 65535
赋值: char i = ‘a’; 或者 char i = 97;
4 、 int 整型
int 型在内存中占 4 个字节。取值范围从 -2147483648 到 2147483647
赋值: int i = 10;
5 、 float 单精度浮点型
float 型在内存中占 4 个字节。取值范围从 -3.4E38 到 3.4E38
赋值: float i = 1.0f;
6 、 long 长整型
long 型在内存中占 8 个字节。取值范围从 -9223372036854775808 到 9223372036854775807
7 、 double 双精度浮点型
double 型在内存中占 8 个字节。取值范围从 -1.7E308 到 1.7E308
8 、 boolean 布尔型
boolean 类型只有两个值: true 和 false 。
基本数据类型的相互转换
转型规则
JAVA 中所有的数字变量都是有符号 ( 正负 ) 的。
JAVA 不允许类型的随意转换。只有数字变量可以进行转换,但是不能随意。
带有小数点的数字变量默认都为 double 型。定义 float 型必须进行强制类型转换。
所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是自动转型。
int 型变量赋值给 char 型变量时, JVM 会以 int 型变量值到 ASCII 码表中查找出所对应的字符,再赋值给 char 型变量。反之也是。但是遵循第 4 条规则。
初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
基本数据类型 默认初值
类型 初始值
boolean false
byte 0
char 0
short 0
int 0
float 0.0
double 0.0
long 0
对我有帮助