Java 运算符
- 算术运算符:= 、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:<、 >、>=、<=、==、!= instanceof
- 逻辑运算符:&& || !
- 位运算符:&, |, ^, ~、>>、<<、>>>(了解!!!)
- 条件运算符:?:
- 扩展赋值运算符:+= -= *= /=
2二元运算符
idea 编译器 Ctrl + D 复制当前行到下一行
int a = 10;
int b = 20;
int d = 30;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//强制转换 转换为double 如果不转换则为0 遵循四舍五入原则
优先级
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
package day02;
/**
• @Author: 阿波罗
• @Date: 2021/11/21 19:13
• @oath: 不分白天黑夜的征途 淦!
• @Version: 1.0.0
*/
public class Demo11 {
public static void main(String[] args) {
long a = 12332313123L;
int b = 123;
short c = 10;
byte d = 8;
// 低的向高的运算 数据类型自动转换 优先级 高先
System.out.println(a+b+c+d);//Long 优先级 高先 所以为Long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
}
常用 ++ 自加 、 – 自减
package day02;
/**
• @Author: 阿波罗
• @Date: 2021/11/22 15:08
• @oath: 不分白天黑夜的征途 淦!
• @Version: 1.0.0
*/
public class Demo13 {
public static void main(String[] args) {
//逻辑运算符
//&&(与 and) ||(或 or) ! (非 取反)
boolean a = true;
boolean b = false;
System.out.println(a&&b);//两个变量为真,结果才为真 true
System.out.println(a||b);//两个变量 有一个为真 则为真 true
System.out.println(!(a&&b));//取反 真则为假 假则为真
}
}
逻辑运算符 &&(与 and) ||(或 or) ! (非 取反)
package day02;
/**
* @Author: 阿波罗
* @Date: 2021/11/22 15:08
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class Demo13 {
public static void main(String[] args) {
//逻辑运算符
//&&(与 and) ||(或 or) ! (非 取反)
boolean a = true;
boolean b = false;
System.out.println(a&&b);//两个变量为真,结果才为真 true
System.out.println(a||b);//两个变量 有一个为真 则为真 true
System.out.println(!(a&&b));//取反 真则为假 假则为真
//路运算
int c = 5;
boolean d = (c<4)&&(c++<4);//c<4 c是5 所以c并不小于4 所以不会执行 c++<4 ((true)&&()) 为真才执行后面的语句
System.out.println(c);
System.out.println(d);
}
}
---
+= -+ *= /= 扩展运算符
package com.whs.day02;
/**
* @Author: 阿波罗
* @Date: 2021/11/22 17:02
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class Demo15 {
public static void main(String[] args) {
// += -+ *= /= 扩展运算符
int a = 10;
int b = 20;
b+=a;//b=b+a; ---> b=2+1; 初学不建议使用 这属于偷懒
System.out.println(b);// 输出---》 30
//字符串连接符 + 只要有一方是String类型它(+) 都会转换为字符串类型 从而进行拼接 但字字符串在后面就不会变为拼接
System.out.println(a+b+"啦啦啦"); // 输出---》 40 b=30+10
System.out.println(""+a+b);// 输出-----》 1030 这里就是拼接得出的
}
}
面试会涉及到的位运算
//位运算
/*
* A=0011 1100
* B=0000 1101
* ------------------------------------------------------------------------------------------------------
* A&B = 0000 1100 真真为真(1<->1)1 真假为假(1<->0)0 假假为假(0<->0)0 全真则才为真 与
* A|B = 0011 1101 假假为假(0<->0)0 真假为真(1<->0)1 真真为真(1<->1)1 只要有个为真结果都为真 或
* A^B = 0011 0001 00->0 01->1 10->1 11->0 相同为0不同为1 (同0异1) 异或
* ~B = 1111 0010 0->1 1->0 真为假 假为真 取反
package day02;
/**
* @Author: 阿波罗
* @Date: 2021/11/22 15:41
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class Demo14 {
public static void main(String[] args) {
//位运算
/*
* A=0011 1100
* B=0000 1101
* ------------------------------------------------------------------------------------------------------
* A&B = 0000 1100 真真为真(1<->1)1 真假为假(1<->0)0 假假为假(0<->0)0 全真则才为真 与
* A|B = 0011 1101 假假为假(0<->0)0 真假为真(1<->0)1 真真为真(1<->1)1 只要有个为真结果都为真 或
* A^B = 0011 0001 00->0 01->1 10->1 11->0 相同为0不同为1 (同0异1) 异或
* ~B = 1111 0010 0->1 1->0 真为假 假为真 取反
* */
}
}
#三目运算符 (:?) x ? y : z —> 如果 x==true, 则结果为y ,否则结果为false
package com.whs.day02;
/**
* @Author: 阿波罗
* @Date: 2021/11/22 17:19
* @oath: 不分白天黑夜的征途 淦!
* @Version: 1.0.0
*/
public class Demo16 {
public static void main(String[] args) {
//三目运算符 (:?) x ? y : z ---> 如果 x==true, 则结果为y ,否则结果为false
int cate = 80;
String type = cate<60 ?"不及格":"及格";//必需掌握 开发中常用
System.out.println(type);
// 到这里基础已经学完
}
}