版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102930781
位运算符
- 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
- 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果 也为int
代码示例
代码语言:javascript复制package com.cwl.base.day01;
/**
* @program: java_base
* @description: 位运算符
* @author: ChenWenLong
* @create: 2019-11-05 15:09
**/
public class TestOperator04 {
public static void main(String[] args) {
int a = 3;
int b =4;
System.out.println(a&b);
System.out.println(a|b);
System.out.println(a^b);
System.out.println(~a);
//移位
int c = 3<<2;
System.out.println(c);
System.out.println(12>>1);
}
}
条件运算符
- 语法格式
- x ? y : z
- 唯一的三目运算符
- 执行过程
- 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值
package com.cwl.base.day01;
/**
* @program: java_base
* @description: 条件运算符(三元运算符)
* @author: ChenWenLong
* @create: 2019-11-05 15:10
**/
public class TestOperator06 {
public static void main(String[] args) {
int score = 80;
int x = -100;
String type = score<60?"不及格":"及格";
System.out.println(type);
if(score<60){
System.out.println("不及格");
}else{
System.out.println("及格");
}
System.out.println(x > 0 ? 1 : (x == 0 ? 0 : -1));
}
}
运算符的优先级
- 不需要去刻意的记优先级关系
- 赋值<三目<逻辑<关系<算术<单目
- 理解运算符的结合性
字符串运算符
代码语言:javascript复制package com.cwl.base.day01;
/**
* @program: java_base
* @description: 字符串运算符
* @author: ChenWenLong
* @create: 2019-11-05 15:10
**/
public class TestOperator05 {
public static void main(String[] args) {
String a = "3";
int b = 4;
int c = 5;
char d = 'a';
System.out.println(a b c);
System.out.println(b c a);
System.out.println(d 4); //97 4=101
}
}