计算机数据的存储
1.计算机是以补码的形式存储的,区分正负看最高位,0代表正,1代表负
2.正数:补码和反码相同,
负数: 反码→符号位不变+其余反码取反,补码:反码加一
3.从计算机存储的数据取出来
计算机是以补码的形式存储,区分正负看最高位,0代表正,1代表负
负数的推算:补码-1→反码→符号位不变取反→当前绝对值
位运算
1.常见位运算:<<:有符号左移、>>有符号右移、>>>无符号右移、&:按位与、|:按位或、~:取反、^:异或
<<左移:格式→操作数<<移动的位数 例如:3<<2
规格(局限):一个数向左移动多少位,就乘与2的多少次幂
左移:向左移动,空位补0
>>右移:格式→操作数>>移动的位数 例如:3>>2
规格(局限):一个数向右移动多少位,就除与2的多少次幂
右移:如果是0补0,如果是1补1
>>>无符号右移:格式→操作数>>>向右移动的位数 例如:3>>>2
注意:无论最高位是0还是1都补0
其它运算符:&:按位与,|:按位或,~:取反,^:异或(相同为0,相异为1)
文本扫描
1.面向对象:找“对象”解决问题。
2.Scanner由Java提供,在Java.util.Scanner提供
3.功能:解析基本类型和字符串的简单文本扫描,将键盘输入的内容获取到程序中,并转换成对应的数据类型。
4.细节:
①创建对象:Scanner sc = new Scanner(System.in);
②导包:import java.util.Scanner;
③功能使用:方法的调用→ 对象名称.方法名称 例如:sc.nextInt();
④常见方法:nextInt()→ 转换为int类型数据
nextXxxx()→ 除了char基本类型外,其它基本类型在next后面首字母大写
next()→ 转换String字符串类型
流程控制语句
1.结构顺序:代码由上到下,按顺序执行。
2.分支结构:多选一
选择结构:if-else,switch-case
3.循环结构:反复执行的操作,for、while,do-while
5.if结构
if语句格式→if(表达式结果为布尔类型){
结果为true执行语句;
}
if-esle语句格式→if(表达式结果为布尔类型){
结果为true执行语句;
}else{
结果为false执行语句;
}
if-else if-else多选一→if(表达式结果为布尔类型){
结果为true执行语句;
}else if(表达式结果为布尔类型){
结果为true执行语句;
}else {
结果为false执行语句;
}
6.switch-case
格式:switch(表达式){
case 常量1:语句;break;
case 常量1:语句;break;
}
switch穿透现象:一但switch符合语句,从当前位置开始,直到整个switch语句结束。
解决switch穿透现象:break中断
default:相当于else,表示以上条件都不成立执行该语句,该关键子可以省略。
switch(表达式):表达式内容→char、byte、short,int、string(1.7加入),枚举