数值运算符
package operator; //这个不能删,代表当前的包 运算符 算术运算符
public class Demo01 {
public static void main(String[] args) {
//把只有两个数相加,如a+b叫做二元运算符
//Ctrl+d:复制当前行到下一行
int a = 10;
int b = 20;
int c = 30;
int d = 40;
int e = 22;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b); //a/b输出的是0,其实是0.5,所以我们要想要有小数点要加一个double
System.out.println(e%a); //"%"表示取余,输出的是2,因为22除以10余2.也叫做模运算
}
}
package operator;
//不一样类型的加减乘除
//由于java是强类型,语言所以要进行运算的时候,需要用到类型转换,类型转化低—高
//byte->short->char->int->long->float->double
public class Demo02 {
public static void main(String[] args) {
long a = 12312345612222L;
int b = 123;
short c = 10;
byte d = 5;
double e = 4.0;
System.out.println(a+b+c+d); //输出结果还是long类型(如果有多个不一样类型加减的话,若是其中有long类型,那么结果是long类型)
System.out.println(b+c+d); //输出的结果int类型(如果没有long类型的时候,结果将为int类型,无论是不是有int操作)
System.out.println(c+d); //输出是int
System.out.println((double)c+d); //可以转成double类型(低-高)不可以转化为string,单词cast:转换
System.out.println(d+e); //输出的是double类型,如果相加的类型里面是double,那么结果一定是double
}
}
package operator;
//关系运算符
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果是正确或者错误,通过布尔值来表示
int a = 10;
int b = 20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b); //注意关系运算符中的“==”是java中的等于是2个“=”。
System.out.println(a!=b);
}
}
package operator;
//自增,自减运算符
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减运算符 相当于 一元运算符
int a = 3;
int b = a++;
int c = ++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
package operator;
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean 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)); //如果是真则变为假,如果是假则变为真
//短路运算
int c = 5;
boolean d =(c<4)&&(c++<4);//因为c<4是错的,所以会造成d根本不会执行后面的
System.out.println(c);
System.out.println(d);
}
}
package operator;
//位运算
public class Demo06 {
public static void main(String[] args) {
/*
A= 0011 1100
B= 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B =0011 0001(如果两个相同则为0,不同则为1)
~B = 1111 0010(取反)
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
*/
System.out.println(2<<3); //结果是16
}
}
package operator;
//扩展赋值运算符:+= -= *= /=
public class Demo07 {
public static void main(String[] args) {
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+""); //输出的结果是30,如果空字符串在后面则会进行运算
System.out.println(""+a+b); //输出的结果是1020,如果字符串在前面,后面会进行拼接
}
}
package operator;
//三元运算符(条件运算符) ? :
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score<60 ? "不及格" : "及格";
System.out.println(type);
}
}