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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文讲述了Java中的基本数据类型转换和运算符。在转换中,布尔型除外的8种类型可通过默认或强制转换相互转化,如`byte->short->int->long->float->double`。默认转换发生在不同类型运算时,系统会转为更大容量类型。强制转换可能引起精度损失或溢出。运算符包括算术(如+可做加法或字符串拼接)、比较、逻辑和赋值运算符。比较运算符如`==`、`<`等产生`boolean`结果,逻辑运算符`&&`、`||`具有短路效应。赋值运算符如`+=`简化了赋值过程。运算符的优先级也进行了简要说明。

一、基本数据类型的转化

一.基本数据类型的转换

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
赋值运算符 右结合 = += -= *= /= %= <<= >>= >>>= &=
相关文章
|
6天前
|
Java
PTA帅到没朋友(Java语言)+测试点
PTA帅到没朋友(Java语言)+测试点
12 1
|
6天前
|
机器学习/深度学习 算法 Java
全排列(分治)(Java语言 +全排列模板)
全排列(分治)(Java语言 +全排列模板)
11 2
|
6天前
|
Java
阶乘末尾0的个数(Java语言+思路优化)
阶乘末尾0的个数(Java语言+思路优化)
8 1
|
6天前
|
Java C++
社交集群(pta) (并查集) Java语言
社交集群(pta) (并查集) Java语言
12 3
|
1天前
|
Java
滚雪球学Java(35):揭秘Java方法的返回值,从void到诸多数据类型
【5月更文挑战第10天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
10 0
滚雪球学Java(35):揭秘Java方法的返回值,从void到诸多数据类型
|
6天前
|
Java C++
PTA 小字辈(Java语言)
PTA 小字辈(Java语言)
10 1
|
6天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
10 0
|
6天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
9 0
|
6月前
|
存储 Java 程序员
Java八种基本数据类型&字符串&运算符(图文详解)
Java基本类型共有八种,基本类型可以分为三类,字符类型char布尔类型boolean数值类型byte、short、int、long、float、double数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。 四种整型的特点 逻辑与的运算规则为:有一个运算数为假,其值为假,两个运算数都为真,其值为真。逻辑与的关系值表如下图所示 逻辑或的运算规则为:有一个运算数为真,其值为真,两个运算数都为假,其值为假。逻辑或的关系值表如下图所示。......
113 0
|
9月前
|
存储 Java
Java变量、数据类型和运算符 2
Java变量、数据类型和运算符
45 0