Java核心技術 卷Ⅰ 基礎知識(1)


第三章 Java的基本程序設計結構

  • Java對大小寫敏感
  • 命名規范為駱駝命名法,不能使用保留字
  • main方法必須聲明為public
  • 如果main方法正常退出,java應用程序的退出代碼為0,表示成功運行了程序。如果希望終止程序時返回其他代碼,那就需要調用System.exit方法。
  • Java通用語法是 object.method(parameter),這等價於函數調用
  • System.out.print輸出不換行
  • 三種注釋方式 //、 /*  */(不能嵌套)、第三種可以用來自動生成文檔
  • Java是一種強類型語言,八種基本類型,四種整型,兩種浮點型,一種用於表示Unicode編碼的字符單元的字符類型char和一種用於表示真值的boolen類型
  • byte和short主要用於特定的應用場合,例如,底層文件處理或需要控制占用存儲空間量的大數組。
  • 數據類型取值固定,所以不會發生整數溢出
  • 從java7開始,還可以為字面量加下划線,如用1_000_000表示一百萬,編譯器會去除下划線
  • java中,所有的數值類型所占據的字節數量與平台無關,沒有任何無符號類型(unsigned)
  • double的數值精度是float的兩倍
  • 實際上,只有很少的情況適合試用float類型,例如,需要快速地處理單精度數據,或者需要存儲大量數據
  • float類型的數值有一個后綴F,沒有默認為double
  • 在JDK5.0中,可以使用十六進制表示浮點數值。例如,0.125可以表示成0x1.0p-3
  • 表示溢出和出錯的三個特殊的浮點數值:正無窮大、負無窮大、NaN(不是一個數字)。例如,一個正整數除以0的結果為正無窮大。計算0/0或者負數的平方根結果為NaN
  • 所有“非數值”的值都認為是不相同的,不能用特定值等於Double.NaN,可以使用Double.isNaN方法
  • 浮點數值不是用於禁止出現舍入誤差的金融計算中。例如,System.out.println(2.0-1.1)將打印出0.899999999,主要原因為浮點數值采用二進制表示,無法精確表示分數1/10,就像十進制中無法精確表示1/3一樣
  •  
  • 我們強烈建議不要在程序中試用char類型,除非確實需要對UTF-16代碼單元進行操作。最好將需要處理的字符串用抽象數據類型表示。
  • 在java中,if(x=0)不能通過編譯,x=0不能轉換為布爾值(整型值和布爾值之間不能進行相互轉換)
  • 在java,每一種變量屬於一種類型,聲明變量示例  
  • 想要知道哪些Unicode字符屬於Java中的“字母”,可以使用Character類的isJavaIdentifierStart和isJavaIdentifierPart方法進行檢測
  • $是一個合法的Java字符,但不要在你自己的代碼中使用這個字符,它只用在Java編譯器或其他工具生成的名字中。
  • 聲明一個變量之后,必須用賦值語句對變量進行顯示初始化
  • 在Java中,不區分聲明和定義
  • 習慣上,常量名使用全大寫
  • 在Java中,經常希望某個常量可以在一個類中的多個方法中使用,通常將這些常量稱為類常量,可以使用關鍵字static final設置一個類常量。如果一個常量被聲明為public,那么其他類的方法也可是用這個常量
  • const是Java保留的關鍵字,但目前沒有使用
  • 整數被0除會產生一個異常,浮點數被0除將會得到無窮大或NaN結果
  • 如果將一個類標記為strictfp,這個類中的所有方法都要使用嚴格的浮點計算
  • 自增運算符和自減運算符
  • 建議不要在其他表達式內部使用++
  • &&和||是按照“短路”方式求值的,如果第一個操作數已經能夠確定表達式的值,第二個操作數就不必計算了。若x=0,1/x不被計算,也不會出現除以0的錯誤
  • x<y?x:y
  • int fourthBitFromRight=(n&0b1000)/0b1000; 如果n是一個整型變量,並且用二進制表示的n從右數第4位為1,返回1,否則0
  • int fourthBitFromRight=(n&1<<3)>>3;  當需要建立位模式屏蔽某位時,使用這兩個運算符十分方便
  • >>>運算符將用0填充高位;>>運算符用符號位填充高位;沒有<<<運算符
  • Math.sqrt Math.PI Math.E 源文件頂部加 import static java.lang.Math.*; 就不必在數學方法名和常量名前添加前綴“Math.”
  • 如果想得到一個完全可預測的結果比運行速度更重要的話,那么就應該使用StrictMath類
  • 3個虛箭頭,表示可能有精度損失的轉換
  • 強類型轉換
  • round方法返回的是long類型
  • 如果強類型轉換超出目標類型表示范圍,結果會截斷成一個完全不同的值,(byte)300實際值為44
  •  

  • 從概念上講,Java字符串就是Unicode字符序列。
  •  
  • String類沒有修改字符串的方法,如果真的希望改的話
  • 下列表達式是合法的
  • ==運算符檢測兩個字符串是否放在同一位置上
  • 實際上,只有字符串常量是共享的,而+或substring等操作產生的結果並不是共享的
  •  
  • isSupplementaryCodePoint(int codePoint) 是Character類的一個boolean型方法,用來確定指定字符(Unicode 代碼點)是否在增補字符范圍內。 通俗的講,增補字符集就是在基本數據類型的標准老版本基礎上升級之后產生的新字符.增補字符使char拜年的復雜但功能更強大。特別是東南亞市場的商業需求。 如果你使用的Unicode2.0版本,中國的GB18030就屬於其增補字符集。 i+=2意味着占2個字節。
  •  
  •        
  •       
  •    
  •       
  • 讀取輸入

  • 首先需要構造一個Scanner對象,並與“標准輸入流”System.in關聯

  •  
  •   
  •                                             
  • 別忘記
  •       
  •  現在,已經看到了Java語言的基本程序結構,下一章節將介紹Java中的面向對象的程序設計。

 
 

 

 
 
 
 
 
 
 
 
 
 
 

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: