逻辑运算符
package com.Hape.Operator;
public class Demo06 {
public static void main(String[] args) {
//位运算
/*
A= 0011 1100
B= 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001 相同为0,不同为1
~B = 1111 0010、
<<左移 >>右移
*/
//左移右移面试题
//计算2*8的最快方法
/*
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);
// <<相当于 *2 >>相当于 /2
//位运算效率极高
}
}
package com.Hape.Operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);
//字符串连接符 + , String
System.out.println(a+b);
System.out.println(""+a+b);//有字符串,都变为String类型
System.out.println(a+b+"");
/*
字符串在前面,转变为String类型
字符串在后面,仍然运算
字符串在后面,仍然运算
*/
}
}
package com.Hape.Operator;
//导入包
//import package1.package2.classname;(导入单个类)
//import package1.package2.*;(*是通配符,导入包下所有的类)
public class Demo08 {
public static void main(String[] args) {
//三元运算符
//x ? y : z
//如果x==true,则结果为y,否则为z
int score = 80;
String type = score < 60?"不及格":"及格";//虽然有if,但必须掌握,可以让代码更加精简
System.out.println(type);
}
}