当前位置:网站首页 > Java基础 > 正文

java基础运算符例子



第一章 第二节 运算符和表达式

运算符的概念:

​ 对数据进行运算的操作符

​ 在Java中,针对运算符的操作数的多少,可以分为单目运算符(比如b++涉及到一个变量的)、二目运算符(比如num1+num2这种涉及到两个变量的)、三目运算符。

表达式的概念:

由数据/变量/常量加上运算符组成的代码

​ num1+num2

​ ‘a’+10

​ cc=65535

表达式的特点:表达式可以对数据进行指定的运算,表达式还会有一个结果。

1.算术运算符

用于数学上的算术运算

在这里插入图片描述
在这里插入图片描述

1.1 加号+

Java中的+有三种用法:

1) 对数值型进行加法运算。(数值型:byte、short、int、long、float、double、char)

2) 正号。

3) 拼接字符串。

 
1.2 减号-

Java中的-有两种用法:

1) 对数值型进行减法运算。

2) 负号。

1.3 乘号*

对数值型进行乘法运算。

1.4 除号/

对数值型进行除法运算。

两个整数相除,结果也是整数,会舍弃小数部分,这叫地板除。如果除数或者被除数中有一个是小数,那结果就是小数。

如果除数或者被除数中有char类型,那么char类型会自动转化成整数的。

1.5 求余%

对数值型进行余数的运算。

注意:

1) 小数也可以求余。

2) 负数也可以求余,余数符号由第一表示式的符号决定。

1.6自增自减

对数值型(除了boolean)进行自增1或自减1的运算。

自增、自减只能作用于变量。

注意:前置和后置

1) 前置时,先对变量进行自增、自减运算,再计算整个表达式的值。

2) 后置时,先对计算整个表达式的值,再进行自增、自减运算。

举例说明:

 
 
关于多个±号连续出现
 

经典例题1:(面试题容易出)

 

解析:

 

经典例题2:(面试题容易出)

 

解析:

 
2.比较运算符/关系运算符

在这里插入图片描述

对值进行比较判断,如果表达式成立,结果为true,如果表达式不成立,结果为false。

比较运算符共有六个,其中

> , >=, <,<=四个运算符只能对数值型(除了boolean型)进行比较。

==、!=即可以对基本数据类型进行比较,也可以对引用类型进行比较。

针对基本数据类型时,比较的是值是否相等。

针对引用类型时,比较两个引用是否指向同一对象,即是否指向同一块内存空间。

3. 逻辑运算符

在这里插入图片描述

逻辑运算符针对布尔类型进行逻辑运算,结果也是布尔型的。

3.1逻辑与

&&、&进行逻辑与运算,当两个表达式的值都是true时,运算结果为true,否则为false。

对于表达式 A && B 、A & B运算结果如下:

AB结果truetruetruetruefalsefalsefalsetruefalsefalsefalsefalse
3.2 逻辑或

||、|进行逻辑或运算,当两个表达式的值都是false时,运算结果为false,否则为true。

对于表达式 A || B 、A | B运算结果如下:

AB结果truetruetruetruefalsetruefalsetruetruefalsefalsefalse
3.3 逻辑非

!进行逻辑非运算,当表达式为true时,结果为false,否则为true。

对于表达式!A运算结果如下:

A结果truefalsefalsetrue
3.4短路运算

针对&&、||两种逻辑运算,如果第一个表达式已经能够确定逻辑运算结果,则第二个表达式不再计算,这叫短路运算。

短路运算经常与自增/自减运算符同时考察

例如:

1) A && B,当A=false时,无论B值如果,计算结何都是false,B表达式将不再执行。

2) A || B,当A=true时,无论B值如何,计算结果都是true,B表达式也不再执行。

经典例题3:

 

对比例题4:

 
4.位运算符

在二进制的基础上对数值型进行运算。

在这里插入图片描述

(学习一下二进制是如何转换成十进制的;关于二进制的运算,全部是0的时候那么二进制的值就是0&java基础运算符例子#xff1b;在java中的整数里面,是要分整数和负数的,所以我们拿出二进制的第一位做符号位,符号位为0代表是非负数,符号位为1代表是负的)

比如图中红色部分;以及本题的代码按位与、按位或、按位异或、按位取反的输出结果:

在这里插入图片描述

左移位:

在这里插入图片描述

且有如下结论:

在这里插入图片描述

右移位:每右移一位,相当于除以2;

总结:

在这里插入图片描述

4.1按位与

&对数值进行按位与运算,当两个数的对应位都是1时,结果对应位为1,否则为0。

4.2按位或

|对数值进行按位或运算,当两个数的对应位都是0时,结果对应位为0,否则为1。

4.3按位异或

^对数值进行按位异或运算,当两个数的对应位不同时,结果对应位为1,否则为0。

4.4按位取反

~对数值进行按位取反运算,当操作数的对应位为1时,结果的对应位为0,否则为1。

4.5左移位

<<对数值进行向左移位的操作,第一操作数的所有位向左移动指定位数,超出位范围的数据丢弃,右侧补0。

左移位可以快速完成对数据乘 2n的运算。

4.6右移位

>>对数值进行向右移位的操作,第一操作数的所有位向右移动指定位数,超出位范围的数据丢弃,左侧补符号位。

右移位可以快速完成对数据除以 2n的运算。

4.7无符号右移位

>>>对数值进行向无符号右移位的操作,第一操作数的所有位向右移动指定位数,超出位范围的数据丢弃,左侧补0。

5.赋值运算符
5.1简单赋值=

= 赋值,将右边表达式的值,存放到左边的变量中

=可以为变量/常量赋值为相应类型的值。

当赋值运算符与二目运算符进行组合,就会变成复合赋值运算符,比如:+=

 

赋值表达式的值为变量最终所赋的值。

赋值运算符要求赋值时前后的数据类型必须匹配或可以自动转换。

但是:

1) byte,short,char可以赋值为表示范围的整数。

 

2) 表达式中的byte,short,char会先转换为int再进行计算。

 

3) 纯常量运算会在编译阶段进行。

 
5.2复合赋值

当赋值运算符=与二目运算符进行组合,就会变成复合赋值运算符,比如:+=;A+=B相当于A=A+B;

常见的二目运算符与=还可以结合成复合赋值运算符。

例如:+=,-=,*=,/=,%=,&=,|=,<<=,>>=,>>>=。

A op= B;相当于 A = A op B。(op 是一个运算符。运算符可以是多种类型的。)

 

注意:复合赋值运算符会进行隐式的强制类型转换。

 

比如:

在这里插入图片描述
解析:s2=s2+10;这个是错误的写法;因为s2是short类型,s2+10在运行过程中,short类型转成了int类型,所以s2+10的结果是int类型,不能赋值给s2本身是short类型的

s2=s1+s2也是错误的,同理如上,相当于s2=(int)s1+(int)s2;右面是int类型,左边是short类型,不能这样赋值。

6.三目运算符/三元运算符/条件运算符

在这里插入图片描述

A ? B : C

1) 条件A必须为布尔类型

2) 条件成立时,表达式的值为B的值。

3) 条件不成立时,表达式的值为C的值。

4) B与C的类型没有限定。

例题:
在这里插入图片描述

7.运算符的优先级

先乘除,后加减,有括号先算括号

  • 上一篇: java基础经典练习题
  • 下一篇: java基础任亮
  • 版权声明


    相关文章:

  • java基础经典练习题2024-11-16 16:50:00
  • java基础133讲2024-11-16 16:50:00
  • java基础gc面试题2024-11-16 16:50:00
  • java基础语法返回值2024-11-16 16:50:00
  • java网络基础与协议2024-11-16 16:50:00
  • java基础任亮2024-11-16 16:50:00
  • java中基础类型的2024-11-16 16:50:00
  • java开发平台的基础2024-11-16 16:50:00
  • java实习基础面试题2024-11-16 16:50:00
  • java基础案例教程答案黑马2024-11-16 16:50:00