算术运算符/算术运算符/比较运算符/赋值运算符/三元运算符/逻辑运算符

一、算术运算符

    种类:+   -   *   /   %(取模)

    注意:
        整数相除结果只能是整数

        如果想计算出小数, 必须要有浮点类型数据参数运算

    算术运算符取余和除法的区别
        / 得到的是商

        % 得到的余数

    %运算符最常见的操作就是判断奇偶数.

    因为任何一个数%2, 不是1, 就是0

    字符和字符串参与加法操作

System.out.println('a' + 1); // 输出结果为98
    当char类型再跟整数类型的数据进行运算的时候, 实际上是
    先查找当前字符所对应的ASCII值
    需要记住的3个ASCII值
        'a'   97
        'A' 65

        '0'   48

    注意: 字符串在与任意数据类型用+号串联的时候都会 ?

        产生新的字符串

System.out.println(1 + 'a' + "hei hei hei" + 'a');  // 结果:98hei hei heia

    例题:

        定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1

public class Task {
	public static void main(String[] args) {
		int i = 123;
		int a = i/100;
		int b = i/10%10;
		int c = i%10;
		
		System.out.println("个位:" + c);
		System.out.println("十位:" + b);
		System.out.println("百位:" + a);
	}
}

二、算术运算符

    应用:完成自身+1, 或者自身-1的操作.

        ++在后: 会现将变量原本所记录的值取出来进行操作, 然后再完成自身+1的运算

        ++在前: 先完成自身+1的运算, 然后再进行赋值.

int x = 4;
//括号1 : 现将x原本记录的4取出来  --> 4
//括号2 : 将上一次变化后的5, 再进行++在前的运算 --> 6
//括号3 : 60
int y = (x++)+(++x)+(x*10);  // 70
int x = 10;
int y = x++;		// y = 10, x=11
int z = ++x;		// x = 12, z = 12
System.out.println(x);
System.out.println(y);
System.out.println(z);

三、赋值运算符

    基本赋值运算符:  =  --> 将右边赋值给左边 --> 举例: int i = 10;
    扩展赋值运算符:  +=, -=, *=, /=, %=

    理解: +=, 将左边两边的数据, 做加法运算, 然后将结果赋值给左边

short s=1;    
s=s+1;            //有问题, 需要强转
s+=1;            //不报错的原因, 是因为+=运算符, 底层自动帮我们做了强转:s = (short)(s + 1);

四、比较运算符

    种类:

        >
        <
        >=
        <=
        == 

        !=

    比较运算符, 无论简单还是复杂, 结果都必须是boolean类型.

    =和==号的区别
        =号是用于赋值的.
        ==号才是用于比较的.

五、三元运算符

    (比较表达式) ? 值1 : 值2;
    看比较表达式返回的结果是true还是false
        true : 值1;

        false : 值2;

int i = 10;
int i2 = 20;
boolean flag = (i == i2) ? true : false;

六、逻辑运算符

    逻辑运算符用于链接boolean类型的表达式, 或者是值.

    种类:

        &  : 与        --> 并且  --> 结论: 左边两边, 必须同时为true, 结果才为true
                                                            换句话说, 遇false, 则false.
                                                                    int i = 10;
                                                                    System.out.println(i > 5 & i < 20);
        |  : 或        --> 或者  --> 结论: 左右两边, 只要有一个为true, 结果就为true
                                                        换句话说, 遇true, 则true.
        && : 短路与 左边返回false的时候, 右边就不再执行了.
                                        左边返回为true, 右边依旧执行.
        || : 短路或 左边返回true的时候, 右边就不再执行了.
        !  : 非        --> 取反   --> 特点: 非两次, 结果不变
        ^  异或 : 相同为false, 不同为true
            特点 :
                一个数, 被另外一个数, 异或两次, 该数本身不变

                10 ^ 6 ^ 6

    && & 有什么区别?
        & : 无论左边返回的结果是true还是false, 右边都必须执行
        && : 左边返回false的时候, 右边就不再执行了.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值