首页 > 其他分享 >运算符

运算符

时间:2024-07-26 11:11:50浏览次数:7  
标签:++ System 运算符 println true out

运算符:

  1. i++/++i

    1. i++(后缀递增)
      • 这种形式称为后缀递增,它首先返回 i 的原始值,然后 i 的值增加1。
      • i++ 表达式作为独立语句使用时,它只改变 i 的值,不返回任何值。
    2. ++i(前缀递增)
      • 这种形式称为前缀递增,它首先将 i 的值增加1,然后返回 i 的新值。
      • ++i 表达式作为独立语句使用时,它改变 i 的值,并返回 i 的新值。

    示例:

    java复制int i = 0;
    
    // 使用后缀递增
    int a = i++; // a = 0, i = 1
    System.out.println("a = " + a); // 输出 a = 0
    System.out.println("i = " + i); // 输出 i = 1
    
    // 再次使用后缀递增
    a = i++; // a = 1, i = 2
    System.out.println("a = " + a); // 输出 a = 1
    System.out.println("i = " + i); // 输出 i = 2
    
    // 使用前缀递增
    int b = ++i; // i = 3, b = 3
    System.out.println("b = " + b); // 输出 b = 3
    System.out.println("i = " + i); // 输出 i = 3
    

    注意:

    • 当递增运算符用于循环或条件语句中时,i++++i 的区别可能会影响程序的执行流程。例如,在 for 循环中,使用 i++++i 会导致循环体内部的执行次数不同。
    • 在表达式中,如果递增运算符的结果被使用,++i 会返回递增后的值,而 i++ 会返回递增前的值。
    • 在Java中,递增运算符是符合C语言风格的,而在某些其他编程语言中,可能没有这种区分。

    性能考虑:

    • 在某些情况下,编译器可能会优化这两种形式的递增运算符,使得它们在性能上没有区别。但是,从逻辑上讲,它们的行为是不同的。
  2. &与&&

    &(按位与)

    • & 是按位与运算符,它对两个整数的每一位进行与操作。
    • 它返回一个整数,其中每一位都是两个操作数对应位的与结果。
    • 按位与运算符通常用于位操作,而不是逻辑运算。

    示例

    javaint a = 0b1010; // 二进制的1010
    int b = 0b1100; // 二进制的1100
    int result = a & b; // 结果为0b1000
    System.out.println(Integer.toBinaryString(result)); // 输出1000
    

    &&(逻辑与)

    • && 是逻辑与运算符,它用于布尔逻辑运算。
    • 它对两个布尔表达式进行与操作,只有当两个操作数都为 true 时,结果才为 true;否则结果为 false
    • && 是短路运算符,如果第一个操作数为 false,则不会计算第二个操作数。

    示例

    javaboolean x = true;
    boolean y = false;
    
    boolean result1 = x && y; // 结果为false,因为y为false
    System.out.println(result1);
    
    boolean result2 = x && true; // 结果为true,因为x和第二个操作数都为true
    System.out.println(result2);
    

    区别和使用场景

    1. 使用 & 的场景
      • 当你需要对整数的二进制位进行操作时,使用 &
      • 例如,清除或设置特定的位,或者进行掩码操作。
    2. 使用 && 的场景
      • 当你需要在布尔逻辑中进行条件判断时,使用 &&
      • 例如,检查多个条件是否同时满足。

    短路特性

    • && 运算符的短路特性可以用于避免不必要的计算。如果第一个操作数为 false,则不会计算第二个操作数,因为整个表达式的结果已经确定为 false
    • 这种特性在处理可能抛出异常的表达式时特别有用,可以避免在第一个条件不满足时执行可能引发异常的操作。

    示例

    java复制boolean result3 = (x && y) && anotherCondition(); // 如果x为false,则不会调用anotherCondition()
    System.out.println(result3);
    
  3. |与||

    |(按位或)

    • | 是按位或运算符,它对两个整数的每一位进行或操作。
    • 它返回一个整数,其中每一位都是两个操作数对应位的或结果。
    • 按位或运算符通常用于位操作。

    示例

    javaint a = 0b1010; // 二进制的1010
    int b = 0b1100; // 二进制的1100
    int result = a | b; // 结果为0b1110
    System.out.println(Integer.toBinaryString(result)); // 输出1110
    

    ||(逻辑或)

    • || 是逻辑或运算符,它用于布尔逻辑运算。
    • 它对两个布尔表达式进行或操作,如果至少有一个操作数为 true,则结果为 true;否则结果为 false
    • || 是短路运算符,如果第一个操作数为 true,则不会计算第二个操作数。

    示例

    javaboolean x = true;
    boolean y = false;
    
    boolean result1 = x || y; // 结果为true,因为x为true
    System.out.println(result1);
    
    boolean result2 = false || y; // 结果为false,因为两个操作数都为false
    System.out.println(result2);
    

    区别和使用场景

    1. 使用 | 的场景
      • 当你需要对整数的二进制位进行操作时,使用 |
      • 例如,设置特定的位或进行掩码操作。
    2. 使用 || 的场景
      • 当你需要在布尔逻辑中进行条件判断时,使用 ||
      • 例如,检查多个条件中至少有一个是否满足。

    短路特性

    • || 运算符的短路特性可以用于避免不必要的计算。如果第一个操作数为 true,则不会计算第二个操作数,因为整个表达式的结果已经确定为 true
    • 这种特性在处理可能抛出异常的表达式时特别有用,可以避免在第一个条件满足时执行可能引发异常的操作。

    示例

    java复制boolean result3 = (x || y) || anotherCondition(); // 如果x为true,则不会调用anotherCondition()
    System.out.println(result3);
    
  4. >与>>

    >(大于运算符)

    • > 是一个比较运算符,用于比较两个数值的大小。
    • 如果左边的值大于右边的值,则结果为 true;否则结果为 false
    • 它通常用于条件语句和循环中,以决定程序的执行流程。

    示例

    javaint a = 10;
    int b = 20;
    
    boolean result = (a > b); // 结果为false
    System.out.println("Is a greater than b? " + result);
    

    >>(算术右移位运算符)

    • >> 是一个算术右移位运算符,它将操作数的各个位向右移动指定的位数。
    • 算术右移位意味着左边空出的位将被填充为符号位(即正数填充0,负数填充1)。
    • 这种操作符通常用于整数类型的位移操作,可以改变数值的大小。

    示例

    javaint a = 10; // 二进制为1010
    int result = a >> 1; // 右移一位,结果为5,二进制为101
    System.out.println("Result of arithmetic right shift: " + result);
    

    区别和使用场景

    1. 使用 > 的场景
      • 当你需要比较两个数值的大小时,使用 >
      • 例如,在排序算法中比较元素的顺序。
    2. 使用 >> 的场景
      • 当你需要对整数的二进制位进行位移操作时,使用 >>
      • 例如,通过位移操作来模拟除以2的操作。

    其他位移运算符

    • 逻辑右移位运算符 >>>:与算术右移位类似,但无论符号位是什么,左边空出的位总是填充为0。这在处理无符号整数时特别有用。

    示例

    java复制int a = -10; // 二进制为11111111111111111111111111110110
    int result = a >>> 1; // 逻辑右移一位,结果为-5,二进制为11111111111111111111111111110111
    System.out.println("Result of logical right shift: " + result);
    

标签:++,System,运算符,println,true,out
From: https://www.cnblogs.com/czj03/p/18324906

相关文章

  • 【java SE语法篇】1. 运算符
    目录1.运算符和表达式2.算数运算符3.隐式转换4.强制转换5.自增自减运算符6.赋值运算符7.扩展运算符8.关系运算符9.逻辑运算符9.1&和|的使用:9.2^(异或)的使用:9.3!(取反)的使用:10.短路逻辑运算符11.三元运算符1.运算符和表达式运算符:就是对常量或者......
  • 嵌入式学习第9天——C语言运算符,程序设计结构,输入输出缓冲机制
    2024.7.25第九天笔记关于++混合操作,不同计算结果推理第一种编译结果:inti=5;intsum=(++i)+(++i)=6+7=13第二种编译结果:inti=5;intsum=(++i)+(++i)=6+7=7+7前面的7是因为后面i的变化被影响后,重新赋值=14第一种编译结果:inti=5;in......
  • C++数据和运算符
    回顾:XX.c  gcc专门编译C文件/g++XX.cpp g++专门编译C++文件.exe  执行.out#数据:数据类型****作用******对于计算机来说:编译器预算对象(变量)分配的内存空间大小对于用户来说:方便区分每种数据所代表的含义。什么类型参与运算最后结果还是什么类型基本类型......
  • 第3节课:运算符与表达式
    目录算术运算符加法运算符(+)减法运算符(-)乘法运算符(*)除法运算符(/)模运算符(%)复合赋值运算符赋值运算符简单赋值复合赋值递增和递减运算符递增运算符(++)递减运算符(--)表达式算术表达式赋值表达式条件表达式总结在C++编程中,运算符和表达式是构建程序逻辑的基本元素。它们......
  • Lua 运算符
    算法运算符--+-*/%--Lua不支持自增自减--没有复合运算符+=-=/=*=%=--字符串可以进行算数运算符操作会自动转成number如果不是数字大概率会报错Lua相等C#+=+-=-*=*/=/%=%^=^无!=+=无!=-=无!=/=无!......
  • 基本运算符
    java语言支持如下运算符:算术运算符:+、-、*、/、%(模运算:取余)、++、--赋值运算符:=关系运算符:>、<、>=、<=、==、!=、!=instanceof逻辑运算符:&&、||、!位运算符:&、|、^、~、>>、<<、>>>条件运算符:?、:扩展赋值运算符:+=、-=、*=、/=算术运算:publicclassDemo1{publics......
  • Java学习笔记(三)算术运算符、逻辑运算符、四种进制介绍
    Hii,mJinXiang⭐前言⭐本篇文章主要介绍Java算术运算符、逻辑运算符、四种进制介绍详细使用以及部分理论知识......
  • C++ 运算符重载的注意事项
    C++的运算符重载是一种强大的特性,它允许开发者为已存在的运算符赋予新的含义,以适应特定数据类型的需求。在使用运算符重载时,需要注意以下几点:不改变运算符原有语义:运算符重载应保持运算符原有的基本含义,避免引起混淆。例如,重载加法运算符+时,应确保其结果与常规加法操作相符。......
  • java学习--运算符
    运算符算术运算符混合运算当进行多类型混合运算时,结果是参与运算的最大类型当只有byteshortintchar四种类型中任意一种或多种进行运算,结果一定是int类型关系运算位运算/逻辑运算位运算进阶 //&也支持两边是数字,转换为二进制进行每位比较,都是1则取1......
  • Python的运算符与条件表达式
    一、运算符Python数据是通过使用运算符来进行操作的,与数学运算符类似,主要运用于数字计算,比较大小和逻辑运算。Python中的运算符主要包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。1.算术运算符算术运算符用在数字表达式中,作用和在数学中是一样的。Python......