java学习(四)运算符

java学习(四)运算符

算术运算符:加、减、乘、除、自加、自减、取余

  • ++出现在变量前,先进行自加1,然后再复制

  • ++出现在变量后,先赋值,然后再自加1

代码如下

public class Operator_01{
    public static void main(String[] args){
        int a = 10;
        int b = 3;
        System.out.println(a+b); //13
        System.out.println(a-b); //7
        System.out.println(a*b); //30
        System.out.println(a/b); //3
        System.out.println(a%b); //1
​
​
        //重点掌握++ 和 --
        //++是自加1,可以出现在变量前,也可以出现变量后,只要++结束就是自加1
        int j = 100;
        j++;
        System.out.println(j); //101    
​
        int k = 200;
        k--;
        System.out.println(k); //199
        //++出现在变量前和变量后有啥区别?
        //语法:当++出现在变量后,会先做赋值运算传值,然后再自加1
​
        int m =10;
        int n = m++;
        System.out.println(m); //11
        System.out.println(n); //10
​
        //++出现在变量前,会先进行自加1,然后赋值
        int x =10;
        int y = ++x;
        System.out.println(x); //11
        System.out.println(y); //11
​
​
        int c =80;
        int d = 90;
        System.out.println(c++); //80  当++出现在变量后,会先做赋值运算传给括号输出,再自加1
        System.out.println(c); //81
        System.out.println(++d); //91
        System.out.println(d); //91
    }
}

关系运算符:>、>=、<、<=、==、!=

  • 所有关系运算符的结果都是布尔类型

逻辑运算符:&、|、!、&&、||,逻辑与或非,短路与短路或

  • 逻辑运算符两边是布尔类型,结果也是布尔类型

扩展的赋值运算符:==、+=、*=、/=、%=

  • 普通赋值运算符语法:右边先执行,再赋值给左边

  • 使用扩展运算符的时候,永远不会改变运算结果的类型

  • 代码

    public class Operator_03{
        public static void main(String[] args){
            int k = 20;
            k += 30;
            System.out.println(k);
    ​
            // i += 1和 i = i+1有啥区别
            byte x = 20;
            System.out.println(x);
    ​
            //这行代码报错?等号右边结果是int,左边是byte,不兼容的类型
            //x = x+1;
            //System.out.println(x);
            
            //下面这个代码不报错原因?
            //使用扩展赋值运算符的时候,永远都不会改变运算结果类型
            //其实在这里的 x += 1就等同 x = (byte)(x+1)
            x += 1;
            System.out.println(x);
    ​
            x += 300;
            System.out.println(x);//超出byte的最大值,不会报错,但会损失精度,
        }
    }

条件运算符(三目运算符)

  • 布尔表达式?布尔表达式1:布尔表达式2

    • 如果布尔表达式结果为true,表达式1即为结果

    • 如果布尔表达式结果为false,表达式2即为结果

public class Operator_04{
    public static void main(String[] args){
        //条件运算符
        //boolean sex = true;
        //char c = sex ? '男' : '女';
        //System.out.println(c);
​
        //一个单引号一个双引号编译器会不会报错?错误: 不兼容的类型: 条件表达式中的类型错误, 
        //等式右边字符串String类型  等式左边char类型,编译报错
        //boolean sex = false;
        //char c = sex ? '男' : "女";
        //System.out.println(c);
        
        //不指定类型,直接放进打印还会报错吗?不会,可以输出字符串女
        boolean sex = false;
        System.out.println( sex ? '男' : "女");
    }
}

字符串拼接

  • 当“+”运算的时候,两边的操作数都是数字的话,一定会进行求和运算,只 要其中有一个操作数是字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果 还是字符串类型。

  • 需要注意的是,当一个表达式当中有多个“+”,并且在没有小括号的前提 下,遵循自左向右的顺序依次执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值