目录

1.算术运算符

小数有可能会不精确,整数除以整数得整数
例子
package demo1;
public class Hello {
public static void main(String[] args) {
System.out.println(1+2);
System.out.println(1-2);
System.out.println(5/2);
System.out.println(5.0/2);
System.out.println(5%2);
System.out.println(1.1+1.01);
}
}

练习
从键盘输入一个三位数,将三个位拆分打印
package demo1;
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter Number");
int n=sc.nextInt();
int baiwei=n/100;
int shiwei=n/10%10;
int gewei=n%10;
System.out.println(n);
System.out.println(baiwei);
System.out.println(shiwei);
System.out.println(gewei);
}
}

不同种类型运算
类型的取值范围
byte<short<int<long<float<double
类型不一样,要转换,取值范围小的会转为取值范围大的,然后运算
byte,short,char三种类型运算会提升为int,再运算
char会转成ASCII表对应的值
隐式转换
系统自动提升
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
double b=a;
System.out.println(b);
}
}

b的结果是10.0,隐式转换,转成范围大的数据
package demo1;
public class Hello {
public static void main(String[] args) {
byte a=10;
byte b=6;
System.out.println(a+b);
}
}

结果是int
显示转换
把取值范围大的,赋值给取值范围小的变量
数据比较大,强转可能会错误

package demo1;
public class Hello {
public static void main(String[] args) {
double a=10.9999;
int b=(int)a;
System.out.println(b);
}
}

package demo1;
public class Hello {
public static void main(String[] args) {
byte a=100;
byte b=100;
byte result=(byte)(a+b);
System.out.println(result);
}
}

结果超过byte的取值范围了,取值范围出错
字符串的"+"
当+符号有字符串,那就是拼接了
package demo1;
public class Hello {
public static void main(String[] args) {
String a="100";
int b=100;
System.out.println(a+b);
}
}

连续加,从左到右执行
package demo1;
public class Hello {
public static void main(String[] args) {
System.out.println(1+99+"年");
}
}

易错
package demo1;
public class Hello {
public static void main(String[] args) {
System.out.println(1+99+"年"+1+99);
}
}

2.自增自减运算符
符号在前,就先运算
在后,就后运算
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
a++;
System.out.println(a);
++a;
System.out.println(a);
a--;
System.out.println(a);
--a;
System.out.println(a);
}
}

package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=a++;
System.out.println(a);
System.out.println(b);
}
}
a++,先赋值给b,再自增,所以b是10,a是11

package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=++a;
System.out.println(a);
System.out.println(b);
}
}
++a,先自增,再赋值给b,所以a是11,b是11

3.赋值运算符

运算后赋值,记得有转换类型,之前提到的规则不要忘
4.关系运算符

结果是布尔类型
==不要写成=,两个不一样
==是判断等不等
=是赋值的意思
5.逻辑运算符


1.&
有一个false,就为false
左右两边都要满足


2.|
有一个true,就为true
左右两边满足一个就可以


3.^
异或异或,异才是true
左右两边不一样


4.!
取反

5.&&
结果与&是一样的,区别是左边如果确定了结果,就不用执行右边了
用&&
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=20;
boolean result=a<0&&++b>10;
System.out.println(result);
//a<0为false,所以resul为false,因此不会执行右边,b为20
System.out.println(a);
System.out.println(b);
}
}
用&
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=20;
boolean result=a<0&++b>10;
System.out.println(result);
//a<0为false,所以resul为false,执行右边,b为21
System.out.println(a);
System.out.println(b);
}
}

6.||
用||
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=20;
boolean result=a<30||++b>10;
System.out.println(result);
//a<30为true,所以resul为true,不执行右边,b为20
System.out.println(a);
System.out.println(b);
}
}

用|
package demo1;
public class Hello {
public static void main(String[] args) {
int a=10;
int b=20;
boolean result=a<30|++b>10;
System.out.println(result);
//a<30为true,所以resul为true,不执行右边,b为20
System.out.println(a);
System.out.println(b);
}
}

6.三元运算符


package demo1;
public class Hello {
public static void main(String[] args) {
int a1 = 10;
int b1 = 120;
int result1 = a1 > b1 ? a1 : b1;
System.out.println(result1);
int a2 = 10;
int b2 = 20;
int c2 = 30;
int temp;
temp=a2>b2?a2:b2;
int result2=temp>b2?temp:b2;
System.out.println(result2);
}
}

优先级










![240719_图像二分类任务中图像像素值的转换-[0,255]-[0,1]](https://img-blog.csdnimg.cn/img_convert/d2329ea751eac6a1e2ae48c187e30470.png)








![[Vulnhub] TORMENT IRC+FTP+CUPS+SMTP+apache配置文件权限提升+pkexec权限提升](https://img-blog.csdnimg.cn/img_convert/ce2c0968ba8c640d418004e3f3004fc5.jpeg)

