Java语言--->数据类型转化以及运算符

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
简介: 该文介绍了Java中基本数据类型的转换,包括自动转换(如小容量转大容量)和强制转换,强调了强制转换可能带来的精度损失和溢出风险。此外,还概述了运算符的使用,包括算术运算符(如加法支持不同类型间的运算)、比较运算符(如`==`、`<`等)、逻辑运算符(`&&`、`||`、`!`,具有短路效果)以及赋值运算符(如`+=`、`=`)。文章提到了运算符的优先级规则,并给出了相关示例。

一、基本数据类型的转化

一.基本数据类型的转换

8种基本数据类型出了布尔型都可以进行相互转换 (byte,short,int,long,float,double,char)
转化的方向byte-->short(char)-->int-->long-->float-->double
● 在程序语言中必须要进行数值之间的传递,会有类型不一样,所以必须进行数据类型之间的转换

1.默认转化
当多种数据类型进行运算时,系统会默认转化成容量大的类型
☞实例: int a,b=1;byte c=5;a=b+c;
▶此处的b+c,系统会默认将c转化成int类型来计算
小容量转化为大容量
([为什么8字节的long可以向字节更小的float转化呢]
▶因为是由于float类型的 小数点位特殊储存数据方式,详细请看--->float中小数点特殊存储方式
!!!进行数据之间计算时候有特殊的三个数据类型,分别是byte,short,char,他们会,默认转化成int类型的变量再进行运算
☞实例: byte a= 1; short b = 2; short c = a+b;此处报错
▶ !!!此处的代码会报错,在运行a+b时会将a与b转化成int类型,再赋值给a,因为a时short的所有会报错,要将(a+b)进行强制转化成int才行

2.强制转化:
此处要注意:强制转化可能导致精度降低数据溢出,要谨慎使用
●当要满足运算的需要,或者要求结果的数据类型时就要 强制转化数据类型
☞实例: 将short转化成int short a = 5; int b = (int)a;
数据的溢出:
当将int数据转化成short时,会将int前16个比特位直接去掉,剩下的就是转化后的值
二、运算符

1.算术运算符
●算术运算符有,+,-,*,/,%
运算符"+":数值加数值,相当于数学里的求和运算;
数值加字符串,进行字符串的相加
☞实例:int a=110; String str=100;System.out.println(a+str)
输出结果是110100;
2.比较运算符

赋值运算符包括:

==
比较符号两边数据是否相等,相等结果是true
<
比较符号左边的数据是否小于右边的数据,如果小于结果是true
>
比较符号左边的数据是否大于右边的数据,如果大于结果是true
<=
比较符号左边的数据是否小于等于右边的数据,如果小于等于结果是true
>=
比较符号左边的数据是否大于等于右边的数据,如果大于等于结果是true
!
比较符号两边数据是否不相等,不相等结果是true

注意事项:
⑴比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false。
⑵.如果进行多次判断,不能连着写,例如1<x<3,此时需要用到逻辑运算符

3.逻辑运算符

       与(并且) && 全都是true才是true,否则是false

  或(或者) || 有一个是true就是true;全都是false就是false

   非(取反) !本来是true,变成false;本来是false,变成true

注意:与&&,或||,具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能

注意事项:

   1.逻辑运算符只能用于boolean值。

   2.与、或需要左右各自有一个boolean值,
   但是取反只要有一个唯一的boolean值即可。

  3.与、或两种运算符,如果有多个条件,可以连续写。

          两个条件:条件A && 条件B

          多个条件:条件A && 条件B && 条件C && ...

Tips:

对于1 < x < 3的情况,应该拆成两个部分,然后使用与运算符连接起来:

int x = 2;

1 < x && x < 3

4.赋值运算符

+= 将该运算符左边的数值加上右边的数值, 其结果赋 值给左边变量本身 int a=5; a+=2; a=7 
-= 将该运算符左边的数值减去右边的数值, 其结果赋 值给左边变量本身 int a=5; a-=2; a=3 = 将该运算符左边的数值乘以右边的数值, 其结果赋 值给左边变量本身 int a=5; a=2; a=10

/=
将该运算符左边的数值整除右边的数值, 其结果赋
值给左边变量本身 int a=5; a/=2; a=2
%=
将该运算符左边的数值除以右边的数值后取余,其
结果赋值给左边变量本身 int a=5; a%=2; a=1
                                    关系运算符的优先级
优先级 运算符分类 结合顺序 运算符
分隔符 左结合 . [ ] () ; ,-
一元运算符 右结合 ++ -- ~
算术运算符与移位运算符 左结合 + - * / % << >> >>>
关系运算符 左结合 < > <= >= instanceof == !=
逻辑运算符 左结合 ! && 逻辑或 ~ & ^
三目运算符 右结合 布尔表达式?表达式1:表达式2
赋值运算符 右结合 = += -= *= /= %= <<= >>= >>>= &=
相关文章
|
24天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
3月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
110 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
2月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
14天前
|
存储 Java
java中的常见运算符的计算方式
本文介绍了计算机中二进制数的原码、反码和补码的概念及其转换方式。原码是符号位加真值的绝对值;反码中正数不变,负数其余位取反;补码在反码基础上加1。文章还详细解释了Java中的常见运算符(如按位与、或、异或、移位等)如何基于二进制进行计算,并探讨了使用补码的原因,包括统一符号位处理和扩展表示范围。通过具体代码示例帮助理解这些概念。
java中的常见运算符的计算方式
|
5天前
|
存储 监控 算法
探秘局域网桌面监控:深入剖析 Java 语言核心算法
在数字化办公时代,局域网桌面监控如同企业的“智慧鹰眼”,确保工作效率与数据安全。本文以Java为载体,揭示哈希表在监控中的关键应用。通过高效的数据结构和算法,哈希表能快速索引设备连接信息,大幅提升监控的时效性和响应速度。代码示例展示了如何用Java实现设备网络连接监控,结合未来技术如AI、大数据,展望更智能的监控体系,助力企业在数字化浪潮中稳健前行。
|
2月前
|
Java
Java基础之数据类型
Java基础之数据类型
23 6
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
109 7
|
2月前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
60 4
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
81 4
|
2月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
47 1