Java言語の基礎(二)

9343 ワード

Java言語ベース
比較演算子と論理演算子※&&と&の違い:最初の判別式が偽であれば,後の判別式は判断せずfalseとなる.※|||との違い:最初の判別式が真であれば、後の判別式は判断せず、結果はtrueとなる.1つの数が異なるか、同じ数が2回あるか、結果はやはりこの数です.
class OperateDemo3

   {

     public static void main(String[] args)

     {

       /*

              ,       true false

       */

       //System.out.println(3>2);//true

       //System.out.println(3==2);//false



       /*

                 :

               boolean      



         &  

               :

             true&true=true;

             true&false=false;

             false&ture=false;

             false&false=false;

         |  

               :

           true|true=true;

           true|false=true;

           false|true=true;

           false|false=false;

         ^   

               :

           true^true=false;

           true^false=true;

           false^true=true;

           false^false=false;

         !    :        

           !true=false;

           !false=true;

         &&

            &   :       ,            ,   false

         ||

            |   :       ,            ,   true

       */



       int x=3;



       System.out.println(x>2&x<5);//true

       System.out.println(x<2|x>5);//false

     }

   }


ビット演算子バイナリビット演算用シンボル
class OperateDemo4  

        {  

            public static void main(String[] args)  

            {  

                //System.out.println(6&3);  

                //System.out.println(6|3);  

                //System.out.println(~6);//    ,    ,   7  

      

                System.out.println(3<<2);//3  2 ,3*2^2  

                System.out.println(3>>1);//3  1 ,3/(2^1)      

            }  

        }  

>>>>:符号なしで右に移動:データが右に移動すると、高位に現れた空席は、元の最高位が何であれ、空席は0で補う.   
効率的な演算はバイナリビットを操作することを優先する.  
class OperateText  

    {  

        public static void main(String[] args)  

        {  

            //         2  8     

            //System.out.println(2<<3);  

            int a=3,b=5;  

            System.out.println("a="+a+",b="+b);  

            /* 

            //             (        ) 

            //       ,           ,   int  ,     ,      

     

            a=a+b; //a=8 

            b=a-b; //b=8-5=3 

            a=a-b; //b=8-3=5 

            */  

      

            int a=3,b=5;  

            a=a^b; //a=3^5  

            b=a^b; //b=(3^5)^5=3  

            a=a^b; //a=(3^5)^3=5  

            System.out.println("a="+a+",b="+b);  

        }  

    }  


開発時にサードパーティ変数を用いて値の交換を実現するのは,読解性が強いためである.
三元演算子フォーマット(条件式)?式1:式2条件がtrueの場合、演算後の結果は式1である.条件がfalseの場合、演算後の結果は式2です.
class  OperateDemo5

   {

       public static void main(String[] args)

       {

           int x=3,y;

           y=(x>1)?100:200;

           System.out.println("y="+y);



           //           

           int  a=3,b=5;

           int max=a>b?a:b;

           System.out.println("max="+max);

       }

   }

プログラムフロー制御シーケンス構造,判断構造,選択構造,ループ構造(同C++)の三元演算子がif else文の略記フォーマットであるが,その限界がある.簡写形式はいつ使いますか.if else演算後に具体的な結果が得られると,三元演算子に簡略化できる.ローカルコードブロックは、ローカル変数のライフサイクルを定義し、ローカル変数はコードブロックの終了時に消滅します.switch(x)では、xの値にはbyte、short、int、charの4種類があります.ifとswitchの応用if:1.具体的な値を判断する.区間判定3.演算結果がbooleanタイプの式であることを判断する
            switch:                1.具体的な値を判断する.値の個数は通常、いくつかの固定値の判断に固定され、switch文を使用することを推奨します.switch文は具体的な答えをメモリにロードするので、比較的効率的です.
do whileの特徴:条件が満たされているかどうかにかかわらず、ループ体は少なくとも1回実行する1つの条件を1回判断する場合、if文を使用することができ、1つの条件を複数回判断する場合、while文を使用することができる注意:ループを使用する場合、どの文がループに関与する必要があるのか、ループを必要としないのかを明確にする必要があります通常、条件を定義する必要があり、回数for文を制御する必要があります
class ForDemo

 {

     public static void main(String[] args)

     {

         int x=1;

         for(System.out.println("a");x<3;System.out.println("0")) //        ,    for(int i=0;i<=10;i++)    ;         ,      

         {

             System.out.println("d");

             x++;

         }

     }

 }

forとwhileの特徴:1.forとwhileは交換できます.フォーマット上の違いは、使用上の違いです.変数でループを制御する必要がある場合、その変数値がループ増分として存在する場合、違いが現れます.
class ForTest

   {

       public static void main(String[] args)

       {

           //  1~10    

           int x=1;

           while(x<11)        //while   ,x       

           {

               System.out.println("x="+x);

               x++;

           }

           for (int y=1;y<=10 ;y++ )    //for    ,y  

           {

               System.out.println("y="+y);

           }

       }

   }

ネストされたループ練習
class ForForTest

   {

       public static void main(String[] args)

       {

           /*

                 

           *****

           ****

           ***

           **

           *

           */

           for(int x=1;x<=5;x++)

           {

               for(int y=5-x;y>=0;y--)  //  x  y  

               {

                   System.out.print("*");

               }

               System.out.println();   //         ,  

           }

           System.out.println("--------------");



           /*

           *

           **

           ***

           ****

           *****

           */

           for (int x=1;x<=5 ;x++ )

           {

               for (int y=1;y<=x ;y++ ) //  x  y   

               {

                   System.out.print("*");

               }

               System.out.println();   //         ,  

           }

           System.out.println("--------------");



           /*

           54321

           5432

           543

           54

           5

           */

           for (int x=1;x<=5 ;x++ )

           {

               for (int y=5;y>=x ;y--)

               {

                   System.out.print(y);

               }

               System.out.println();

           }

           System.out.println("--------------");



           /*

           1

           22

           333

           4444

           55555

           */

           for (int x=1;x<=5 ;x++ )

           {

               for (int y=1;y<=x ; y++)

               {

                   System.out.print(x);

               }

               System.out.println();

           }

       }

   }

  
class  ForFor99

   {

       public static void main(String[] args)

       {

           /*

           1*1=1

           1*2=2   2*2=4

           1*3=3   2*3=6   3*3=9

           ……

           */

           for (int x=1;x<=9 ;x++ )

           {

               for (int y=1; y<=x;y++ )

               {

                   System.out.print(y+"*"+x+"="+y*x+"\t");//     '\t'         

               }

               System.out.println();

           }



           /*

           
\t \b \r windows \r
linux
*/ } }

  
class BreakContinueDemo   

    {  

        public static void main(String[] args)   

        {  

            /* 

            break    

                 :  switch           

            ※ break       ,          ,     break     ,          

            break      ,         ,break         ,          

            */  

            for (int x=0;x<3 ;x++ )  

            {  

                System.out.println("x="+x);  

                break;  //          ,     x=0  

            }  

            System.out.println("---------------");  

              

            loop1:for (int x=0;x<3 ;x++ )    // for      

            {  

                loop2:for (int y=0;y<4 ;y++ )  

                {  

                    System.out.println("x="+x);  

                    break loop1;    //               ,       loop1,       x=0  

                }  

            }  

            System.out.println("---------------");  

      

            /* 

            continue    

                 :     

              :      ,       

            */  

      

            for (int x=0;x<11 ;x++ )  

            {  

                /* 

                      ,   continue  ,             

                continue; 

                 

                System.out.println("x="+x); //       ,    。 

                */  

                if (x%2==0)     //x    ,   ,        

                {  

                    continue;  

                }  

                System.out.println("x="+x);  

            }  

            System.out.println("---------------");  

              

            loop1:for (int x=0;x<3 ;x++ )    // for      

            {  

                loop2:for (int y=0;y<4 ;y++ )  

                {  

                    System.out.println("x="+x);  

                    continue loop1; //               ,         ,  x=0,x=1,x=2  

                }  

            }  

        }  

    }