Java基础学习笔记_第三章

1.基本数据类型的取值范围

基本类型 取值范围
byte [-128 ~ 127]
short [-32768 ~ 23767]
int ===
long ===
float ===
double ===
boolean true false
char [0 ~ 65535]

2. 八种基本数据类型的默认值

基本类型 默认值
byte 0
short 0
int 0
long 0
float 0.0
double 0.0
boolean false
char \u0000

3. char

定义 : char x = 'a'; char y = '中'; char z = '\n';

'\' 这是一个转义字符;
'\n' 这是换行符;
'\t' 这是制表符;
'\\' 这是普通的反斜杠;
' \' ' 这是普通的单引号;
' \" ' 这是普通的双引号;
'\u0000' -- \u 会将后面的字符看成Unicode编码,
......

4. int类型的显示

  • java语言中的整数型字面值默认当做int 类型处理;
  • java语言中整数型字面值有三种表示方式
    • 十进制 : 默认的表示方式; int a = 10;
    • 八进制 : 以 0 开始 ; int b = 010;
    • 十六进制: 以 0X 开始 ; int c = 0X10; int d = 0x10;

5. 数据类型转换

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

5.1 自动类型转换

取值范围小的类型 自动提升为 取值范围大的类型

public static void main(String[] args) { 
  int i = 1; 
  byte b = 2; 
  // byte x = b + i; // 报错 //int类型和byte类型运算,结果是int类型 int j = b + i;     
  System.out.println(j); 
}

同样道理,当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升为 double 类型进行运算。

public static void main(String[] args) {
 int i = 1; 
 double d = 2.5; //int类型和double类型运算,结果是double类型 //int类型会提升为double类型 
 double e = d+i; 
 System.out.println(e); 
}

5.2 强制类型转换

强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。

将 1.5 赋值到 int 类型变量会发生什么?产生编译失败,肯定无法赋值。

int i = 1.5; // 编译错误

想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值

语法:

数据类型 变量名 = (数据类型)被转数据值;

int i = (int)1.5;

同样道理,当一个 short 类型与 1 相加,我们知道会类型提升,但是还想给结果赋值给short类型变量,就需要强制转换。

public static void main(String[] args) { 
   //short类型变量,内存中2个字节 
   short s = 1; 
   /*
     出现编译失败 s和1做运算的时候,1是int类型,
     s会被提升为int类型 s+1后的结果是int类型,
     将结果在赋值会short类型时发生错误 short内存2个字节,
     int类型4个字节 必须将int强制转成short才能完成赋值
   */
   s = s + 1;//编译失败 
   s = (short)(s+1);//编译成功
 }

6. 总结

  • 基本数据类型的取值范围
  • 自动类型转换
  • 强制类型转换
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容