java怎么改变数据类型_java数据类型之间的转换,是怎么回事啊? - 收获啦

1、数据类型的分类

3eb95511b025daa1c33b718d224bb224.png

2、比较数据类型之间的字节大小

1字节=8位

7023c035c91f73a1c62a09afbc03a2bd.png

3、转换中的知识点

*java中整数类型默认的int类型;小数类型默认的double;

*String的字符串转化为char类型时,只能用char类型的数组来接收;字符串在转化成char类型是不能像int、float那样使用封装类的parseXXX方法等,但它可以转换成char类型的数组;

自己心得:byte de=(byte) 128;System.out.println(de); 结果:-128

//如果数字溢出当前的数字类型,有两种方法可以阻止其出错,一种是直接强转成 当前数据类型,另一种是转成其他的数据类型(较大的)

//在进行数据类型转换时,两个char类型的数字相加强转成char时,会对应成字符编码里面的,但大多都会

//出现乱码,一个char类型的数字,一个字符如‘a’相加,最后结果会对应字符编码里面的,并输出相对应的字符;

//如果是提升为int类型时,不论是两个char类型的数字相加,还是一个char类型的字符和一个数字最后的结果都是数字

例如:char c=12;char c1=12;char c4='a';char c5=28;char sa='a';char sa1='b';int c3=c+c1;int c7=c4+c5;char c2=(char) (c+c1); char c6=(char) (c4+c5); char sa3=(char) (sa+sa1);   System.out.println("**********");    System.out.println(c2);System.out.println(c6);System.out.println(sa3);System.out.println("**********");System.out.println(c3);System.out.println(c7);

结果:

9ee3fd250042ae88308f6194619f65e5.png

*String的字符串进行类型转换时,如果字符串中包含long整形的字符大写L或者小写l时,在转换成字符串时,会出现错误

例如:    String str="123L";

long str1=Long.parseLong(str);

System.out.println(str1);//结果:错误

*String的字符串是float、double浮点型时,字符串可以加f、F、D、d等,在进行基本类型转换时不会出错

例如:   String f1="12.34f";

float f2=Float.parseFloat(f1);

System.out.println(f2);//结果:12.34,;d、D也一样

4、转换

*自动类型转换(也叫隐式类型转换) ,其实就是小范围的数据类型向大范围的数据类型转换,例如int类型转long

*强制类型转换(也叫显式类型转换) int b = (int)(i + j);

*强制类型转换在某种情况下会丢失精度

*表达式的数据类型自动提升

5进行四则运算时

a、所有的byte型、short型和char的值将被提升到int型

b、如果一个操作数是long型,计算结果就是long型

c、如果一个操作数是float型,计算结果就是float型

d、如果一个操作数是double型,计算结果就是double型

e、如果一个操作数是String型,计算结果就是String型

*面试陷阱byte b1 = 10;byte b2 = 20;//错误: 不兼容的类型: 从int转换到byte可能会有损失//否则,两个操作数都将转换为int类型。byte b3 = b1 + b2 //错误,b1+b2是int类型,java的整数默认类型为int,b3是byte类型,二者类型不同,所以出错byte b3 = (byte)(b1 + b2); //正确

*面试陷阱2:short s1 = 10;s1 = s1 + 12; //错误: 不兼容的类型: 从int转换到short可能会有损失short s2 = 10;s2 += 12; // 等同于short s2 = (short)(s2 + (short)1); //正确

https://blog.csdn.net/sinat_39373192/article/details/86544668?ops_request_misc={"request_id":"159788759719725211945312","scm":"20140713.130102334.."}&request_id=159788759719725211945312&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v2-1-86544668.first_rank_ecpm_v3_pc_rank_v2&utm_term=java数据类型之间的转换&spm=1018.2118.3001.4187

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值