马太效应 发表于 2017-7-8 23:42:47

Java暑期学习Day04

第四天啦,希望能坚持下去{:10_298:}


①位运算的左移(<<)
    如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类型>{:10_254:}
<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:只略过之后描述句,并回到循环区块开头进行下一次循环


零度非安全 发表于 2017-7-9 00:09:38

支持马太效应{:9_240:}
这名字怎么怪怪的{:10_266:}

马太效应 发表于 2017-7-9 00:22:48

零度非安全 发表于 2017-7-9 00:09
支持马太效应
这名字怎么怪怪的

这是一种社会心理现象{:10_298:}
之前看一个例子说一个人被人夸奖后专注坚持于一个领域,然后取得了长期优秀的成绩{:10_282:}
借此名希望我能坚持下去!{:10_297:}

马太效应 发表于 2017-7-9 00:25:55

<div><font size="5">public class D170709 {
public static void main(String[] args) {
/*
   * 求1000以内的素数 质数(prime number),有无限个。
   * 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
   */</font></div><div><font size="5">for (int i = 2; i <= 1000; i++) {
   int g = 1;</font></div><div><font size="5">   for (int j = 2; j < i; j++) {</font></div><div><font size="5">    if (i % j == 0) {
   g = 0;
   break;
    }</font></div><div><font size="5">   }</font></div><div><font size="5">   if (g == 1) {
    System.out.print(i + "\n");</font></div><div><font size="5">   }</font></div><div><font size="5">}</font></div><div><font size="5"> }</font></div><div><font size="5">}
</font>
</div>
我发现可以不用多加一个变量就可以求取1000以内的素数{:10_298:}

马太效应 发表于 2017-7-9 00:54:00

public class D170709 {
        public static void main(String[] args) {
                /*
               * 求1000以内的素数 质数(prime number),有无限个。
               * 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
               */

                for (int i = 2; i <= 1000; i++) {
                        int g = 1;

                        for (int j = 2; j < i; j++) {

                                if (i % j == 0) {
                                        g = 0;
                                        break;
                                }

                        }

                        if (g == 1) {
                                System.out.print(i + "\n");

                        }

                }

        }

}

补充九九乘法表,又一个for的嵌套循环,希望我能彻底掌握嵌套循环。{:10_282:}
public class D170709 {
        public static void main(String[] args) {
                for (int j = 1; j < 10; j++) {
                        for (int i = 2; i < 10; i++) {
                                System.out.printf("%2d*%2d=%2d", i, j, i * j);
                        }
                        System.out.println();
                }

        }
}
   print:方法必须有参数;不能直接换行   printf: 格式化输出(有参数)   println:方法可以没有参数;可以实现换行






页: [1]
查看完整版本: Java暑期学习Day04