精华内容
下载资源
问答
  • 一、自动类型转换规则(类型兼容) 1.规则1: 如果一个操作数为double型,则整个表达式可提升为double型 2.规则2 满足自动类型转换的条件: ①两种类型要兼容:数值类型(整型和浮点型)互相兼容 ②目标类型大于源...

    一、自动类型转换规则(类型兼容)

    1.规则1:

    如果一个操作数为double型,则整个表达式可提升为double型

    2.规则2

    满足自动类型转换的条件:

    ①两种类型要兼容:数值类型(整型和浮点型)互相兼容

    ②目标类型大于源类型: 例如:double 型大于 int 型

    二、强制类型转换规则(类型兼容)

    1.规则1

    在把容量大的类型转换为容量小的类型时必须使用强制类型转换

    2.规则2

    转换过程中可能导致溢出或损失精度

    3.规则3

    浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

    三、代码展示

      //(type)value type是要强制类型转换后的数据类型
    public static void main(String[] args) {
      int a=2;
      double d=2.9999;
      double result=a+d;//自动类型转换,a是int类型,自动转换为double类型
      int rst=a+(int)d;//将double类型强制类型转换int类型,且d精度丢失
      System.out.println(result);//输出结果为4.9999
      System.out.println(rst);//输出结果为4
    }
    
    展开全文
  • 自动类型转换遵循下面的规则: 若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。所有...

    自动类型转换遵循下面的规则:

    • 若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。
    • 转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
    • 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
    • char型和short型参与运算时,必须先转换成int型。
    • 在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。

    下图表示了类型自动转换的规则


    char 2字节 short 2字节 float 4字节 double 8字节
    往精度高的转

    展开全文
  • java自动类型转换

    2018-03-23 20:47:38
    java自动类型转换java转型范围,自动转型和强制转型1.自动类型转换 也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作...

    java自动类型转换

    java转型范围,自动转型和强制转型

    1.自动类型转换

    • 也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作设计语法,而是由 JVM 自动完成。

    • 转换规则:从存储范围小的类型到存储范围大的类型。

      具体规则为:byte→short(char)→int→long→float→double

      注意问题:在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是==比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失==。

    • 窄化(向下转型)和宽化转换

      基本类型转型(除boolean,这个不能接受任何转型动作) 只要是宽化转换,就不需要明确指示。因为新型别能容纳来自是旧型别的信息,而不会遗失任何信息。只要有窄化转换时,编译器才会要求你强制转型

      short s = 2;
      不会丢失精度,所以不提示失败,如果
      short s = 222222;
      就会提示失败,需要你进行强制转型;因为short的最大的数值是32767
      
      1float f=3.4;是否正确? 
      答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成float f =3.4F .
      
      注:由上面想到: byteshortintlong 在初始化的时候给予整数,如long l = 3; byte b = 3; 虽然3默认是int类型的,但是这样是正确的。 这里需要在双精度数字后面加字母的只有float这一例了
      
      2short s1 = 1; s1 = s1 +1;有错吗?short s1 = 1; s1 += 1;有错吗? 
      答:short s1 = 1; s1 = s1 + 1是错的,s1 + 1在运算过程中1int类型,s1是short类型,向高的转,结果为int类型,所以这里需要强转,而 s1 += 1是正确的,因为jvm自动帮我们处理好了
      
      注:short s1 = 1 + 2 + 3;是正确的。当然除了shortshort低的byte也有同样的问题

    2.强制类型转换

    • 也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。

      转换规则:从存储范围大的类型到存储范围小的类型。

      具体规则为:double→float→long→int→short(char)→byte

      语法格式为:(转换到的类型)需要转换的值

    展开全文
  • java数据类型转换规则

    2020-09-08 14:59:45
    java数据类型转换规则 1.除boolean外,其余7类互相转换。 2.小容量---->大容量:自动转换 byte < short < int < long < float < double < char 3.大容量---->小容量:强制类型转换(可能...

    java数据类型转换规则
    1.除boolean外,其余7类互相转换。
    2.小容量---->大容量:自动转换
    byte < short < int < long < float < double < char
    3.大容量---->小容量:强制类型转换(可能损失精度)
    4.当字面值没有超过byte,short,char范围,可以直接赋值。
    5.byte,short,char混合运算,都先转换成int类型再运算。
    6.多种数据混合运算,先转换成容量最大的类型再运算。

    展开全文
  • Java数据类型自动转换规则 范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。 byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double ...
  • 自动类型转换遵循下面的规则: 1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。 2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算...
  • Java:自动类型转换和强制类型转换的规则

    万次阅读 多人点赞 2017-07-27 19:27:48
    自动类型转换规则: 强制类型转换: 代码示例: package com.jredu.ch02; public class Ch04 { public static void main(String[]args){ //自动类型转换 //基本数据的自动类型转换只有7种...
  • Java数据类型转换规则

    千次阅读 2019-03-30 16:39:40
    一、数据类型分类:主要分为 基本类型、引用... a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:  (1)布尔型和其它基本数据类型之间不能相互转换;  (2...
  • JAVA数据类型转换规则

    千次阅读 2019-05-24 11:18:23
    数据类型转换规则 除布尔型以外的其它七种类型都可相互转换 小容量向大容量类型转换,称为自动转换。 大容量向小容量类型转换,称为强制转换。需要加强制类型转换符,程序才能编译通过。但会损失精度。 当整数字...
  • Java基本类型转换规则

    2013-09-24 20:55:08
    java基本类型转换规则学完数据类型,接着就要学不同类型之间的转换了。 1、基本数据类型的转换是指由系统根据转换规则自动完成,不需要程序员明确地声明不同数据类型之间的转换。转换在编译器执行,而不是等到运行期...
  • Java自动类型转换

    2021-01-19 12:23:00
    boolean类型的值不能直接转化为其它数据类型的值 默认(自动)的转化规则 byte,short,char—>...会出现类型转换错误,因为 b1为byte类型,占一个字节0000 0011 b2为byte类型,占一个字节0000 0100 byte
  • java自动转换规则

    2020-12-03 21:44:07
    1、基本数据的自动类型转换只有7种数据类型,除了boolean 2、基本原则:低级别可以直接转高级别 byte->short->int->long->float->double->char 3、运算时的自动转换条件:1、两种数据类型要兼容...
  • 当八种基本类型参与运算时,若是不同类型,则编译后会自动进行类型转换 如: double d=0.0; int i=0; System.out.println(i==d);//打印出true 查看编译后的class文件可以...//自动进行了类型转换转换规则见上...
  • 自动类型转换也叫隐式类型转换,自动类型提示经常出现在: 表达式中非相同的数据类型计算时 调用方法传递参数时 赋值与接收参数的变量类型不匹匹配时 方法返回值时 自动提升的过程其实是将低类型(占用字节数少)...
  • java中的数据类型,变量使用规则自动类型转换
  • Java类型转换规则Java类型转换规则是从低精度向高精度转换,即优先级满足byte→short→char→int→long→float→double。低级数据类型可以自动转换为高级数据类型,当类型自动转换时,char类型的数据转换为高级...
  • java类型转换规则

    2010-01-22 12:11:00
    首先boolean不能跟其他类型转换。1.赋值时: 整数默认的是int 浮点默认是double,即整型等号右侧全部自动转化为int,浮点型等号右侧自动转换为double。当大容量的数据类型赋值给小容量的数据类型时 需要强制类型...
  • JAVA 类型转换规则

    2016-09-06 18:52:40
    java中如果碰到char、byte和short参与运算时,会自动将这些值转换为int类型然后再进行运算。这里a1和a2就自动转为int类型了,结果也为Int类型。把一个int类型赋值给byte需要转。 java各基本类型变量之间运算...
  • 自动类型转换遵循下面的规则: 1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。 2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。...
  • java基本数据类型自动转换规则

    千次阅读 2017-08-03 09:38:02
    一、java基本数据类型 Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。  整型: short, int, long, byte;  浮点型:float, double;  字符型:char;  ...
  • 自动类型转换遵循下面的规则: 1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。 2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后...
  • 1.自动类型转换(隐式) 程序; long num1 = 100; // 左边是long类型,右边默认是int类型,左右不一样 System.out.println(num1); 选择的是long类型,右边是默认int类型,可以吗? 运行情况: 答案是可以! ...
  • Java类型转换基本规则

    千次阅读 2013-11-15 21:34:55
    1、基本数据类型的转换是指由系统根据转换规则自动完成,不需要程序员明确地声明不同数据类型之间的转换。转换在编译器执行,而不是...3、赋值和方法调用的基本数据类型转换规则一样。合法的基本类型转换原则是指从取

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 868
精华内容 347
关键字:

java自动类型转换规则

java 订阅