栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java复习知识点四:Java中有哪几种运算符?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java复习知识点四:Java中有哪几种运算符?

Java复习知识点四: Java中的运算符 Java中有哪几种运算符?
  • 算术运算符
  • 关系运算符(比较运算符)
  • 逻辑运算符
  • 赋值运算符
  • 位运算符
  • 三元运算符
1、算术运算符

算术运算符是对数值类型的变量进行运算

1.1使用细节

除:

System.out.println(5 / 2);
//输出结果为 2

System.out.println(5.0 / 2);
//输出结果为 2.5

取模(取余):a % b = a - a / b * b

在运算 % 时,看成一个公式!!!
a % b = a - a / b * b

-10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
10 % -3 => 10 - 10 / (-3) * (-3) = 10 - 9 = 1

System.out.println(-10 % 3);// -1
System.out.print1n(10 % -3); //1
system.out.println( -10 % -3);//-1

自增 ( i++)

  1. 作为独立语句使用时

    int 1 = 10;
    i++;	//自增等价于i = i + 1;	=>	i = 11
    ++i;	//自增等价于i =i + 1;	=> 	i =12
    System.out.println( "i=" + i);	//12
    
    
  2. 作为表达式使用时

    
    int j = 8;
    //int k = ++j;	//等价j=j+1;k=j;
    int k = j++;	//等价k =j;j=j+1;
    System.out.println("k=" +k+“j=” +j);	//89
    
    

经典例题:

int i = 1;
i = i++;
System.out.println(i);//输出为 1

int i = 1;
i = ++i;
System.out.println(i);//输出为 2

2、关系(比较)运算符
  1. 关系运算符的结果都是boolean型,也就是要么是true,要么是false
  2. 关系表达式经常用在if结构的条件中或循环结构的条件中

3、逻辑运算符 3.1运算规则:

对于短路与(&&)和 短路或(||),如果第一个条件为false(true),后面的条件将不会再执行判断 效率高

对于逻辑与(&)和 逻辑或(|),如果第一个条件为false(true),后面的条件也会再执行判断 效率低

!逻辑非:取反

^ 逻辑异或:不同为true,相同为false

开发中基本使用 短路


4、赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量

  1. 基本赋值运算符

    =

  2. 复合赋值运算符

    += 、 -= 、 *= 、/= 、%=

4.1 赋值运算符特点:
  1. 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

  2. 复合赋值运算符会进行类型转换

    byte b = 3;
    b += 2;//等价于 b = (byte)(b + 2);
    b++; //等价于 b = (byte)(b + 1);
    
    //如果像下面这样写,会报错
    byte b = 3;
    b = b + 2;
    

5、位运算符

分为两组:


  1. 按位与 &:两位全为1,结果为1,否则为0
  2. 按位或 |:两位有一个为1,结果为1,否者为0
  3. 按位异或 ^ :两位不相同,结果为1,相同为0
  4. 按位取反~:0 - >1,1 -> 0

  1. 算术右移 >>:本质是 除以2
    • 正数,右移直接丢弃最低位,在高位补对应个数的0;
    • 负数,右移直接丢弃最低位,在高位补对应个数的1;
  2. 算术左移 <<:本质是 乘以2
    • 正数和负数,左移直接丢弃最高位,在低位补对应个数的0;
  3. 逻辑右移(无符号右移):右移直接丢弃最低位,在高位补对应个数的0,即使最高位原来是1;

按位与&计算过程:

按位取反~计算过程:


6、三元运算符

基本语法:

条件表达式 ? 表达式1 : 表达式2;

运算规则:

  1. 如果条件表达式为true, 运算后的结果是表达式1;
  2. 如果条件表达式为false,运算后的结果是表达式2;

真1假2

例:

int a = 10;
int b = 11;
int result = a > b ? a++ : b--;
System.out.println(result);//输出11
6.1使用细节:

表达式1和表达式2要为可以接收的类型的变量(或者可以自动类型转换的变量)

错误例子:

int a = 3;
int b = 4;
int c = a > b ? 1.1 : 2;
//错误  double类型的数值1.1 不可赋值给int类型的变量c
//可以强转 int c = a > b ? (int)1.1 : 2;

练习

实现三个数的最大值
int n1 = 23;
int n2 = 33;
int n3 = 43;

int max = (n1 > n2 ? n1 : n2) > n3 ? 
    		(n1 > n2 ? n1 : n2) : n3;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/866229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号