【期末复习之路】JAVA (二) D

这是我们JAVA二最后一块部分,明天我们就会更新Java三循环语句了,请大家敬请期待


文章目录

一、运算符是什么

二、算术运算符

三  赋值运算符

四 比较(关系)运算符

五 逻辑运算符

六 位运算符

七 条件运算符

八 运算符优先级

前言

这一章我们来讲讲运算符,这一块是我们必须要掌握到,接下来让我们看看吧!


提示:以下是本篇文章正文内容,下面案例可供参考

一、运算符是什么

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

运算符的分类有很多种,你了解多少呢?

运算符的分类:

  • 算术运算符:+, - ,* ,/ ,%, ++,--     7个
  • 赋值运算符:=,+=,-=,*=,%=,/=,>>=,>>>=,<<=,&=,|=,^=
  • 比较运算符,关系运算符:>,>=,<,<=,==,!=
  • 逻辑运算符:&,|,^,!,&&,||
  • 位运算符:&,|,^,~,<<,>>,>>>
  • 条件运算符:条件表达式
  • Lambda运算符:->

按操作数个数分为:

  • 一元运算符
  • 二元运算符
  • 三元运算符

二、算术运算符

1.基础

运算符 运算 范例 结构
+ 正号 +3 3
- 负号 a=3;-a -3
+ 3+3 6
- 4-3 1
* 3*4 12
/ 3/3 1
% 取余 6%4 2
++

自增(前)先运算后取值a=2,b=++2

自减(后)先取值后运算a=2,b=2++

a=2,b=++a

a=2,b=a++

a=3,b=3

a=3,b=2

--

自增(前)先运算后取值

自减(后)先取值后运算

a=2,b=--a

a=2,b=a--

a=1,b=1

a=1,b=2

+ 字符串相连 “he”+“llow” “hellow”

加减乘除模例子:

public class yunsuan{
    public static void main(String[] args){
        int a = 3;
        int b = 4;

        System.out.println(a+b);//7
        System.out.println(a-b);//-1
        System.out.println(a*b);//12
        System.out.println(a/b);//0
        System.out.println(a%b);//3
        
        System.out.println(5%2);//1
        System.out.println(5%-2);//1
        System.out.println(-5%2);//-1
        System.out.println(-5%-2);//-1
        //商*除数+余数=被除数
        //5%-2  ==>商=-2 余数=1  (-2)*(-2)+1=5             
               }
        }

+ 的两种用法

1.俩边都为数值的话,+代表相加

2.对于两边至少有一边是字符串的话,代表拼接

public class yunsuan2 {   
       public static void main(String[] args) {     
            String str1 = "Hello";     
            System.out.println(str1); // Hello
            System.out.println("Hello" + "World"); // HelloWorld
            
            String str2 = "Java";      
            System.out.println(str2 + 520); // Java520     
            System.out.println(str2 + 5 + 20); // Java520   
        }
 }

自加自减运算

public class yunsuan3 {   
        public static void main(String[] args) {     
             int a = 3;        //定义一个变量int
             a++;      
     System.out.println(a);   //像这样无论是++a,还是a++结果都一样,都是4
    }
 }

自加自减运算复合运算

    public class ArithmeticTest4 {   
            public static void main(String[] args) {
                int x = 3;  
                int y = x++; 
                //x++的时候,y是4,x是3,当++x的时候,有x是4,y也是4
                System.out.println(x);   
                System.out.println(y);    
                System.out.println("==========");
                int z = 5;     
                //System.out.println(++z);// 输出结果是6,z 的值也是6                     
                System.out.println(z++);// 输出结果是5,z 的值是6   
                System.out.println(z);
  
     } 
}
 

三 赋值运算符

符号 =

  • 当“=”两侧数据类型不一样的时候,可以使用自动类型转换或使用强制类型转换原则处理
  • 支持连续赋值

扩展符号:+=,-=,*=,/=,%=

算符 符号解释
+= 符号左边的值和右边的值进行相加操作,最后将结果赋值给左边的变量
-= 符号左边的值和右边的值进行相减操作,最后将结果赋值给左边的变量
*= 符号左边的值和右边的值进行相乘操作,最后将结果赋值给左边的变量
/= 符号左边的值和右边的值进行相除操作,最后将结果赋值给左边的变量
%= 符号左边的值和右边的值进行取余操作,最后将结果赋值给左边的变量
public class fuzhiyunsuna{
    public static void main (String[] args){
        int i1 = 10;  //定义int
        long l1 = i1;  //int升为long类型,自动转化
        byte bb1 = (byte)i1;//强制转化类型,变为int
        int i2 =i1;
        int a1 = 10;
        int b1 = 10;//分别赋值

        int a2,b2;
        a2 = b2 = 10;//连续赋值

        int a3 = 10,b3 = 20;
        
        int m1 = 10;
        m1 += 5;//相当于m=m+5 使用m=15
        System.out.println(m1);
        
        short s2 = 10;//short s2=s2+2
       // s2 = (short)(s2+2);     int类型赋值给short,有损精度
        System.out.println(s2);
        

}
}

四 比较(关系)运算符

运算符 运算 范例 结果
== 相等于 4==3 false
!= 不等于 4!=3 true
< 小于 4<3 false
> 大于 4>3 true
<= 小于等于 4<=3 false
>= 大于等于 4>=3 true
instanceof 检查是否是类的对象 “Hellow”instanceof String true

  • 比较运算符的结果都为boolean型,要不就是对的,要不就是错的
  • >,>=,<,<=:适用于基本数据类型,也且只适用基本数据类型
  • ==,!=:适用于基本数据类型,和引用数据类型
class CompareTest {   
    public static void main(String[] args) {     
        int i1 = 10;     
        int i2 = 20;
    System.out.println(i1 == i2);//false     
    System.out.println(i1 != i2);//true
    System.out.println(i1 >= i2);//false

        int m = 10;     
        int n = 20;     
    System.out.println(m == n);//false     
    System.out.println(m = n);//20

        boolean b1 = false;     
        boolean b2 = true;     
    System.out.println(b1 == b2);//false         
    System.out.println(b1 = b2);//true  
     } 
}

区分好“=”和“==”的区别

五 逻辑运算符

a b a&b a&&b a|b a||b !a a^b
true true true true true true false false
true false false false true true false true
false true false false true true true true
false false false false false false true false

逻辑运算符,操作的都是 boolean类型的变量或常量,而且运算得结果也是 boolean类 型的值。

  1.运算符说明:
 & 和  &&:表示"且"关系,当符号左右两边布尔值都是 true时,结果才能为 true。否则,为 false

         | 和  || :表示"或"关系,当符号两边布尔值有一边为 true时,结果为true。当两边都为 false                         时,结果为 false

         ! :表示"非"关系,当变量布尔值为 true时,结果为 false。当变量布尔值为 false时,结果为 true。

         ^ :当符号左右两边布尔值不同时,结果为 true。当两边布尔值相同时,结果为 false。

 区分“&”和“&&”:
相同点:如果符号左边是 true,则二者都执行符号右边的操作

不同点:& : 如果符号左边是 false,则继续执行符号右边的操作
             &&  :如果符号左边是 false,则不再继续执行符号右边的操作
                建议:开发中,推荐使用  &&
区分“|”和“||”:
                 相同点:如果符号左边是 false,则二者都执行符号右边的操作
                 不同点:| : 如果符号左边是 true,则继续执行符号右边的操作
                                ||  :如果符号左边是 true,则不再继续执行符号右边的操作
                建议:开发中,推荐使用  ||

六 位运算符

运算符 运算 范例
<< 左移 3<<2 =12  - 3*2*2=12
>> 右移 3>>1 = 1  - 3/2=1
>>> 无符号右移

3>>>1 = 1 - 3/1=1

& 与运算 6&3=2
| 或运算 6|3=7
^ 异或运算 6^3=5
~ 取反运算 ~6=-7

七 条件运算符

 (条件表达式)?

                表达式1

                表达式2                

条件表达式都是boolean类型的结果,根据boolean的值选择表达式1或表达式2

八 运算符优先级

优先级 运算符说明 Java运算符
1 括号 (),[],{}
2 正负号

+,-

3 单位运算符 ++,--,~,!
4 乘法除法,求余 *,/,%
5 加减法 +,-
6 移位运算符 <<,>>,>>>
7 关系运算符 <,<=,>,>=,instanceof
8 等价运算法 ==,!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 条件与 &&
13 条件或 ||
14 三位运算符 ?;
15 赋值运算符 =,+=,-=,*=,/=,%=
16 位赋值运算符 &=,|=,<<=,>>=,>>>=

因为优先级太多,记忆起来也麻烦,使用没有必要记住,我们习惯性的用()来控制表达式的执行顺序,不要写的过于复杂,这样只会让我们更难受


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅运算符使用,这就是我们的第二部分,我分为4部分写的,大家可以关注或者订阅,这样方便大家阅读,相信大家也不容易,我们的Java 三,将会讲循环语句,Java 四会讲到数组,等等一系列,希望大家多多支持,谢谢大家,爱你们呦!

猜你喜欢

转载自blog.csdn.net/m0_69520030/article/details/130484852
今日推荐