Java基础之运算符

简介: Java基础之运算符

Java基础之运算符
我们上学的时候已经学过加减乘除等运算符,Java也提供了丰富的运算符,这些运算符按照功能可以分为以下几类:
1.算术运算符:用于执行基本的数学运算。
+(加法)| -(减法)|(乘法)| /(除法)| %(取模)| ++(自增)| --(自减)
自增和自减运算符用于将变量的值增加或减少1。
它们可以放在变量之前(前缀形式)或之后(后缀形式)。
前缀形式(++n)会先改变变量的值,然后返回改变后的值;
后缀形式(n++)会先返回变量的原始值,然后改变变量的值。
代码演示下:
int a = 10;
int b = 20;
int sum = a + b; // 加法
int diff = a - b; // 减法
int prod = a
b; // 乘法
int quot = a / b; // 除法
int mod = a % b; // 取模
2.赋值运算符:用于将值赋给变量。
=(赋值)
+=(加后赋值)a+=5;//等同于a=a+5
-=(减后赋值)同理,a-=5;//等同于a=a-5
*=(乘后赋值)
/=(除后赋值)
%=(取模后赋值)
<<=(左移后赋值)

  >>=(右移后赋值)
  &=(按位与后赋值)
  ^=(按位异或后赋值)
  |=(按位或后赋值)
  这个左移右移位的我也不会,看着都头疼,这么多年也没用过忽略了吧,管求她呢。
3.关系运算符:用于比较两个值,并返回一个布尔结果。
  ==(等于)
  !=(不等于)
  >(大于)
  <(小于)
  >=(大于等于)
  <=(小于等于)
  boolean isEqual = (a == b); // 判断a是否等于b
4.逻辑运算符:用于组合多个条件,并返回一个布尔结果。
  &&(逻辑与)
  ||(逻辑或)
  !(逻辑非)
  boolean a = true;
  boolean b = false;
  boolean result = a && b; // 逻辑与运算
5.条件运算符(三元运算符):根据条件返回两个值中的一个。
  语法:
  条件 ? 值1 : 值2
  这个常用啊,经常用它来简写代码:
  int max = (a > b) ? a : b;
  其实这个就等同于:
  // 如果a大于b,则max等于a,否则等于b
  int max;
  if(a > b){
    max = a;
  }else{
    max = b;
  }
  System.out.println("a和b最大值:" + max);
6.类型运算符:用于检查对象是否是指定类型的实例。
  instanceof 这个我们在关键字那一篇见过哈
  语法:
  Object obj = "Hello";
  boolean isString = obj instanceof String; // 检查 obj 是否是 String 类的实例
  System.out.println("obj 是否是 String 类的实例:" + isString );
7.位运算符:用于操作整数类型的二进制位。 哎呀,这玩意一直没细看过,有兴趣研究吧,我列出来不研究。
  &(按位与)
  |(按位或)
  ^(按位异或) 这个用过,可以加密图片,叫异或操作。
  ~(按位非)
  <<(左移)前面说了,这个我不会
  >>(右移)这个一样不会
  >>>(无符号右移)更不会
  这些运算符通常用于底层编程,如网络协议、加密算法等,我是没写过。
就是这些了,基本上和数学学过的差不多。
主要是那个自增的前后缀可能混淆:a++和++a,我们用代码再说明一次:
int num1 = 5;
int result1 = ++num1; // num1变成6,result 也是 6, 计算是 num1 = 5+1=6,result1=6,num1先变得6哦
int num2 = 5;
int result2 = num2++; // result2是6,然后num2变成6,计算是result2=num1+1,先给了result2,num2成了6哦
也就是说原始值+1的顺序不一样,想不明白就不用想了,不重要。

初级面试有时候会问这些问题:
赋值运算符 = 和 == 有什么区别? 
= 是赋值运算符,用于将右侧的值赋给左侧的变量。
== 是关系运算符,用于比较两个变量的值是否相等。

那== 和 equals() 方法有什么区别?
== 运算符用于比较两个对象的引用是否相同,即它们是否指向内存中的同一个对象。
equals()方法则是用来比较两个对象的内容是否相同,这个后面面向对象的时候学。

逻辑运算符 && 和 & 有什么区别? 
逻辑运算符 && 和 & 都表示逻辑与,但是它们在行为上有一个关键的区别:
&&(逻辑与):也称为短路逻辑与。如果第一个操作数为 false,那么第二个操作数将不会被评估,因为整个表达式的结果已经确定为 false。这被称为短路行为,因为它缩短了评估的路径。这种行为对于避免执行不必要的计算或可能引发异常的操作非常有用。
在处理布尔逻辑时,通常使用 && 而不是 &,因为 && 提供的短路行为可以提高代码的效率和安全性。然而,当需要对整数进行按位与操作时,只能使用 &。

其他的想不到了,就这吧,最讨厌数学了。

END
目录
相关文章
|
1月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/&gt;/&lt;等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
14 2
|
2月前
|
Java
java基础--运算符
Java运算符包括算术、自增自减、赋值、关系和逻辑运算符以及三元运算符。算术运算符如`+ - * / %`,其中`%`是取余数。自增自减运算符`++`和`--`可对变量进行操作,位置不同可能影响运算顺序。赋值运算符`=`及扩展形式`+= -= *= /= %=`用于给变量赋值或进行复合操作。关系运算符如`&gt; &lt; &gt;= &lt;= == !=`用于比较,逻辑运算符`&& || ! ^`组合条件,三元运算符`条件? 结果1 : 结果2`根据条件返回值。运算符优先级遵循特定规则,可通过括号调整计算顺序。此外,`Scanner`类用于获取用户键盘输入。
|
2月前
|
Java
Java基础&运算符
Java基础&运算符
11 1
|
11月前
|
Java
Java 运算符中 前++ 和后++ 的区别详解
Java 运算符中 前++ 和后++ 的区别详解
87 0
|
机器学习/深度学习 Java
【Java基础篇】运算符
【Java基础篇】运算符
74 0
|
存储 Java
【Java入门】运算符(二)
【Java入门】运算符(二)
|
存储 Java
【Java|基础篇】超详细讲解运算符
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。 作用: 对字面量和变量进行操作的符号
|
Java
Java基础——运算符
Java提供的一组丰富的算术和逻辑运算符
76 0
Java基础——运算符
|
人工智能 Java 程序员
Java基础学习——运算符
在运算时,不同数据类型之间无法进行运算,需要将数据类型转化为同一种数据类型才能进行运算。而数据类型的转换也分为隐式转换(自动转换)和强制类型转换,要想知道何时需要我们强制转换数据类型,必须首先知道数据类型的种类
102 0
Java基础学习——运算符