java笔记4-类型转换

学习本节之前,可以先复习下笔记2的内容,搞清楚8种数据类型的关系和所占的空间

基本类型和基本类型之间可以直接转换(自动 强制)

引用类型和引用类型之间可以直接转换(自动 强制)

基本类型和引用类型之间不可以直接转换  可以通过包装类这个桥梁进行转换 今天先介绍下基本数据类型之间的转换

基本数据类型转换

  转换分为自动转换和强制转换

  1、同种数据类型之间可以直接进行赋值操作

int a = 1;
int b = a;    //这行代码的含义是把a变量空间里面的值 赋值给b  

  2、小数据类型相同的情况

    小数据类型相同的情况 比较空间的大小,空间大的可以直接接受小数据类型的值

byte a = 1;
int b = a;  //b的空间大,可以把a的值直接给b
int a = 1;
byte b = (byte)a;  //b的空间小,接收a的值的时候需要强制类型转换
int a = 1000;
byte b = (byte)a; //如果a的值超出了b类型的范围,不会报错,但是b的值会发生改变-24

 

  3、小数据类型不同的情况

    小数据类型相同的情况,并不是看空间大小,而是看精确程度,float的类型的精确程度更高,所以long类型的可以自动转换

int a = 1;
float b = a; //int类型和float类型都是32bit b=1.0
long c = 1;
float d = c; //long类型是64比特位,可以直接转换 d=1.0

    浮点型转换成整型的时候,float类型转换成整型的时候,需要强制类型转换

float a =1.9f;
int b = (int) a;   //b=1

    整型---字符型 字符型可以自动转换成整型(可以查看Unicode码),整型需要强制转换成字符型

char a = '我';
int b = a;    //b=25105
char c = (char)b; //c='我'

    布尔类型不能转换 java中true和1相互转换

 

 

    

  

    

 

posted @ 2019-05-21 16:18  国际惯例  阅读(105)  评论(0编辑  收藏  举报