Java中的运算

本文详细介绍了Java中的算数运算符,包括加减乘除、自增自减及其特殊情况。接着讲解了逻辑运算符,如&&、||和!,并展示了短路与的概念。还涵盖了关系运算符,如>、<、==等,并举例说明。此外,提到了赋值运算符的使用,如+=、-=等,并演示了位运算,如按位与、按位或、按位异或及移位操作。最后,文章简单介绍了三元运算符的使用方式。
摘要由CSDN通过智能技术生成

一、算数运算符

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

public class Demo_06_算数运算符 {
	public static void main(String[] args) {
		int a = 5;
        int b = 6;
        //1.+相加
        int c = a + b;
        //2.-相减
        int d = a - b;
        //3.++ 自增
		a++;//自增 a = a + 1;
		System.out.println(a);
		++a;
		System.out.println(a);
        //4.--自减
		a--;//a = a - 1;
		System.out.println(a);
		--a;
		System.out.println(a);
		
		System.out.println("=====特殊情况====");
        //++写后面先赋值再++
		int c = a++;
		System.out.println("a=" + a +",c=" +c);
        //++写前面,先++再赋值
		c = ++a;
		System.out.println("a=" + a +",c=" +c);
		c = a++ + a++ + a++;
		System.out.println("a=" + a +",c=" +c);

		System.out.println("=====取余=====");
		System.out.println(5%3);
		System.out.println(5%5);//判断是否能整数用取余来判断
	}
}

二、逻辑运算符

  1. 逻辑运算符:&&(并且)、||(或者)、!(非)

  2. 短路与

    • 如果是逻辑运算符

      ​ 以boolean表达式1为 && booleanb表达式2 为例:

      ​ 如果 表达式1是false,Java不会走表达式2,因为不论表达式2是true还是false,整体结果都是false,java会进行短路操作。

    • 如果是位运算,没有这种说法,两个表达式都会执行

public class Demo_07_逻辑运算符 {
	public static void main(String[] args) {
        //&&必须同时满足即为true
        //||满足一个即为true
		int gender = 1;//1为男生
		boolean b1 = (gender==1);
		int age = 25;
		System.out.println("是否符合招工条件:"+(gender==1&&age>20));
		System.out.println();
		
		
		System.out.println("====景点买票====");
		int age2 = 85;
		System.out.println("该游客是否满足免费入园:"+(age2<=6||age2>=80));
        
        //短路与
        System.out.println("------短路与-----");
		int age = 19;
        //表达式age>26为false,则整体为true,不会走第二个表达式
		System.out.println(age>26 && age++<40);
		System.out.println(age);
		System.out.println(age>26 & age++<40);
		System.out.println(age);
	}
}

三、关系运算符

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

关系运算符是有结果的,结果是boolean类型的

public class Demo_11_关系运算符 {
	public static void main(String[] args) {
		boolean b1 = 3>5;
		System.out.println(b1);
		System.out.println(3>=5);
		
		int a = 3;
		int b = 3;
		System.out.println("a是否大于b:"+(a>b));
		System.out.println("a是否等于b:"+(a==b));
		System.out.println("a是否不等于b:"+(a!=b));
		
		//字符串类型判断用.equals("")
		String sex = "男";
		System.out.println("孙庆钊是个男生:" + !sex.equals("男"));
		
		System.out.println("-----判断能够整除 判断两个数取余是否等于零-----");
		a = 20;
		b = 20;
		System.out.println("a和b取余能不能等于零:"+(a%b==0));
	}
}

四、赋值运算

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

public class Demo_09_赋值运算 {
	public static void main(String[] args) {
		int a = 5;
		a += 5;//a = a + 5;
		System.out.println(a);
		a++;//a = a + 1;
		System.out.println(a);
		a *= 5;//a = a * 5;
		System.out.println(a);
		a /= 5;//a = a / 5;
		System.out.println(a);
		a %= 5;//a = a % 5;
		System.out.println(a);
		
		System.out.println("=============");
		byte b1 = 8;
		b1 += 3;
		System.out.println(b1);
		
		b1 = (byte)(b1+3);//两byte相加,先默认转成int,所以需要强制转换
		
		System.out.println("-----  +=用在字符串上  -----");
		String str = "hello";
		str += "world";
		System.out.println(str);
	}
}

五、位运算

位运算:按位做运算

  • &:按位与
    • 如果都是1,结果是1;否则结果都是0
  • |:按位或
    • 如果都是0,结果是0;否则结果是1
  • ^:异或
    • 如果相同,则结果为0;如果不同,结果是1
  • >>:右移
    • 通常是/2
  • <<:左移
    • 通常是*2
  • >>>:无符号右移
    • 不管是正负,左侧(高位)都补0
public class Demo_08_位运算 {
	public static void main(String[] args) {
		int a = 5;
		int b = 6;
		System.out.println("按位与:" + (a&b));
		System.out.println("按位或:" + (a|b));
		System.out.println("按位异或:" + (a^b));
		System.out.println(b>>1);//右移一位 3
		System.out.println(b);//6 本身并没有发生改变
	}
}

六、三元运算符

格式:boolean表达式?值1:值2

public class Demo_10_三元运算符 {
	public static void main(String[] args) {
		int age = 5;
		System.out.println(age>10?1 :0);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值