java第二模块算数运算符、逻辑运算符,关系运算符、赋值运算符和进制转换

第二模块

一、运算符

  1. 算数运算符 网课p63-p64 大约30min

+、-、*、/、%、++、--  、%

System.out.println(10 % 3); //1

System.out.println(10 % -3);

System.out.println(-10 % 3);

System.out.println(-10 % -3);

%的本质( a % b = a - a / b * b )

++

前++:++i 先自增后赋值

后++:i++ 先赋值后自增

int i = 5;

System.out.println(i++); //5

System.out.println(i); //6

System.out.println(++i); //7

--

前--:--i 先自减后赋值

后--:i-- 先赋值后自减

int i = 5;

System.out.println(i--); //5

System.out.println(i); //4

System.out.println(--i); //3

eg:

int j = 8;

int k = ++j;

System.out.println(k); //9

System.out.println(j); //9

int i = 1;

i = i++;

System.out.println(i); //2

int i = 1;

i = ++i;

System.out.println(i); //2

  1. 关系运算符 网课p69-p70 大约10min

==、!=、<、>、<=、>=、instanceof

注意:关系运算符的结果都是 boolean 型,true / false

比较运算符"=="不能误写成"="

  1. 逻辑运算符  网课p70-p73 大约40min 建议多看几遍

&&、&、||、|、!

a&b: & 叫逻辑与:当 a b 同时为 true ,则结果为 true, 否则为 false

a&&b: && 叫短路与:当 a b 同时为 true ,则结果为 true,否则为 false

a|b : | 叫逻辑或:当 a b ,有一个为 true ,则结果为 true,否则为 false

a||b : || 叫短路或:当 a b ,有一个为 true ,则结果为 true,否则为 false

!a: 叫取反,当 a true, 则结果为 false, a false 是,结果为 true

&和&&的区别

&&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false

&逻辑与:不管第一个条件是否为 false,第二个条件都要判断

&&短路与的效率高,&逻辑与的效率低

||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true

|逻辑或:不管第一个条件是否为 true,第二个条件都要判断

||短路或的效率高,|逻辑或的效率低

eg:

int x = 5; //6

int y = 5; //6

if(x++ == 6 & ++y == 6){

x = 11;

}

System.out.println(x=+ x + y= + y); //5,5 //6,6

int x = 5;

int y = 5;

if(x++ == 6 && ++y == 6){

x = 11;

}

System.out.println(x=+ x + y= + y); //6,6 //6,5

int x = 5;

int y = 5;

if(x++ == 5 | ++y == 5){

x = 11;

}

System.out.println(x=+ x + y= + y); //11,6

int x = 5;

int y = 5;

if(x++ == 5 || ++y == 5){

x = 11;

}

System.out.println(x=+ x + y= + y); //11,5

boolean x = true;

boolean y = false;

int z = 46;

if((z++ == 46) && (y = true)){ //47

z++; //48

}

if((x = false) || (++z == 49)){ //49

z++; //50

}

System.out.println(z); //50  

System.out.println(x); //f

System.out.println(y); //t

  1. 赋值运算符   网课p76-p77 大约10min

=、+=、-=、*=、/=、%=

复合赋值运算符等价于

a += 3;  <=>  a = a + 3;

复合赋值运算符会进行类型转化

  byte b = 2;

b += 3; //等价于b = (byte)(b + 3)

b++; //等价于 b = (byte)(b + 1)

  1. 三元运算符   网课p78-p79 大约20min

条件表达式 ? 表达式1 : 表达式2;

如果条件表达式为true,执行表达式1

如果条件表达式为false,执行表达式2

eg:

int a = 10;

int b = 99;

int x = a < b ? a++ : b--;

System.out.println(“x= ” + x); //10

System.out.println(“a= ” + a); //11

System.out.println(“b= ” + b); //99

求两个数的最大值?

求三个数的最大值?

  1. 进制   网课p87-p97 大约40min

二进制:满2进1,以0b或0B开头表示

eg:0b1010

十进制:满10进1

八进制:满8进1,以数字0开头表示

eg:01010

十六进制:满16进1,以0x或0X开头表示

eg:0x1010

2进制、8进制、16进制转10进制

10进制转2进制、8进制、16进制

8进制、16进制转2进制

2进制转8进制、16进制

注:(2进制从低位到高位,3位代表一个8进制数)

(2进制从低位到高位,4位代表一个16进制数)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值