day06

day06

运算符

  1. 算数运算符:+ , - , * , % , ++ , --
  2. 赋值运算符 =
  3. 关系运算符 > , < , >= , <= , == , != , instanceof
  4. 逻辑运算符 && , || , !
  5. 位运算符 & , | , ^ , ~ , >> , << , >>> (位运算符了解)
  6. 条件运算符 ? :
  7. 扩展赋值运算符 += , -= , *= , /=

1.算数运算符:+ , - , * , % , ++ , --

int a = 10;
int b = 20;
System.out.println(a+b);	//30
System.out.println(a-b);	//-10
System.out.println(a*b);	//200
System.out.println(a/b);	//0
System.out.println(a%b);	//0 取余,模运算
System.out.println(a/(double)b);	//0.5

// ++ -- 自增自减 一元运算符
int a = 3;
int b = a++;	//先把a值赋值给b,a在自增
System.out.println(a);	//a=4,b=5
int c = ++a;	//a先自增,再把值赋给b
System.out.println(a);	//a=5;c=5
System.out.println(b);
System.out.println(c);
//幂运算 2^3 = 2*2*2	很多运算,会使用工具类来操作
double pow = Math.pow(2,3);		//Math类有很多函数可以用,其中Math.pow 则代表幂运算
System.out.println(pow);

2. 赋值运算符: =

long a = 24115545245L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d);	//有高级变量类型如 Long double等参与基础运算则输出结果为高级变量
System.out.println(b+c+d);
System.out.println(c+d);	//其余基础运算输出结果为int,即使没有int变量参与

3.关系运算符

int a = 10;
int b = 20;
int c = 22;	//关系运算符 < > == != 结果为正确或错误,用布尔值存放
System.out.println(a>b);	//false
System.out.println(a<b);	//true
System.out.println(a==b);	//false
System.out.println(a!=b);	//true

4. 逻辑运算符 && || !

//与(and &&)或 (or ||) 非(not!)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));	//false 与运算:两个都为真才真
System.out.println("a || b:"+(a||b));	//true 或运算:一个为真则真
System.out.println("!(a && b):"+!(a&&b));	//true 非运算:真则为假,假则为真

//短路运算
int c = 5;
boolean d = (c<4)&&(c++<5);
System.out.println(d);	//false
System.out.println(c);	//输出c为5 说明在判断c<4为假后,直接得出与运算结果为假,并没有执行后面的c++

5. 位运算符 & , | , ^ , ~ , >> , <<

/*
A = 0011 1100
B = 0000 1101
---------------
位运算
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010

2*8 = 16  -->  2*2*2*2
<<左移 *2  >>右移 /2	位运算效率极高


0000 0000 	0
0000 0001	1
0000 0010	2
0000 0100	4
0000 1000	8
System.out.println(2<<3);	//16
*/

6.条件运算符 ?:

// ?:	x?y:z
//如果x为真,则结果为y,否则结果为z
int score = 80;
String type = score<60 ? "不及格" : "及格"
System.out.println(type);	//及格

7. 扩展赋值运算符

int a = 10;
int b = 20;
a+=b;	//a=a+b;
a-=b;	//a=a-b;
a*=b;	//a=a*b;
System.out.println(a);
//字符串连接符 +,String
System.out.println(""+a+b)	//1020
System.out.println(a+b+"");	//30
原文地址:https://www.cnblogs.com/vae-469395/p/13708681.html