JAVA基础课程(第三天)
程序员文章站
2022-06-22 09:52:17
...
JAVA基础课程
第三天
1.运算符
定义:用以表示数据的运算,赋值和比较等。
算术运算符:
/**
* 〈算术运算符〉
* +(正) -(负),+(加) -(减) *(乘) /(除) (前)++,(后)++, (前)--,(后)--
* @author PitterWang
* @create 2020/4/19
* @since 1.0.0
*/
public class AriTest {
public static void main(String[] args) {
int num1 = 12;
int num2 = 5;
int num3 = -12;
int num4 = -5;
/**
* 除法运算
*/
int re1= num1/num2; //2.0
double re2 = num1/num2; //2.0
double re3 = num1/num2 + 0.0; //2.0
double re4 = num1/(num2 +0.0); //2.4
double re5 = (double) (num1/num2); //2.0
double re6 = (double)num1 / num2; //2.4
/***
* 取模运算
* 结果的符号和被模的符号相同
*/
int re7 = num1 % num2;
int re8 = num3 % num2;
int re9 = num3 % num4;
int re10 = num1 % num4;
System.out.println(re7); // 2
System.out.println(re8); // -2
System.out.println(re9); // -2
System.out.println(re10); // 2
/**
* 前++ 先自增,后运算
* 后++ 先运算,后自增
* 不会改变本身变量的数据类型
*/
int a1 = 10;
int b1 = ++a1;
int a2 = 10;
int b2 = a2++;
System.out.println("a1 = " + a1 + ", b1 = " + b1);
System.out.println("a2 = " + a2 + ", b2 = " + b2);
}
}
//a1 = 11, b1 = 11
//a2 = 11, b2 = 10
赋值运算符 :
符号: = ,(+=, -=, %=, *=) (不会改变本身变量的数据类型)
比较运算符 :
符号:==, !=, >,<,>=,<=,instanceof
逻辑运算符:
&逻辑与,&&短路与,|逻辑或,||短路或,!非,^逻辑异或
&逻辑与,&&短路与 :运算结果相同。不同的是,如果符号左边时false时,&会执行右边的运算,而&&不会执行。
|逻辑或,||短路或 :运算结果相同。不同的是,如果符号左边是true,|会执行右边的运算,而||不会执行。
位运算符:
<<(左移), >>(右移), <<<无符号右移, &(与运算),|(或运算), ^(异或运算),~(取反运算)
直接对二进制进行运算。
操作的都是整形的数据,
<<:在一定访问内,每向左移1位,相当于 *2,被移除的高位丢弃,空缺位补0.
>>:在一定访问内,每向右移1位,相当于 /2, 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
原来数字 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
左移(<<2) | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
左移(>>2) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
<<<无符号右移 被移位的二进制最高位无论是0或者是1,空位都用0补。
&(与运算):只有1&1时结果时1,否则是0.
|(或运算):0|0是0,否则都是1。
^(异或运算):相同时0.不同是1.
~(取反运算)
三元运算符
1.结构:条件表达式?表达式1:表达式2
2.说明:条件表达式为boolean类型,如果条件表达式为真,则执行表达式1,否者执行表达式2.
2.运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |