1.赋值运算符
赋值运算符的种类
包括基本赋值运算符(=)和拓展值运算符(+=、-=、*=、/=、%=)
//基本的赋值运算符
int i;
i = 10;
System.out.println("i = " + i);//拼接
//拓展的赋值运算符
int x = 10;
x += 1; //等于x = x+ 1
System.out.println("x =" + x);
int y = 10;
y -= 1;//y = y - 1
System.out.println("y =" + y);
//*= /= %=
int n = 10;
n %= 3;//n = n % 3
System.out.println("n = " + n);//1
2.算数运算符
程序里的数学运算符和我们数学上的逻辑运算符其实是一样的
使用规则:
1.先乘除后加减
2.有括号的先计算
3.除数不为0zizi
// //算数运算符
// int a = 1;
// int b = 1;
// int c= a + b;
// System.out.println("c的值为:" + c);
int i= 5 % 3;
System.out.println("余数为:" + i);
// //前自增(++x) 前自减(--x)
// int a = 3;
// int b = ++a;//自增运算
// int c = 3;
// int d= --c;//自减运算
// System.out.println("a的值:" + a);
// System.out.println("b的值:" + b);
// System.out.println("c的值:" + c);
// System.out.println("d的值:" + d);
//前自增/前自减:先进行自增/自减运算,再进行表达式
//后自增(x++) 后自减(x--)
int a = 3;
int b = a++;//自增运算
int c = 3;
int d= c--;//自减运算
System.out.println("a的值:" + a);//4
System.out.println("b的值:" + b);//3
System.out.println("c的值:" + c);//2
System.out.println("d的值:" + d);//3
//后自增/后自减:先进行表达式,再去进行自增/自减运算,
自增/自减总结
x++/x--:
++x/--x:
3.关系运算符
演示:
int a = 10;
int b = 20;
System.out.println("a==b =" + (a == b));//False
System.out.println("a!=b =" + (a != b));//true
System.out.println("a>b =" + (a > 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));//False
/**
* = 与 == 的区别
* 1."=" 是赋值运算符 把右边的赋值给“=”左边的值
*
* 2.== 是关系运算符 “==”左值与右值比较,看是否相等,相等返回true 不相等返回false
*
*/
4.逻辑运算符
演示:
boolean a = true;
boolean b =false;
System.out.println("a && b" + (a && b));
System.out.println("a || b" + (a || b));
System.out.println("!(a && b) " + !(a && b));
System.out.println("a ^ b" + (a ^ b));
5.条件运算符
条件运算符( ? :)也称为 “三元运算符”
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的 值,否则返回 表达式2的值
//三元运算符
String str = (6>5) ? "6>5成立" : "6>5不成立";
System.out.println(str);
String str_ = (6>8) ? "6>8成立" : "6>8不成立";
System.out.println(str_);
6.运算符优先级
在一个表达式中,算数运算符的优先级是最高的,然后关系运算符次之,然后是逻辑运算符,最后是赋值运算符。我们可以通过分割符()来改变我们运算符的执行顺序。
案例一:
int a = 5,b = 4;
int c = a++ - --b * ++a / b--;
System.out.println(c);
//1.a++本次是5 下次是6
//2.5 - 3 * 7 / 3
强制类型转换分类
自动类型转换
1.指程序中包、类、接口、变量或者方法的名字
2.目标类型 大于源类型
强制类型转换
1.大类型要往小类型转换时需要(例:int 转)
语法:(数据类型)表达式
//新业务
int a = 5;
double b = 6.01;
// int c = a + b; 报错
//强制类型转换
int c = (int)(a + b);
System.out.println(c);
System.out.println(a + b);
/**
*
* 如果小类型转大类型 是不用管 程序会自动转
* 如果大类型转小类型 必须用到强制类型转换
*
* 自动类型转换的时候不会导致结果的精度丢失
* 而强制类型转换会导致结果的精度丢失
*/