首页 > 编程语言 >跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换

跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换

时间:2023-01-22 15:32:25浏览次数:44  
标签:类型转换 02 变量 自动 类型 byte 表达式



文章目录

  • ​​学习目标​​
  • ​​一、什么是自动类型转换,为什么要学习自动类型转换?​​
  • ​​总结​​
  • ​​二、表达式的自动类型转换​​
  • ​​总结​​
  • ​​三、强制转化类型​​
  • ​​强制类型转换​​
  • ​​强制类型转换底层原理​​
  • ​​总结​​

学习目标

我们从项目管理工具开始学起来如果你们还想回顾Java等等相关内容欢迎关注上方专栏!!!

本文学习目标:

什么是自动类型转换,为什么要学习自动类型转换?


一、什么是自动类型转换,为什么要学习自动类型转换?

类型范围小的变量,可以直接赋值给类型范围大的变量。

跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换_开发语言

总结

为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量
自动类型转换是什么样的?
类型范围小的变量,可以直接赋值给类型范围大的变量。

二、表达式的自动类型转换

在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。

跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换_java_02

注意事项:
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char 是直接转换成int类型参与运算的。

总结

表达式的自动类型转换是什么样的?
小范围的类型会自动转换成大范围的类型运算。

表达式的最终结果类型是由谁决定的?
最终类型由表达式中的最高类型决定。

表达式的有哪些类型转换是需要注意的?
byte short char是直接转换成int类型参与运算的。

三、强制转化类型

场景

int a =  功能1();
功能2(byte b);
int a = 20;
byte b = a; //报错

问题:类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。

强制类型转换

可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

数据类型 变量2 = (数据类型)变量1、数据
int a = 20;
byte b = (byte)a;

强制类型转换底层原理

跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换_intellij-idea_03


注意事项

强制类型转换可能造成数据(丢失)溢出;

浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。

总结

跟我20天学Java:02-自动类型转换,表达式的自动类型转换,强制类型转换_开发语言_04


标签:类型转换,02,变量,自动,类型,byte,表达式
From: https://blog.51cto.com/u_8238263/6021532

相关文章

  • ​03.Win11_22H2_2023年1月官方累积更新镜像下载
    大版本号:22H2​内部版本号:22621.1105​版本说明​大版本号:每年发布一次,如2021年21H2、2022年22H2​小版本号:每年提供若干次ISO镜像,大版本号不变,变化的是小版本号(内部版本号......
  • 【题解】Codeforces Round #845 (Div. 2) and ByteRace 2023
    建议开题顺序:A->B->C->F->E->D诈骗差评,典题差评,想易写难数据结构差评。A.EverybodyLikesGoodArrays!好像是结论题,但是一力降十会。显然最后合并完后,每个......
  • 2023牛客寒假基础集训营3-----E
    题目:E-公平守望的灯塔_2023牛客寒假算法基础集训营3(nowcoder.com)知识点:此题关键是考虑到用向量来做比较简单(1)向量(x,y)和向量(-y,x)的夹角为90°(因为点乘为0);......
  • 2023 农历新年
    今天是农历兔年的大年初一,原来热衷的牌局、串门活动就没有参加了,得一些空闲独处的时光,想想还是用文字记录一些东西。转眼已是而立之年,回忆10年前的2013年,我还对计算......
  • B. Emordnilap【Codeforces Round #845 (Div. 2) and ByteRace 2023】
    B.Emordnilap原题链接Apermutationoflengthnisanarrayconsistingofndistinctintegersfrom1toninarbitraryorder.Forexample,[2,3,1,5,4]isape......
  • 在Visual Studio2022使用AStyle格式化代码
    前言 最近用VS2022写C++代码,虽然可以直接设置自己的代码风格,但效果并不那么如意,甚至在格式化后的代码还有下面这样的     于是我又试着使用了clang-forma......
  • 2023 年8个ChatGPT 的替代品
    OpenAI于2022年11月下旬推出的ChatGPT在网络世界引起了不小的轰动。它不仅引起了社交媒体用户的关注,也引起了各大媒体的关注。这种先进的AI技术不仅可以根据命令......
  • 2023新年快乐,感谢朋友们支持
    2023年,祝各位粉丝朋友及家人新年快乐,万事如意,阖家幸福,兔年大吉,感谢大家对我的关注和支持,我会一如既往的提高写作水平,让更多技术爱好者从中受益。同时也欢迎朋友们互相交流......
  • day24-网络编程02
    1.NIO1.1NIO通道客户端【应用】客户端实现步骤打开通道指定IP和端口号写出数据释放资源示例代码publicclassNIOClient{publicstaticvoidmain(St......
  • Datawhale组队学习——人工智能:一种现代方法(第四版)Task02学习笔记
    第二章智能体智能体智能体是在环境中感知和行动的事物。智能体=架构+程序一个智能体在任何给定的时刻的动作选择可能取决于内置知识和迄今为止观察到的整个感......