程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JavaSE復習_1 Java的基本格式和運算符,javase_1

JavaSE復習_1 Java的基本格式和運算符,javase_1

編輯:JAVA綜合教程

JavaSE復習_1 Java的基本格式和運算符,javase_1


△.代表在當前目錄.classpath能在任何路徑下訪問類文件. △單行注釋可以嵌套,多行注釋不能嵌套 △java中的標識符只能有數字,字母,$和_,其他的符號都是錯誤的,不合法的.其中數字不能是開頭. △快捷打開命令窗口.按住shift,右鍵此處打開命令窗口. △跨平台原理:只要在需要運行java應用程序的操作系統上,先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。由JVM來負責Java程序在該系統中的運行。 △字符常量:''單引號中必須放的是單個數字(0~9),10代表的是2個字符.''不放字符也不可以. △計算機內部以源碼的形式存儲,在運算的時候以補碼的形式去運算. △java中,除了char和boolean其他數據類型都是從負數開始取到正數,如int -2^31~2^31 byte:-128~127  char占兩個字節:0~65535,boolean沒有明確指定大小.(sun官方文檔),float占四個字節,double占8個字節. △>>>運算符將用0填充高位,而>>用符號位填充高位.在對於整數進行移位運算符的操作的時候,需要對移位運算符右側的參數進行模以32的運算.例如:1<<35和1<<3和8是相同的. △整數默認的類型是int類型,因此不能直接用long x=999999999;這樣會顯示數據類型錯誤(out of range).需要long x=9999999999l才可以.標識最好加L. △小數的默認類型是double類型.因此如果float f=1.32;會直接報錯.顯示可能會損失精度.需要標識float f=3.12f; △輸出一個整數除以0的數值將會報錯ArithMeticException異常.但是用浮點數除以0則不會報異常,會得到NAN或者Infinity. △byte b=2;不會出現和float/double一樣的錯誤,這是因為整數類型(常量在編譯的時候就能確定了.但是如果是變量的話另當別論(short同理).如:  byte b=3+4;          //編譯時已經確定,不會報錯.直接數字相加直接轉換為byte.注意!!float不同.  byte b1=3;  byte b2=4;  b=b1+b2;          //報錯,兩個byte變量相加會直接轉化為int.java編譯器有常量優化機制. 另外: int x=32; byte b=32; b=b+x; System.out.println(b);     //編譯錯誤.這是因為b+x後轉化為了int字節.再轉換為byte會出現錯誤. △小的數據類型在和大的數據類型運算時會補成大的數據類型. △byte b=1;b+=1;//編譯通過,隱藏了一個類型的轉換,b++同理,不會報錯.而b=b+1;則是將int類型轉換為byte類型,會報錯(Can not convert from int to byte)  byte b=(byte)129;會得到負數.因為截斷. 而byte b=(byte)300;不會得到負數,因為300>256,因此最高位是0 △float f=123l; //編譯成功,因為float比long大.因此倒過來也是不對的. float使用ieee754格式存儲。只有24位精度,兩個float之間的距離可能很大。 
舉個簡單的例子,2000000000和2000000050用float表示的話這兩個數是相同的 。  整數是精確表示的。0位代表符號位,8位代表指數位,23位代表尾數位. △System.out.println('a'+1);     //輸出98.因為在轉換為int  System.out.println("hello"+'a'+1)//輸出helloa1  System.out.println('a'+1+"hello")//輸出98hello △System.out.println((float)(10/3))//輸出3.0,因為10/3已經事先算好 △當兩個數值進行想加的操作的時候,先將兩個操作數轉化為同一種類型,再進行計算.
  • 如果兩個操作數中有一個是double類型,另一個操作數會轉化為double類型.
  • 否則,如果有一個是float類型,另一個操作數會被轉化為float類型.
  • 否則,如果有一個是long類型,另一個操作數將會被轉化為long類型.
  • 否則,兩個操作數均被轉化為int類型(終點).
△Math.round方法方法代表對浮點數采用最接近的整數的捨入運算.如果參數是double類型,返回long.如果參數是float類型,返回int. △常見的結合性從右向左的運算符:+=,-=,*=,/=,=.對於這類運算符,從右向左進行計算.a+=b+=c等價於a+=(b+=c). △異或^:兩邊相同就是false兩邊不同則為true,&&是短路的,同時單與也有位運算符的作用. △if語句和三元運算符的區別,a?b:c;三元運算符的b和c必須要要有明確的結果,因為三元運算符是運算符,要有明確的結果. if(x<2)      int z=3;//錯誤.因為int z=3;實際上是兩個語句. △switch(表達式){      case 語句:語句1;                     break; } 在switch括號內的表達式byte,short,char,int 枚舉(jse 1.5),字符串(jse 1.7). case一旦成功匹配,其後的語句都不在判斷.default:即使放在任意位置,也是最後去執行.         
 int x =4;
          switch(x )
          {
               case 1:System.out.println("a");
               case 2:System.out.println("c");
                      
               case 3:System.out.println("b");
               default:System.out.println("d");
                       
          }

 

此時輸出d.當default在最後面時,沒有break也可以正常結束. 當default在最前面時,執行完default後,會繼續向下.直到碰到break或者大括號 case 1: case 2: case 3:           語句; 這樣的格式也是可行的. △break可以帶標簽:            
 U:
            for( int x=0; x<=4; x++) {
                 for( int y=0; y<=3; y++) {
                      if( y==2)
                            break U;
                     System. out.println( "x="+ x+ ",y="+ y);
                }
           }

 

   實際上帶break的標簽可以用在if語句中,跳出if語句塊.    還有帶標簽的continue語句,其作用與break近似. △靜態導入:將類導入,以便使用類中的靜態方法或者靜態變量,如:import static java.lang.math.*; △UTF-8一個中文三個字節,GBK碼表一個中文兩個字節.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved