马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第四天啦,希望能坚持下去
①位运算的左移(<<)
如127 (十进制)——补码和原码一样:0111 1111(二进制)
(正整数的补码等于其原码;
负整数求原码是其取反后加一<符号位不变>)
<a. 十进制整数转换为二进制整数:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
b.十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。
具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
c.已知一个数的补码,求原码的操作其实就是对该补码再求补码:
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。>
<< : 左移运算符,num << 1,相当于num乘以2,num << 2,相当于num乘以2再乘以2
>> : 右移运算符,num >> 1,相当于num除以2,num >> 2,相当于num除以2再除以2
public class D170708 {
public static void main(String[] args) {
int i = 127;
int number = 1;
int b = i >> number;
System.out.println(b);// 63
int a = -127;
int number2 = 1;
int c = a >> number2;
System.out.println(c);// -64
}
}
②将++或--运算符写在变量前,表示先将变量值加或减1,然后再返回变量值;
后, 先返回变量值 ,然后再对变量加或减1
<font size="4">public class D170708 {
public static void main(String[] args) {
int i=0;
i++;
System.out.println(i);//1
i--;
System.out.println(i);//0
++i;
System.out.println(i);//1
--i;
System.out.println(i);//0
int number=0;
number=++i;
System.out.println(number);//1 相当于i=i+1; number=i
number=--i;
System.out.println(number);//0
number=i++;
System.out.println(number);//0 相当于number=i; i=i+1
number=i--;
System.out.println(number);//1 相当于number=i;i=i-1
}
}</font>
③指定运算: &= —— a&=b —— a=a&b
(求与,同为真1为1,同为0为0,不同为0)
>>= —— a>>=b —— a=a>>b
④类型转换: 在浮点数后加一个F,表示float类型;<若不加,系统默认double类型>
在整数后加一个L,表示long类型;<若不加,系统默认int类型><div><font size="4"><b>public class D170708 {</b></font></div><div><font size="4"><b> public static void main(String[] args) {
System.out.println("Integer.MAX_VAlUE=" + Integer.MAX_VALUE);//<font color="red">Integer.MAX_VAlUE=2147483647
</font> System.out.println("Integer.MIN_VAlUE=" + Integer.MIN_VALUE);//<font color="red">Integer.MIN_VAlUE=-2147483648</font>
int i = 2147483647;
i++;
System.out.println(i);// <font color="red">-2147483648
</font> i--;
System.out.println(i);//<font color="red"> 2147483647</font></b></font></div><div><font size="4"><b> int a=-2147483648;
a--;
System.out.println(a);//<font color="red">2147483647</font>
a++;
System.out.println(a);//<font color="red">-2147483648</font></b></font></div><div><b><font size="4">
</font></b></div>
⑤ 1. switch语法架构:
switch(变量或表达式){
case整数、字符、字符串或Enum(枚举):
描述句;
break;
case整数、字符、字符串或Enum:
描述句;
break;
...
default(不一定需要):
描述句;
}
2. for(初始值;执行结果必须是boolean的重复式;重复式){
描述句;
}
<初始式只执行一次><font size="4">public class D170708 {
public static void main(String[] args) {
/*
* 求1000以内的素数 质数(prime number)又称素数,有无限个。
* 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。
*/
int s = 0;
for (int i = 2; i <= 1000; i++) {
int g = 1;
for (int j = 2;<b> </b><font color="red"><b>j < i</b></font>; j++) {
if (<b><font color="red">i % j == 0</font></b>) {
g = 0;
<font color="red"><b> break;
</b></font> }
}
if (g == 1) {
System.out.print(i + <b>"\n"</b>);
<font color="red"><b> s++;</b></font>
}
}
}
}</font>
3. while(条件式){
描述句;
} //前测试循环
do{
描述句;}while(条件式);
⑥ break:结束类似于switch、for、while、do...while的区块、并执行区块后一个描述句
continue:只略过之后描述句,并回到循环区块开头进行下一次循环
|