逻辑,为,字符串,及三元运算

逻辑运算符

Day05 base Day09

	//与(and)  或(or)  非(取反)
		boolean a = true;
		boolean b = false;
		
		System.out.println("a && b: "+(b&&a));//逻辑与运算:两个变量都为真,结果才为true
		System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果就为true
		System.out.println("!(a && b):"+!(a&&b));//如果是真,则为假,如果为假则为真,

字符串中+号是连接符

得出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tt1CfBZ5-1613472882196)(I:\Java图片\逻辑 位运算符\1.PNG)]

a && b:逻辑与变量:两个运算符都为真,结果才为true(真)

a || b:逻辑或变量:两个变量一个为真,则结果为true(真)

!(a&&b):如果为真,则为假,如果为假则为真

短路运算

//短路运算
		int c = 5;
		boolean d = (c<4)&&(c++<4);
		System.out.println(d);
		System.out.println(c);	

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LCnnFBEn-1613472882200)(I:\Java图片\逻辑 位运算符\2.PNG)]

在逻辑与变量中,两个运算符都必须是真的,结果才能是true

如果第一个是假的,那么他就不会计算后面的了,我们称为短路运算

举个例子,就像图中的代码

c = 5 ;

d (c<4)&&(c++<4);

c小于4是错误的

运算一下就会得出

false和5

如果运行了c++<4的话 那么c就应该等于6而不是5

很明显,计算第一个为假的时候,就不会计算第二个

位运算符

Day05 base Day10

/*
	 * A = 0011 1100  
	 * B = 0000 1101
	 * 
	 * ----------------------------
	 * A&B = 0000 1100 2个为1才为1,否则都为0
	 * A|B = 0011 1101 2个为0才为0,否则都为1
	 * A^B = 0011 0001 相同则为0,否则都为1
	 * ~B = 1111 0010   与A相反,0为1 1为0

左移,右移

* 2*8 = 16     2
	 * 效率高!!!
	 * <<(左移)    *2
	 * 
	 *     >>(右移)   /2
	 *   
	 * 
	 * 0000 0000      0
	 * 0000 0001      1
	 * 0000 0010      2
	 * 0000 0011      3
	 * 0000 0100      4
	 * 0000 1000      8
	 * 0001 0000      16
	 * 
    System.out.println(2<<3);

左移<< 就是将数字往左移动一位

0000—0000移动一位就是 0000—0010

0000—0010在往左移动一位就是0000—0100

以此推类

System.out.println(2<<3);

就是0000_0010向左移动3位 就是0001_0000

就是等于16了

扩展赋值运算符

Day11

	int a = 10;
		int b = 20;
		int c = 20; 
		a+=b; //a=a+b
		c-=b; //a=a+b
		System.out.println(a);
		System.out.println(c);

a+=b;其实就是a=a+b 就是省略了一小部分

字符串

	int a = 10;
		int b = 20;
		int c = 20; 
		a+=b; //a=a+b
		c-=b; //a=a+b
		System.out.println(a);
		System.out.println(c);
		
		
		//字符串连接符   +   , String
		System.out.println(""+a+b);
		//字符串在前面,会拼接,字符串在后面,前面依旧进行运算
		System.out.println(a+b+"");

(""+a+b)的得数为3020

(a+b+"")的得数为50

字符串在前面,后面会进行拼接,字符串在后面,前面的依旧运算

三元运算符

	//三元运算符
		//x ? y:  z
		//如果x==true 则结果为y, 否则结果为z
		
		
		int score = 80;
		String type = score <60 ?"不及格":"及格";//必须掌握
		//if 
			System.out.println(type);

三元运算如果这个数达到条件则结果为Y,否则为z

意思是 这个数score = 80

那么String type = score <60

这个数如果小于60 那么结果为?"不及格“

如果大于60.那么结果为:“及格“

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值