先吐槽一句今天作业量好多。。。。
让我康康今天过了哪些内容
一、进制转换
进制前提应该是整数
0b开头是二进制 0开头是八进制 0x开头是十六进制。
科学计数法 e表示10 e2 表示10^2 e-2表示10^-2
二、转义字符
\b 光标退一格 \n换行 \r 光标到行首 \t 表面上看是空格 实际上是八个空格 一个汉字占2个空格,一个字母占1个空
三、拓展赋值运算符中优缺点
+= -= *= /= %=
优点 提高执行效率 自动做强制类型转换
缺点 不直观
四、逻辑运算符^
相同为false 不同为true
例子:true^false 是不同的 结果true
true^true 是相同的 结果是false
false^false 是相同的 false
五、条件运算符 ? :
这个我老是记成 !:
所以写一下加深自己印象。。。。。。。
六、位运算符 我觉得这个是重点 虽然不重要 不过很难记
位运算符
所有的 操作数先转为二进制的形式参与运算,再把结果转为十进制的形式
& :同一位置的两个数,一个0就是0,两个都1才是1
| :同一位置的两个数,一个为1就是1,两个都为0才是0
^ :同一位置的两个数 相同为0,不同为1
位移运算符
右移:>> 二进制的操作数,向右移动第二个操作数的位数,分水岭右侧的结果不要,只保留左侧,得到的结果转为十进制
纯计算的话 -->第一个操作数/2的第二个操作数次方 num1/(2^num2)
左移:<< 二进制的操作数,向左移动第二个操作数的位数,空余的位置补0,得到的结果转为十进制
纯计算的话 -->第一个操作数*2的第二个操作数次方 num1*(2^num2) 这样写就直观明了了
七 Scanner类
next() 接收字符串 结束功能:enter,不会接收enter
从有效字符开始接收,遇到空格,tab不接受了,但是必须遇到enter结束功能
nextLine() 只要没有换行,都能接收 遇到enter结束功能,接收enter
nextInt() 接数字
nextDouble().... 接小数
.close() 关了之后重开也没用~
处理enter直接出结果问题可以塞一个 没有变量赋值的 。nextLine();
八 random类
引用.nextInt(max-min+1)+min
九 switch 这个定制判断挺有意思的
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
....
default:
语句体n;
break;
}
一 没有break会发生case穿透 就是从没有break的地方 不核对下面的case条件 直接执行下面所有的语句体3 语句体4 语句体5.。。。。
二 default与 else作用一致 以上case都不满足条件,执行default中的语句体
int season =scan.nextInt();//季节
season=season/3;
switch(season){
case 1:
System.out.println("春天");
break;
case 2:
System.out.println("夏天");
break;
case 3:
System.out.println("球天");
break;
case 4:
System.out.println("冬天");
break;
case 0:
System.out.println("冬天");
break;
}