逻辑运算
package operator;
//逻辑符运算
public class Demo5 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才是true
//&& 有假就假,全真才真
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才是true
//|| 有真就真,全假才假
System.out.println("a && b:"+!(a&&b));//如果是真,则为假;如果是假,则为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);//前面一个是假,那么就不会运算后面一个。
System.out.println(d);
System.out.println(c);
}
}
位运算
package operator;
public class Demo6 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 A和B比较,如果都是1为1,有一个是0为0
A|B = 0011 1101 A和B比较,如果都是0为0,有一个是1就是1
A^B = 0011 0001 相同为0,不同为1
~B = 1111 0010
2*8 如何最快运算?
<<(左移) 就是*2 >>(右移) 就是/2 ,一次是2次方,两次是3次方。
位运算效率极高
*/
System.out.println(2<<3);//其结果是16
}
}
扩展赋值运算符
+= -= *= /=
package operator;
public class Demo7 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b;//a=a+b
System.out.println(a);//结果为30
}
}
三元运算符
package operator;
public class Demo8 {
//三元运算符
public static void main(String[] args) {
// x ? y : z
int score = 100;
String type = score <60 ? "不及格" : "及格";//这属于比较偷懒的行为,但是必须掌握
System.out.println(type);//其结果为及格。
}
}
Java中的运算符(操作符)
程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。
为实现逻辑和运算要求,编程语言设置了各种不同的运算符,且有优先级顺序,所以有的初学者使用复杂表达式的时候搞不清楚。这里详细介绍一下Java中的运算符。
Java运算符很多,下面按优先顺序列出了各种运算符。
优先级 | 运算符分类 | 结合顺序 | 运算符 |
---|---|---|---|
由高到低 | 分隔符 | 左结合 | . [] ( ) ; , |
一元运算符 | 右结合 | ! ++ – - ~ | |
算术运算符移位运算符 | 左结合 | * / % + - << >> >>> | |
关系运算符 | 左结合 | < > <= >= instanceof(Java 特有) = = != | |
逻辑运算符 | 左结合 | ! && || ~ & | ^ | |
三目运算符 | 右结合 | 布尔表达式?表达式1:表达式2 例 学会了?进大公司:进工地搬砖 | |
赋值运算符 | 右结合 | = *= /= %= += -= <<= >>= >>>= &= *= |= |
包机制
- 为了更好的组织类,java提供了包机制,用于区别类名的命名空间。
- 包语句的语法格式为:package pkg1[.pkg2[.pkg3]……]
- 一般利用公司域名倒置作为包名:com.baidu.www
- 为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。使用"import"语句可以完成此功能
- import package1[.package2…].(classname|*);
尽量避免包里面的名字重复
package operator;
//*表示导入这个包下所有的类
import base.*;