Java复习—运算符
创始人
2024-05-08 19:44:27
0

运算符

运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子就可以称为表达式。

算数运算符

符号作用
+加法作用
-减法作用
*乘法作用
/除法法作用
%取模、取余

在代码中,如果有小数参与计算,结果可能不精确
例如:

System.out.println(1.1 + 1.01);

结果:
在这里插入图片描述
除法:整数参与运算。只能得到结果的整数部分(不是四舍五入),若想得到小数,需要写成小数格式
例如:

System.out.println(8 / 3);
System.out.println(8.0 / 3);

结果:

在这里插入图片描述
练习:

//输入一个三位数,求百位数,十位数,个位数System.out.println("请输入一个三位数");Scanner scanner=new Scanner(System.in);int a= scanner.nextInt();int b,c,d;b=a%10;c=a/10%10;d=a/100;System.out.println("个位数是"+b);System.out.println("十位数是"+c);System.out.println("百位数是"+d);

取值范围大小:
byte < short < int

取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

隐式转换:

什么时候转换:
数据类型不一样,不能进行计算,需要转换成一样的才可以进行计算。

  • 转换规则1:取值范围小的,和取值范围大的进行运算,小的先提升为大的,在进行运算
  • 转换规则2: byte short char 三种类型的数据在进行运算的时候,都会先提升为int ,再进行运算。

例如:

byte b1 = 10;
byte b2 = 20;
result = b1 +b2 ;

其结果是int类型

int i = 10;
long n = 100L;
double  d = 20.0;
result = i + n + d;
//  i和n相加 是long类型的。在相加是double类型

数据类型是double;

强制转换

强制转换:如果一个取值范围较大的数值,赋值给取值范围较小的变量,是不允许直接复制的,如果一定要赋值,需要强制转换。

格式:目标数据类型 变量名 =(目标数据类型)被强制转换的数据。

例如:

double a = 12.3;
int b = (int)a;

字符串相加

当“+”操作中出现字符串的时候,这个“+”是字符串连接符,而不是算数运算符,会将前后的数据进行拼接,二产生一个新的字符串。
例如;
“123”+123的结果是“123123”,

连续进行“+”的操作的时候,从左到右一次执行
例如:
1+ 99+“程序员” 的结果是 “100程序员”

字符串“+”的操作

当字符+字符的时候,会把字符通过ASCII码表查询到对应的数字在进行计算

自增自减:

++ 和 – 不论是放在变量前面还是放在变量后面,单独写一行结果是一样的。

a = 10;
int b = a ++ 先用后加 b= 10

int b = ++ a 先加后用 b= 11

赋值运算符

符号作用
=赋值
+=加后赋值 a-=b 将 a+b的值赋给a
-=减后赋值
*=乘后赋值
/=除后赋值
%=取余后赋值

注意:隐藏了一个强制类型转换

关系运算符

符号说明
==a==b 判断a和b的 值是否相等
!=a!=b,判断a和b的值是否不相等
>a>b 判断a是否大于b
>=a>=b判断a是否大于等于b
<a
<=a<=b 判断啊是否小于等于b

(其结果是true 或者false,符号中间没有空格)

逻辑运算符:

数学中可以写3 拆解为x>3和x<5
合并为x>3&x<5

符号说明
&逻辑与(且) ,并且,两边都为真,结果才是真

| 逻辑或 或者,两边都是假,结果才是假 |
| ^ | 逻辑异或 ,相同为false,不同为true|
| ! | 逻辑非 取反|

短路运算符
&& 短路与 结果与&相同,但是有短路效果,
|| 短路或 结果和 | 相同,但是有短路效果。

三元运算符

格式:关系表达式1?表达式2:表达式2;
例如求两个数的较大值

a>b?a:b
//表达式如果是真的,它的值等于前面的,如果是假的,则等于后面的。

快捷键(idea): ctrl+alt +L,可以格式化代码

原码:
十进制数据的二进制的表现形式,最左边是符号位,0为正,1为负
反码:
正数的补码反码是其本身,负数的反码是符号位保持不变,其余取反

补码:
正数的补码是其本身,附属的补码是其反码的基础上+1

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...