java学习笔记:运算符

目标:

  • 运算符
  • 语句

运算符:就是对常量和变量进行操作的符号

  • 算数运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符 

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

算数运算符的应用:

class OperatorDemo {
	public static void main(String[] args) {
		System.out.println("-----------------------------");
		// 定义变量
		int x = 3; // 把3赋值给int类型的变量
		int y = 4;
		
		System.out.println(x+y);
		System.out.println(x-y);
		System.out.println(x*y);
		System.out.println(x/y); // 整数相除只能得到整数
		
		// 只需把操作的数据中任意的一个数据变为浮点数
		System.out.println(x*1.0/y);
		
		// %的应用,获取的是余数。
		System.out.println(x%y);
		System.out.println("-----------------------------");
		
		// ++,--的应用:对变量进行自增或者自减
		System.out.println("x:"+x+",y:"+y);
		// 单独使用
		x++;
		y--;
		System.out.println("x:"+x+",y:"+y);
		
		System.out.println("-----------------------------");
		
		++x;
		--y;
		System.out.println("x:"+x+",y:"+y);
		System.out.println("-----------------------------");
		
		// 参与运算使用
		int a = 3;
		int b = 4;
		
		// int c = a++;
		// int d = b--;
		int c = ++a;
		int d = --b;
		
		System.out.println(a); // 4 4
		System.out.println(b); // 3 3
		System.out.println(c); // 3 4
		System.out.println(d); // 4 3
		
	}
}

注意事项:

  • 整数相除只能得到整数,如果想得到小数,必须把整数变化为浮点数类型
  • “/” 获取的是除法操作的商,“%” 获取的是除法操作的余数 
  • ++,--运算的使用:
    • 单独使用:
      • 放在操作数的前面和后面效果一样
    • 参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算
      • 放在操作数的后面,先参与运算,在自增或者自减

赋值运算符: 基本的赋值运算符(=),扩展的赋值运算符(+=,-=,*=,/=,%=)

赋值运算符应用:

/* 
	赋值运算符:
		基本的赋值运算符:=
			把右边的数据赋值给左边的变量
		扩展的赋值运算符:+=,-=,*=,/=,%=
			+= 把左边和右边的做加法,然后复制给左边的变量
*/
class OperatorDemo1 {
	public static void main(String[] args) {
		// 定义一个变量
		int x = 10;
		
		// 其他用法
		int a,b;
		a = b = 10;
		System.out.println(a);
		System.out.println(b);
		
		// 定义一个b
		int y = 10;
		y += 20;
		System.out.println(y);
	}
}

注意:扩展的赋值运算符其实隐含了一个强制类型转换。(short s=1;)s+= 1 不是等于s = s + 1,而是等价于s = (s的数据类型)(s + 1);

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

 比较运算符的应用:

/*
	比较运算符:
		==,!=,>,>=,<,<=
	特点:
		无论你的操作是简单还是复杂,结果是boolean类型
    注意事项:
        “==” 不能写成 “=”
*/
class OperatorDemo2 {
	public static void main(String[] args){
		int x = 3;
		int y = 4;
		int z = 3;
		
		System.out.println(x == y);
		System.out.println(x == z);
		System.out.println((x+y) == (x+z));
		
		System.out.println(x != y);
		System.out.println(x > y);
		System.out.println(x >= y);
		System.out.println(x < y);
		System.out.println(x <= y);
	}
}

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

&,|,^,!的应用:

/*
	逻辑运算符:
		&,|,^,!
		&&,||
	特点:
		逻辑运算符一般用于布尔类型的表达式或者值。
	结论:
		&逻辑与:有false则false
		|逻辑或:有true则true
		^逻辑异或:相同为false,不同为true(自己实验)
		!逻辑非:非false则true,非true则false(自己实验)
*/
class OperatorDemo {
	public static void main(String[] args){
		int a = 3;
		int b = 4;
		int c = 5;
		
		// &
		System.out.println((a>b) & (a>c)); // false & false = false
		System.out.println((a>b) & (a<c)); // false & true = false
		System.out.println((a<b) & (a>c)); // true & false = false
		System.out.println((a<b) & (a<c)); // true & true = true
		
		// |
		System.out.println((a>b) | (a>c)); // false | false = false
		System.out.println((a>b) | (a<c)); // false | true = true
		System.out.println((a<b) | (a>c)); // true | false = true
		System.out.println((a<b) | (a<c)); // true | true = true
	}
}

 &&,|| 的应用:

/*
	&& 与 & 的区别:
		最终结果是一样的
		&&具有短路效果,左边是false右边不执行
	开发中常用的逻辑运算符为&&和||
*/
class OperatorDemo1 {
	public static void main(String[] args){
		int a = 3;
		int b = 4;
		int c = 5;
		
		// &&
		System.out.println((a>b) && (a>c)); // false & false = false
		System.out.println((a>b) && (a<c)); // false & true = false
		System.out.println((a<b) && (a>c)); // true & false = false
		System.out.println((a<b) && (a<c)); // true & true = true
		
		int x = 3;
		int y = 4;
		
		// boolean b1 =(x++ == 3 & y++ == 4);
		// boolean b1 =(x++ == 3 && y++ == 4);
		// boolean b1 =(++x == 3 & y++ == 4);
		boolean b1 =(++x == 3 && y++ == 4);
		System.out.println("x:"+x);
		System.out.println("y:"+y);
		System.out.println(b1);
	}
}

位运算符:

 &,|,^,~的应用:

/*
	位运算符:
		&,|,^,~
		<<,>>,>>>
	
	注意:位运算时,要将数字转换为二进制
	分析:因为是位运算,所以我们必须先把数据换算成二进制
	3的二进制:00000000 00000000 00000000 00000011
	4的二进制:00000000 00000000 00000000 00000100
	&位与运算:有0则0.
			 00000000 00000000 00000000 00000011
			&00000000 00000000 00000000 00000100
			------------------------------------
			 00000000 00000000 00000000 00000000
			 结果为:0
	
	~按位取反运算符:0变1,1变0
			 00000000 00000000 00000000 00000011
			~11111111 11111111 11111111 11111100(补码)
			 11111111 11111111 11111111 11111011(反码)
			 10000000 00000000 00000000 00000100(原码)
			 结果为:-4
*/
class OperatorDemo2 {
	public static void main(String[] args){
		// &,|,^,~
		int a = 3;
		int b = 4;
		
		System.out.println(3 & 4);
		System.out.println(3 | 4);
		System.out.println(3 ^ 4);
		System.out.println(~3);
	}
}

三目运算符:

格式:

  • (比较表达式)?表达式1:表达式2;
  • 如果条件为真,则结果是表达式1;
  • 如果条件为假,则结果是表达式2;
/*
	三目运算符:
		格式:比较表达式?表达式1:表达式2;
*/
class OperatorDemo4 {
	public static void main(String[] args){
		int x = 100;
		int y = 200;
		
		int z = (x > y)?x:y;
		System.out.println(z);
	
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值