Java基本表达式

  -63(10)= - 011 1111 = 11000001(补)=c1
-4(10)=- 000 0100 = 11111100(补)=fc

byte b = (byte)0xfc;

-63 11000001
* -4 11111100
-----------------------------------------
00000000
00000000
11000001
11000001
11000001
11000001
11000001
11000001

-----------------------------------------
11111100 -4

127 +1 = 01111111 + 1 = 10000000 = -128

数学运算
1 同种类型参与运算,得到同种类型结果
2 小于32位数据按照32位int运算
3 Java不检查向上向下溢出问题!
4 整数除法是整除

取余(取模) %
3%2 -> 1
0%5 -> 0
3%5 -> 3
-1%5 -> -1

赋值运算
1 赋值运算是表达式
2 赋值表达式是有结果的,是那个赋值的结果
3 不建议使用晦涩难懂的表达式。

int a = 4;
a*=4 <=> a = a * 4;
int b = 2*(a*=4);

关于书
Java编程思想 Think in Java
Java核心技术 CoreJava

++ --
1 i++ 后++:先取i的值作为整个表达式的值,然后+1;
2 ++i 先++:先i+1, 然后取i的值作为整个表达式的值

int a = 2;
int b = a++;
b = ++a;
a=a++;

条件表达式:
int rows = 28;
int size = 10;
int pages = rows%size==0 ?
rows/size : rows/size+1;

位运算:
& 按位与 1&1 = 1, 0&1 = 0, 1&0=0 0&0=0
| 按位或 1|1 = 1, 0|1 = 1, 1|0=1 0|0=0
~ 取反
int i = ~-1;
<< 左移位 00000010 << 3 00010000
int i = 2;
int n = i<<3; // n=i*2*2*2;
数学右移(保持符号位不变)
>> 00000010 >> 1 00000001
11111101 >> 1 11111110
无符号移位,高位永远填0
>>> 11111101 >>> 1 01111110
int i = -1;
i = i >> 1;//-1
i = i>>>1; // 最大值

从控制台读取字符:
Scanner console = new Scanner(System.in);
String str = console.nextLine();
char c1 = str.charAt(0);
char c2 = str.charAt(1);

掩码运算是一种特殊的取余运算
i & 0xf -> i%16
i & 7 -> i%8
i & 3 -> i%4
i & 1 -> i%2

//&& || 运算是短路运算, 常用的
int a = 1;
//短路运算,第一个表达式是false,第二个不再运行
boolean b = a!=1 && a++ == 2;
b = a==1 || a++==2;
System.out.println(a);
// & | 是非短路运算
//非短路运算,即使第一个表达式是false,
// 第二个也运行
b = a!=1 & a++ == 2;
b = a==1 | a++ == 2;
System.out.println(a);

作业:
1 复习课堂代码,添加输出语句输出变量的值。
2 实现拆分颜色功能:
如: 0xffffff -> 255 255 255
0xB29D5A -> 178 157 90
3 实现从控制台输入 两个中文,拼接成一个整数
然后再拆分输出
4 实现从控制台输入 4个英文,拼接成一个整数
然后再拆分输出
5 实现华氏度<->摄氏度转换
c = 5(f-32)/9
f = 9c/5+32
如:27C -> 81F, 96F->36C
要求:从控制台输入华氏或者摄氏温度,输出转换结果
转换结果要求四舍五入



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值