栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day04

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day04

char类型可以在数学运算中隐式转换为整数;
基本数据类型,数值相等时,就相等。

char ch = 'a';
int i = 12;
double ii = 12.0;
System.out.println(i==ii);//true
i=i+ch;
System.out.println(i);//109
按位运算(二进制):

与运算(&)
前后两个数字转化为二进制,右侧对齐,上下比较,两者都为1则结果为1,有一个不为1则结果为0;

int a = 7 & 8; 
//7: 111
//8:1000
//a:0000 
System.out.println(a);//a = 0

或运算(|)
前后两个数字转化为二进制,右侧对齐,上下比较,两者有一个为1则结果为1,两者都为0则结果为0;

int b =7 | 8; 
//7: 111
//8:1000
//b:1111
System.out.println(b); //b = 1111 = 15

异或运算(^)
前后两个数字转化为二进制,右侧对齐,上下比较,两者相同为0,不同为1;

b = 7 ^ 8;
//7: 111
//8:1000
//b:1111
System.out.println(b);//b = 1111

右移 (>>) ,左移(<<)
1). A>>B A为要处理的数字,B为位移的位数,
2). 向右移,溢出的位数就丢失了。
3). 往左移,空出的位数补0。

int c = 15>>2;
System.out.println(c);//转化为二进制,右移两位
c = Integer.MAX_VALUE;
c = c<<31;
System.out.println(c);
System.out.println(Integer.MIN_VALUE);

>>> 与>> 的区别:
(>>):为有符号右移,正数右移时,高位补0,负数高位补1(负数以补码形式存储,所以不断右移的最终结果会为-1,因为补码 = 反码 -1)
(>>>):为无符号左移,无论正数负数高位都补零,符号位也跟着移动

int d = -1;
System.out.println(d>>1);
System.out.println(d>>>1);

结果:

## 三元运算符:
```java
String str = a > 12 ?  "true" : "false";

(&& ||)和(& |)的区别?
1.一个是逻辑运算符,一个是位运算符。
2.逻辑运算符只能针对布尔(Boolean)类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。
3.逻辑运输算符有“短路”情况,即前面的表达式可以得到最终结果时,后面的表达式不会被执行。

分支;判断语句:switch

if语句若后面不加括号只控制if后边的一行,多了不控制。
1.switch可以匹配什么类型?------整数(浮点型不可以,long类型不可以),字符(char),字符串,枚举。
2.case、default 书写顺序可以打乱
3.匹配所有的case项,若都不符合才会执行default。
4.匹配到某一个值,就是从该行开始运行,一直运行到break或代码块结束;

int a=12;
switch(a) {
	default:System.out.println("a为非0123的值:");
	case 0:System.out.println("a:"+0);
	case 1:System.out.println("a:"+1);
	case 2:System.out.println("a:"+2);
	case 3:System.out.println("a:"+3);
}

int a=2;
switch(a) {
	case 0:System.out.println("a:"+0);
	case 1:System.out.println("a:"+1);
	case 2:System.out.println("a:"+2);
	case 3:System.out.println("a:"+3);
	default:System.out.println("a为非0123的值:");
}

int a=2;
switch(a) {
	case 0:
		System.out.println("a:"+0);
		break;
	case 1:
		System.out.println("a:"+1);
	·	break;
	case 2:
		System.out.println("a:"+2);
		break;
	case 3:
		System.out.println("a:"+3);
		break;
	default:
		System.out.println("a为非0123的值:");
		break;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704272.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号