栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中隐式转换和强制转换区别、赋值运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中隐式转换和强制转换区别、赋值运算符

目录

类型转换-隐式转换

类型转换-强制转换

赋值运算符


先搞清楚基本数据类型的范围比较

byte(小) ----  short  ----  int  ----  long  ----   float   ----   double(大)

类型转换-隐式转换
  • 将取值范围小的数据或变量, 给取值范围大的变量赋值, 可以直接赋值

    • 简单记 : 小范围的给大范围的, 可以直接给

  • 这里的小和大 , 指的是取值范围

  • 在运算过程中的隐式转换

  • ==思路 : 数据类型不统一, 是没办法 (直接) 运算==

  • 当取值范围小的数据, 和取值范围大的数据在一起运算, 小的会先提升为大的

  • 整数类型默认int,小数类型默认double

  • byte   short   char 三个类型在运算的时候, 直接提升为 int类型

byte  a  =  1 ,b  =  2;

byte  c  =  a+b;  //报错,a和b是byte类型,在运算时提升int类型,(a+b)是int类型的值3。

byte  c  =  1+2 //不会报错,Java有常量优化机制,编译阶段会把右边的结果3赋值给左边的变量c


类型转换-强制转换

将取值范围大的数据或变量, 给取值范围小的变量赋值, 不能直接赋值, 需要强转

  • 简单记 : 大的给小的, 不能直接给

强转格式:变量名1=(变量名1的数据类型)(变量运算)

int a = (int)1.2

注意:强转[有可能]会出现精度损失


赋值运算符

赋值运算符 :

    1. 基本赋值运算符

            = : 将等号右边的数据, 赋值给左边的变量

    2. 扩展赋值运算符

            += : 将符号左右两边的数据, 做加法运算, 将结果赋值给左边的变量.

                    int a = 10;
                    a += 20;            //a=a+20
                    System.out.println(a);        // 30


            -= :               a-=20;    //a=a-20
            *=                 a*=20;    //a=a*10
            /=                 a/=20;    //a=a/10
            %=               a%=20;    //a=a%10

注意: 扩展赋值运算符, 底层自带强转效果.

short s = 1;

s = s + 1;            //报错,short类型在运算时会变为int,所以需要强制转换

s += 1;                  //这句代码没有问题, 底层自带强转

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号