欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java笔记Day4(运算符)

程序员文章站 2022-07-14 17:35:58
...


运算符是一种特殊的符号,用以表示数据的运算、赋值和比较。

  • 算数运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算术运算符

+-+-*/%、(前)++、(后)++、(前)--、(后)-- +

除号:/ 取整运算

%:取余运算

  • 结果的符号与被模数的符号相同;
  • 开发中,经常使用%来判断能否被除尽的情况。

(前)++ (前)-- :先运算后自增或自减(先用后加/减);
(后)++ (后)--:先自增或自减再运算(先加/减后用)。

自增1不会改变本身变量的数据类型。

赋值运算符

符号:=
扩展赋值运算符:+=-=*=%=
eg:

num +=2;//num = num + 2;
short s1 = 10;
//s1 = s1 + 2;//编译失败
s1 += 2;//结论:不会改变变量本身的数据类型

因此:

//开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
//方式一:num = num + 2;
//方式二:num += 2; (推荐)

//开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
//方式一:num = num + 1;
//方式二:num += 1; 
//方式三:num++; (推荐)

比较运算符

说的都是==!=><>=<=instanceof

结论:

  • 比较运算符的结果是boolean类型;
  • 区分 ===

逻辑运算符

&&&|||!^

结论:
逻辑运算符操作的都是boolean类型的变量。

区分&&&

相同点:

  • &&& 的运算结果相同;
  • 当符号左边是true时,二者都会执行符号右边的运算。

不同点:

  • 当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算;
  • 开发中,推荐使用&&

区分:|||

相同点:

  • ||| 的运算结果相同;
  • 当符号左边是false时,二者都会执行符号右边的运算。

不同点:

  • 当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算;
  • 开发中,推荐使用||

位运算符(了解)

结论:

  • 位运算符操作的都是整型的数据;
  • << :在一定范围内,每向左移1位,相当于 * 2, >> :在一定范围内,每向右移1位,相当于 / 2。

面试题:

//最高效方式的计算2 * 8 ? 2 << 3  或 8 << 1

三元运算符

  1. 结构:(条件表达式)? 表达式1 : 表达式2
  2. 结论:
  • 条件表达式的结果为boolean类型;
  • 根据条件表达式真或假,决定执行表达式1,还是表达式2;
    ①如果表达式为true,则执行表达式1;
    ②如果表达式为false,则执行表达式2。
  • 表达式1 和表达式2要求是一致的;
  • 三元运算符可以嵌套使用。
  1. 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立。

  2. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高

eg:

//获取两个整数的较大值
int m = 12;
int n = 5;
int max = (m > n)? m : n;
相关标签: Java java