美文网首页
3.5运算符

3.5运算符

作者: 十六只猴子王 | 来源:发表于2019-03-07 14:05 被阅读0次
  • 当参与/运算的两个操作数都是整数时,表示为整数除法,否则表示为浮点数除法。
  • 整数取余操作称之为取模
  • 浮点数被0除灰得到无穷大或者NaN

数学函数与常量

  • 可以在源文件前加
import static java.Math.*;

平方根Math.sqrt(x)
幂运算 Math.pow(x,a)x的a次幂,其返回类型为double类型

数值类型之间的转换

image.png
image.png

<center class="half">

  • 其中一个是double,则转换为double
  • 否则其中一个是float,则转换为float
  • 否则其中一个是long,则转换为long
  • 否则两个转为int

强制类型转换(cast)

(想转换的类型)变量名

double x = 9.997;
int nx = (int) x;

截断小数部分将浮点值转换为整型
如果舍入运算,可以使用Math.round(x)方法

double x =999.7;
int nx = (int)Math.round(x);

结果为10
Math.round 返回的类型为long,所以使用(int)强转

结合赋值和运算符

x+=4;等价于x=x+4

  • 如果x为int进行x+=3.5;那么会将结果强制转换为int即(int)(x+3.5)运算符得到一个值,其类型与等号左侧类型不同,就会强制类型转换

自增自减运算符

  • n++将变量的值加一
  • n--将变量的值减一
    如果是++n则是先执行加一,而后者会使用原来的变量值
int m = 7;
int n = 7;
int a = 2 * ++m;// now a is 16,m is  8;
int b = 2 * n++;// now  b is 14, n is 8;

关系和boolean运算符

**要检测相等性,可以使用==。可以使用!= 检测不等

  • <(小于)、>(大于)、<=(小于等于)、>=(大于等于)
  • &&(与)||(或)
  • 三元操作符?:condition?expression1:expression2如果条件为true 则执行第一个表达式,如果为false则执行第二个表达式;
x<y?x:y//会返回xy中较小的一个

位运算符

直接对组成整型数值的各个位完成操作,通过掩码技术的得到整数中的各个位,位运算符用来对二进制位进行操作
&("and")|("or")^("xor")~("not")

  • 按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>)
  1. 按位与(&)

    对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1,如下图:

    (A & B) 结果为 12, 二进制为 0000 1100

0b46f21fbe096b63074721c907338744eaf8acc9.jpg
  1. 按位或(|)

    比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1),如下图:

    (A | B) 结果为 61, 二进制为 0011 1101

1b0d4f0fd9f9d72abce06f84df2a2834359bbb60.jpg
  1. 按位异或(^)

    比较两个数,然后返回一个数,这个数的每个位设为1的条件是两个输入数的同一位不同,如果相同就设为0,如下图:

    (A ^ B) 结果为 49, 二进制为 0011 0001

3801213fb80e7bec7df67d78242eb9389b506b7e.jpg
  1. 按位取反(~)

    对一个操作数的每一位都取反,如下图:

    (~A ) 结果为 -61, 二进制为 1100 0011


    7e7f7909c93d70cf71c2d394f3dcd100baa12b2b.jpg
  1. 按位左移(<<)

    将操作数的所有位向左移动指定的位数。

    下图展示了11111111 << 1(11111111 左移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。

    (A << 2)结果为 240, 二进制为 1111 0000

3bb22487e950352a2c2b5c915843fbf2b3118ba6.jpg
  1. 6

    按位右移(<<)

    将操作数的所有位向又移动指定的位数。

    下图展示了11111111 >> 1(11111111 右移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。

    A >> 2 结果为 15, 二进制为 0000 1111


    c2bce2039245d688833ac93dafc27d1ed21b242b.jpg

括号与运算符级别

  • &&||优先级高,所以a &&b || c等价于(a &&b) || c
  • +=是又结合运算符,所以a+=b+c等价于a+=(b+=c)
    63d9f2d3572c11df57c9a205612762d0f703c2f8.jpg

枚举类型

枚举类型包括有限个命名的值

enum Size={SMALL,MEDIUM,LARGE,EXTRA_LARGE);

可以声明变量:

Size s = Size.MEDIUM;

相关文章

  • go语言20小时从入门到精通(三、运算符)

    3.1 算术运算符 3.2 关系运算符 3.3 逻辑运算符 3.4 位运算符 3.5 赋值运算符 3.6 其他运算...

  • 3.5运算符

    当参与/运算的两个操作数都是整数时,表示为整数除法,否则表示为浮点数除法。 整数取余操作称之为取模 浮点数被0除灰...

  • 2.4 关系运算符

    一、学习要求 书籍参考章节: 第3.5章 知识点: 关系运算符 二、参考知识 关系运算符用于对值进行比较。java...

  • 2.5 逻辑运算符

    一、学习要求 书籍参考章节: 第3.5章 学习目标: 逻辑运算符 二、参考知识 在Java语言中有三种逻辑运算符,...

  • 2.3 算术运算符

    一、学习要求 书籍参考章节: 第3.5章 知识点: 算数运算符 二、参考知识 运算符用于将各种常量、变量组成一个表...

  • 3.4.3关系运算符

    关系运算符的作用是比较两边的运算数,结果总是 boolean型的数据。表3.5列出了常用的关系运算符 在关系运算中...

  • Python学习笔记二:数字处理

    数字 1.python支持运算符 + 加法 - 减法 * 乘法 / 浮点数除法 7/2 结果为3.5 指的是结果可...

  • 2.8 运算符的优先级

    一、学习要求 书籍参考章节: 第3.5章 知识点: 运算符优先级 二、参考知识 当多个运算符出现在一个表达式中,谁...

  • 你应该知道的Python新方法(一 )

    Python 3.5 + : 扩展了*可迭代解包操作符和**字典解包操作符 矩阵乘法添加了中缀运算符 @ 为标准...

  • 第三章 操作符

    3.3优先级 最简单的规则就是:先乘除后加减.3.4赋值和方法调用别名(引用)3.5操作运算符一元加,减和加号,减...

网友评论

      本文标题:3.5运算符

      本文链接:https://www.haomeiwen.com/subject/zcffpqtx.html