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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...