//算术运算符:+.-.*./.%.++.-- //赋值运算符:= //关系运算符:>.<.>=.<=.==.!=.instancef //逻辑运算符:&&.||.! //位运算符:&,|.^.~.>>.<<.>>>(了解!!!) //条件运算: ?.: //扩展赋值运算符:+=.-=.*=./= public class Demo1 { public static void main(String[] args) { //二元运算符 //ctrl+d:复制当前行到下一行 int a =10; int b =20; int c =25; int d =25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b);//0.5 System.out.println(a/b);
long a =123123123123123l; int b =123; short c =10; byte d =8; System.out.println(a+b+c+d);//long 如果运算中包括long类型运算最后一定是long类型 如果运算中包括double类型运算最后一定是double类型 System.out.println(b+c+d);//int 如果运算中没有long或double类型,无论运算中是否有int类型,最后一定是int类型。 System.out.println(c+d);//int 如果运算中没有long或double类型,无论运算中是否有int类型,最后一定是int类型。 cast转换的意思
//关系运算符的返回结果:正确 或错误 布尔值 int a =10; int b =20; int c =21; System.out.println(c%a);//c/a 21/10=2...1 //取余,也叫模运算 System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b);
// ++ -- 自增 自减 一元运算符 int a =3; int b =a++;//执行完这行代码后,先给b赋值,再自增。 // a++ a=a+1; System.out.println(a); // ++a a=a+1; int c =++a;//执行完这行代码前,先自增,再给b赋值。 System.out.println(a); System.out.println(a); System.out.println(b); System.out.println(b); System.out.println(c); System.out.println(c); //幂运算 2^3 2*2*2=8 //很多运算,我们会使用一些工具类来操作! Math 数学工具类 double pow = Math.pow(2, 3); System.out.println(pow);
//逻辑运算符 public class Dem05 { public static void main(String[] args) { // && 与 ||或 !非 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));//逻辑与运算:如果为真,则变为假,如果是假,则变为真。 //短路运算: int c =5; boolean d =c<4&&(c++<4); System.out.println(d); System.out.println(c);
/* A = 0011 1100 B = 0000 1101 ------------------------------------------------- A&B = 00001100 零零得零 零一得零 一一得一 A|B = 00111101 零零得零 零一得一 一一得一 A^B//亦或 = 00110001 如果上下两个数字相同为零不同为一。 ~B//非A及B =1111 0010 与B相反 2*8 = 16 2*2*2*2 << 左移*2 >>右移/2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */
int a =10; int b =20; a+=b;// a= a+b a-=b;// a= a-b System.out.println(a); //字符串连接符 + ("":这是一个字符串类型String) // 注意:+号左右只要有一个字符串类型 他就会把左右的都转化为字符串类型连接起来 System.out.println(a+b); System.out.println(""+a+b);//没计算直接连接 在后 System.out.println(a+b+"");//先计算在连接 在前
//三元运算符 public class Demo8 { public static void main(String[] args) { //x ? y : z //如果x==true,则结果为y,否则结果为z int score = 80; String type = score <60 ? "不及格":"及格";//必须掌握 System.out.println(type); //优先级()
数字越小优先级越高