java基础语法——运算符(1)

算数运算符 + - * / % ++ --

比较运算符 == != > < >= <=

赋值运算符 += -= *= /= %=

逻辑运算符 & | ! ^ && ||

条件运算符

位运算

算数运算符 + - * / % ++ --

加法:数值+数值 数值+字符(十进制编码) ,'a'为char类型,自动转为int类型

字符串连接 :字符串+字符串 数值+字符串

+ - / % ++ -- 数值+数值 数值+字符

++ 自增1 在混合运算时,++在后 先运算 后++, ++在前面 先++, 后运算

-- 自减1

package day2;
public class Demo4 {
    public static void main(String[] args) {
         int a = 10;
         int b = 5;
        System.out.println(a+b);//15
        System.out.println(a+'a');//107   数值+字符(十进制编码)  'a'为char类型,自动转为int类
        System.out.println(a+"abc");//aabc
        System.out.println(a-"abc");//错的,不能减
        System.out.println(a-'a');

          int x=5;
         // x++;//x=x+1
        // ++x;//x=+1
        //System.out.println(x);//7

        // int y = x++ + 1;  在混合运算时,++在后 先运算 后++
        int y = ++x + 1; //++在前面  先++, 后运算
        System.out.println(y);//6  7
        System.out.println(x);//6  6
    }
}

比较运算符 == != > < >= <= == !=

数值与数值,数值与字符, 逻辑值与逻辑值, 引用类型与引用类型

< >= <= 数值与数值  数值与字符

比较运算符的结果都是boolean类型,要么是true,要么是false

注意:比较运算符的==,不能写成=

package day2;
public class Demo5 {
    public static void main(String[] args) {
        
         int  a = 10;
         int  b = 5;
        System.out.println(a>b);//true
        System.out.println(a>'a');//数值 与 数值   数值与字符,false

        System.out.println(a==b);
        System.out.println(a!=b);

        boolean c   = true;
        boolean d = false;
        System.out.println(c==d);//false
        System.out.println(c!=d);//true

        String s = "abc";
        String s1 = "abc";
        System.out.println(s==s1);//true
        System.out.println(s!=s1);//false

    }
}

逻辑运算 逻辑值与逻辑值 & | ! && || ^(异或)

& | ^ ! 既可以参与逻辑运算 也可以参与位运算

“&”和“&&”的区别:

  • &时,左边无论真假,右边都进行运算;
  • &&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
  •  “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
package day2;
public class Demo6 {
    public static void main(String[] args) {
           int a = 10;
           int b = 5;
           int c = 7;
          // false &  后面的表达式需要继续执行
        System.out.println(a>b);//0   不是逻辑运算,进入到位运算
          System.out.println(a>b & b<c);//true & true = true
          System.out.println(a>b & b>c);//true & false = false
          System.out.println(a<b & ++b>c);//false & false = false
          System.out.println(b);

         //  false &&(短路) 后面其他表达式就不执行
         System.out.println(a>b && b<c);//true && true = true
         System.out.println(a>b && b>c);//true && false = false
         System.out.println(a<b && ++b>c);//false && false = false
        System.out.println(b);

        // true | 后面的其他表达式仍需要执行
        // true ||(短路) 后面的其他表达式不需要执行   结果直接是true

        //! 取反
        //System.out.println(!(a>b));

        //^   相同为false    相异为true
        System.out.println(a>b ^ b<c); //true ^ true =false
        System.out.println(a>b ^ b>c); //true ^ false = true
        System.out.println(a<b ^ b>c); //false ^ false = false
    }
}

赋值运算符+= -= *= /= %=

注意:= 右边的值赋给左边 注意数据类型 经常写 == 写成=

条件运算符

语法: (条件表达式)? 表达式1:表达式2;

条件表达式结果为true,运算后的结果是表达式1; 为false,运算后的结果是表达式2

package day2;
public class Demo7 {
    public static void main(String[] args) {
       
         int  a  = 10;
         byte b  = (byte)a;
         a += b; //a=a+b
         System.out.println(a);

        short s = 3;
         //s=s+2;  //报错, s= s(short类型) + 2(int)
        s += 2; // 隐式转换
       
        int score = 70;
        String res=(score>=60)?"及格":"不及格";
        System.out.println(res);
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值