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

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


文章目录

一、运算符是什么

二、算术运算符

三  赋值运算符

四 比较(关系)运算符

五 逻辑运算符

六 位运算符

七 条件运算符

八 运算符优先级

前言

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


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

一、运算符是什么

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

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

运算符的分类:

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

按操作数个数分为:

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

二、算术运算符

1.基础

运算符运算范例结构
+正号+33
-负号a=3;-a-3
+3+36
-4-31
*3*412
/3/31
%取余6%42
++

自增(前)先运算后取值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==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hellow”instanceof Stringtrue

  • 比较运算符的结果都为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  
     } 
}

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

五 逻辑运算符

aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse

逻辑运算符,操作的都是 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 四会讲到数组,等等一系列,希望大家多多支持,谢谢大家,爱你们呦!

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值