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

2023-05-16

目录

类型转换-隐式转换

类型转换-强制转换

赋值运算符


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

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;                  //这句代码没有问题, 底层自带强转

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中隐式转换和强制转换区别、赋值运算符 的相关文章

随机推荐

  • 【文件上传漏洞绕过方式】

    目录 前言 正文 总结 前言 目前 xff0c 文件上传往往在业务中不可避免 xff0c 也是极其容易出现上传漏洞 根据owasptop10中的排名 xff0c 文件上传漏洞 xff08 属于攻击检测和防范不足 xff09 高居其中 今天和
  • 【AWVS破解安装学习】

    目录 前言 安装 破解 功能界面 总结 前言 Acunetix Web Vulnerability Scanner xff08 AWVS xff09 是用于测试和管理Web应用程序安全性的平台 xff0c 现如今是BS架构 能够自动扫描互联
  • 【Log4j2远程命令执行复现CVE-2021-12-09】

    目录 一 前言 二 漏洞环境构建 三 复现过程 一 前言 Log4j2是基于log4j这个java日志处理组件进行二次开发和改进而来的 也是目前最常用的日志框架之一 xff0c 在之前的博客中 xff08 http t csdn cn z9
  • 【靶场设计和渗透】

    目录 一 前言 二 靶场设计 1 局域网 2 说明 三 渗透测试 1 信息收集 2 漏洞利用 四 后渗透利用 1 提权 2 权限维持 一 前言 为了深入贯彻学习网络安全法律法规 xff0c 深入学习渗透测试知识 xff0c 强化实战技能 编
  • 【python练习第一天:简单成绩管理系统实现】

    一 系统要求 在B站上自学了python xff0c 简单练习一下 系统要求 xff1a 功能方面实现登记学生ID 成绩等信息 xff1b 能够实现查找学生信息 修改 删除学生信息 xff1b 统计学生总人数 xff1b 显示所有的学生信息
  • 通达信主力加仓指标 疯牛有理加仓爆发选股指标

    该指标为通达信指标 xff0c 一个真正的主力进场加仓指标源码 很有实用价值 xff0c 也很准 xff0c 无未来函数 xff0c 准确率极高 主力加仓指标方法 出现柱子为买入时机 xff0c 白色柱子持股 及时止盈 xff0c 只要不是
  • 关于51单片机的外部中断INT0和INT1

    问题 xff1a 外部中断到底如何正确配置 xff1f 解决 xff1a 第一步 xff1a 看明白外部中断工作的内部框图 直接看第一个INT0 xff0c 这就是外部中断0 xff0c 从左往右 xff0c 一共需要配置三个地方 xff0
  • centOS 7升级gcc,gdb,cmake

    centOS 7升级gcc xff0c gdb xff0c cmake entOS自带的gcc为4 8版本 xff0c 而使用yum也无法安装更高版本的gcc 获取gcc源代码 获取gcc源代码并上传至虚拟机 解压gcc span clas
  • Python实例化方法、类方法、静态方法

    实例化方法便是我们最常见的第一个参数为self 类方法是在方法前加一个 64 classmethod装饰器 静态方法是在方法前加一个 64 staticmethod装饰器 xff08 PS xff1a 实例对象的权限最大 xff09 实例化
  • Linux安装Jenkins详细步骤

    安装jdk yum安装不需要配置环境变量 安装maven 下载maven 压缩包上传至服务器 解压缩 修改maven配置文件镜像地址 配置环境变量 安装Git 安装Jenkins war包下载 安装运行Jenkins 安装jdk Linux
  • 单片机原理与应用技术(六)———红绿灯汇编语言

    一 中断 所谓中断 xff0c 就是打断正在进行的工作 xff0c 转而去做另外一件事情 比如说 xff0c 会计正在记账 xff0c 桌面上摆着摊开的账本和正在使用的计数器 xff0c 这时候有人敲门叫他去办另一件事情 xff0c 他暂时
  • Linux下提示命令找不到:bash:command not found

    Linux命令行输入命令执行后报 bash command not found 这个错误我的是因为配置错了Java的环境变量 xff0c 所以系统PATH设置问题 xff0c PATH没有设置对 xff0c 系统就无法找到精确命令了 第一步
  • Angular报错error NG8002: Can‘t bind to ‘XXX‘ since it isn‘t a known property of ‘XXX-XX‘

    一 报错 xff1a error NG8002 Can 39 t bind to 39 isTemplate 39 since it isn 39 t a known property of 39 create home 39 1 If 3
  • 机器周期 时钟周期 晶振频率 定时器初值计算

    1 机器周期 在计算机中 xff0c 为了便于管理 xff0c 常把一条指令的执行过程划分为若干个阶段 xff0c 每一阶段完成一项工作 例如 xff0c 取指令 存储器读 存储器写等 xff0c 这每一项工作称为一个基本操作 完成一个基本
  • mysql的分组查询

    分组查询 语法 xff1a select 分组函数 列 要求出现在group by的后面 from 表 where 筛选条件 group by 分组的列表 order by 子句 注意 xff1a 查询列表必须特殊 xff0c 要求是分组函
  • 虚拟机virtualbox安装archlinux

    1 下载 下载arch https mirrors tuna tsinghua edu cn archlinux iso 选择一个版本然后下载iso文件即可 在虚拟机里创建好镜像之后对其进行设置 勾选 启用EFI 设置好后点击启动 进入后回
  • C++随机数生成

    文章目录 一 伪随机数生成1 rand 2 srand 3 测试代码 二 C 43 43 11随机数生成1 随机数生成算法2 随机数分布类型3 random device 一 伪随机数生成 1 rand rand 会返回一个随机数值 xff
  • 【嵌入式系统开发10】stm32中断及流水灯

    题目要求 xff1a 用stm32F103核心板的GPIOA端一管脚接一个LED xff0c GPIOB端口一引脚接一个开关 xff08 用杜邦线模拟代替 xff09 采用中断模式编程 xff0c 当开关接高电平时 xff0c LED亮灯
  • VScode下使用MySQL

    文章目录 1 打开VScode2 如图所示 xff0c 操作步骤3 连接成功 xff0c 右键你想设置的数据库 写在前面的话 xff1a 1 本章内容简单的介绍下如何在VScode下使用MySQL 2 操作简单 xff0c 但这也是必须要做
  • Java中隐式转换和强制转换区别、赋值运算符

    目录 类型转换 隐式转换 类型转换 强制转换 赋值运算符 先搞清楚基本数据类型的范围比较 byte xff08 小 xff09 short int long float double xff08 大 xff09 类型转换 隐式转换 将取值范