JAVA数据类型】java数据类型之间的转换,是怎么回事啊?

2020-08-18 09:38发布

3条回答
那些年很冒险的梦。
2楼 · 2020-08-18 09:44

java里面基本数据类型就int

浮点型

字符型和布尔

转换的规则是

byte,short,char——》int——》long——》float——》double

还有什么强制类型转换是指低类型的转向高类型的

和c差不多了


py大白
3楼 · 2020-08-18 10:16

java里面基本数据类型   就int浮点型  字符型和布尔    转换的规则是

byte,short,char——》int——》long——》float——》double

还有什么强制类型转换是指低类型的转向高类型的 和c差不多了


我是大脸猫
4楼 · 2020-08-20 09:40

1、数据类型的分类

 

 

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

            1字节=8位

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);

结果:

*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

相关问题推荐

  • 回答 8

    引用类型有:Object类型,Array类型,Date类型,RegExp类型(正则),function类型。还有基本包装类型,也是一种引用类型,ECMAScript还提供了 3个特殊的引用类型:Boolean、Number和String。

  • 回答 17

    最基本的就是做开发了,可以做程序的后台开发,框架搭建等,也可以做前台的,就是做前台的展示页面,到后面也可以做项目管理,带团队。

  • 回答 16

    学习函数,面向对象,数组,SQLite数据库系统,java多线程技术,JB BOM ,CSS基础,Oracle,mybatis基础等等

  • 回答 10

    使用方法就是定义变量的类型,如 int a = 0 其中int就是变量类型,a就是变量,0就是a的值依次还有String(字符类型),double(小数类型)等

  • 回答 1

    Java中的常量的分类①、整数常量,所有整数②、小数常量,所有小数③、布尔型常量,较为特有,只有两个数值,true false ④、字符常量,将一个数字字母或符号用单引号(‘’)标识⑤、字符串常量,将一个或者多个字符用双引号()标识⑥、null常量,只有一...

  • 回答 8

    需要一个发短信的设备,比如短信猫。去网上找一下,有很多。短信猫的卖家可以给你提供java编程接口,但一般都是要收费。如果你不想额外花钱买java接口,你可以去搜一个叫做SMSLib的开源库。然后利用这个开源库或者卖家给你的接口来开发你的java程序。...

  • 回答 3

    byte short int long float double boolean char

  • 回答 2

    您好,不一定非要是本专业的,很多java工程师都是半路出家,只要自己感兴趣,确定想进入这一行,就没问题的。几个学习java的小建议:1.不要看书不要看书,很多零基础学Java的,由于从未接触过编程,第一个想法就是买书,我十多年开发的经验告诉你,新手学习Ja...

  • 回答 2

    JDK8:源码 public final class String    implements java.io.Serializable, Comparable, CharSequence {    //The value is used for character storage.    private final char value[]; }分析String内部使用一个char[]数...

  • 回答 3

    Java的入门需要一定的基础,如果你之前没有计算机行业的话初学者还是有点难的,最好是有人带着你一起学,不然的话很容易陷入枯燥和自我否定当中,Java不是想学就能学会的,可以找机构的老师一起学的...

  • 回答 3

    没有说哪个好~Java和Python就是两个不同的语言,各有各的有点,后期发展也都是差不多的,只不过看个人的兴趣,Python比Java更吃学历。

  • 回答 2

    楼主可以选择自学,但是自学是个相当漫长的过程,可能也比较难坚持下来,如果自身克制力不够,可以选择去找个培训机构学习。

  • 回答 2

    首先,要先了解机构的课程内容。了解的时候要注意他们的课程内容是否更新,有些培训机构一直沿用之前的授课内容,早已不适应现在的市场行情,甚至可以说是非常落伍。尽量了解一些专业知识再去打听,避免上当受骗。其次,了解机构是否具备正规的授课资质?营业...

  • 回答 2

    我个人觉得Java是世界上最美的语言!

  • 回答 3

    有人曾经做过统计,询问500多已经参加工作的 Java开发者,学习java是否困难?有74%的人认为不难,说难学的仅占26%,那么这74%全部都是聪明人,智商比普通人高吗?显然不是的。说到底Java,它只是一种语言,仅此而已。跟我们平时学习母语,英语并无不同,只是...

没有解决我的问题,去提问