Java基礎 --- 命名規範、變量等

  • 注意事項:

1:Java變量名會區分大小寫

String string = "XXX";   大寫String代表字符串類型,小寫的爲變量名稱

2:類名稱首字母要大寫

3:所有方法名稱必須以小寫字母開頭

4:程序文件名與類名必須一致,後綴爲.java的文件

5:Java中的main函數爲程序入口

6:Java中的關鍵字不能用於變量名、類名、方法名、對象名

  • 標識符命名規範

類、變量、方法的名稱稱爲標識符

標識符格式:必須以大小寫字母、貨幣字符$、下劃線開頭,不能以數字開頭但可以包含

注:標識符不能是系統關鍵字

例:

       A:包    全部小寫
            單級包:小寫
                舉例:liuyi,com
            多級包:小寫,並用.隔開
                舉例:cn.itcast,com.baidu                
        B:類或者接口
            一個單詞:首字母大寫
                舉例:Student,Demo
            多個單詞:每個單詞首字母大寫
                舉例:HelloWorld,StudentName

            如果是接口的話,一般會在類名之前加上I代表,如:ICallBack
        C:方法或者變量
            一個單詞:所有字母小寫
                舉例:name,main
            多個單詞:從第二個單詞開始,每個單詞首字母大寫(駝峯命名法)
                舉例:studentAge,showAllNames()
        D:常量
            全部大寫
            一個單詞:大寫
                舉例:PI
            多個單詞:大寫,並用_隔開
                舉例:STUDENT_MAX_AGE

  • 註釋

   單行註釋 : // 註釋內容

   多行註釋 : /*  註釋內容  */

    文檔註釋 : /** 註釋內容 ,可以用javadoc提取這些信息形成幫助文檔 */

  • Java中的變量類型

數據類型:

1> 基本數據類型 :數值型(整型、浮點型)、字符型、布爾型 。 注:String是字符串類型不屬於基本數據類型

1.1 字符型:

char :底層16位(2byte)表示65536個字符

1.2 浮點型:

小數默認爲double類型,用float接收小數的時候必須在小數後面加f/F

float :底層32位(4byte) 單精度浮點

double :底層64位(8byte) 雙精度浮點

1.3 整數類型,取值範圍超出會報錯

byte:底層佔8位(1個byte),取值範圍從-2的7次方 ~ 2的7次方-1 

short:底層佔16位(2個byte),取值範圍從-2的15次方 ~2的15次方-1

int:底層佔32位(4個byte),取值範圍從-2的31次方 ~ 2的31次方-1

long:底層佔64位(8個byte),取值範圍從-2的63次方  ~ 2的63次方-1

十進制轉換(0的0次方爲0,其他數的0次方爲1):

      — 十進制整數(0 ~ 9 ):12、0、-3

      — 八進制整數 (0~7):以0開頭 如 :012

      int num = 017; ==》分解計算法 1*8的1次方 + 7*8的0次方 = 8+7 = 15;

      — 十六進制數(0~9,A~F,a~f):以0x/0X開頭 如:0x12

     int num = 0x345; ==> 分解計算法 3*16的2次方 + 4*16的1次方+5*16的0次方 =768+ 64+5= 837

     int num1 = 0x34556; ==> 分解計算法 3*16的4次方+4*16的3次方+5*16的2次方 + 5*16的1次方+6*16的0次方 =196608 +       

     16384 + 1280+ 80+6= 214358

      — 二進制 (0 、1):以 ob/oB開頭

     int num = ob111;  ==> 分解計算法 1*2的2次方 + 1*2的1次方 + 1*2的0次方 = 4+2+1 = 7

2> 引用數據類型:類、接口、數組

  • Java中的關鍵字列表

 

訪問控制

private

protected

public

           

類,方法和變量修飾符

abstract

class

extends

final

implements

interface

native

new

static

strictfp

synchronized

transient

volatile

         

程序控制

break

continue

return

do

while

if

else

for

instanceof

switch

case

default

           

錯誤處理

try

cathc

throw

throws

         

包相關

import

package

             

基本類型

boolean

byte

char 

double

float

int

long

short

null

true

false

             

變量引用

super

this

void

           

保留字

goto

const

   

 關鍵字含義:

1)訪問控制權限列表:

      訪問權限   類   包  子類  其他包

     public      ∨     ∨    ∨        ∨          (對任何人都是可用的)

     protect    ∨     ∨    ∨        ×    (繼承的類可以訪問以及和private一樣的權限)

     default    ∨     ∨    ×        ×    (包訪問權限,即在整個包內均可被訪問)

     private    ∨     ×    ×        ×    (除類型創建者和類型的內部方法之外的任何人都不能訪問的元素)

  • 2)修飾方法、類、屬性、變量關鍵字

    關鍵字           意思          備註/使用

    class               類              [public] class A{} A=類名  {}中內容是要實現的方法,類名與文件名一致

    interface         接口           [public] interface B(){void getName(String name);}接口中只有方法體,沒有具體實現

    abstract          聲明抽象    [public] abstract class C(){},不能創建對象,抽象類爲了繼承而存在,繼承它的類必須實現它包含的

抽象方法,不能用private去修飾,否則子類無法實現它的方法

    implements    實現            [public] class A implements B{}類實現接口中方法,多個接口間用逗號分割 

    extends          繼承            [public] class A extends D{}一個類只允許繼承一個父類

    new                創建新對象  A a = new A(); 創建一個屬於A的對象的引用,a存放與棧中,真實的A對象存放與堆中,調用對象

的屬性或方法則使用a.xx / a.xx()的方式

   static               靜態的         在沒有創建對象的情況下來進行調用(方法/變量),static可以用來修飾類的成員方法、類的成員變

量,另外可以編寫static代碼塊來優化程序性能,類初次被加載的時候,會按照static塊的順序來執行每個static塊,並且只會執行

一次。

   native             用於方法       該方法使用c語言實現

   final                用於類/方法  final修飾的類不能有子類;修飾的方法不能被擴展;修飾的變量爲常量,不能被更改。

   synchronized  

   volatile            

  • 運算符

1:算術運算符

+ 、-、*、/、%、++、--

區分/與%:

int i = 5/2   i = 2 取商,這裏0不能爲除數,如2/0系統會拋出ArithmeticException異常

int i=5%2   i= 1 取餘 ,有個規律就是:左邊小於右邊,結果爲左邊;左邊大於右邊,看餘數

區分i++與++i:

i++:先運算再爲本身加1

例:int i=5; int j = i++ + 5 ==>  j=10;i=6

++i:先爲本身加1,再做運算

例:int i=5; int j = ++i + 5 ==>  j=11;i=6

i-- 與 --i 的運算與上相同,只是把加變爲減

2:關係運算符(比較運算符,結果爲boolean類型,true/false)

>、<、>=、<=、==、!= ;引用類型用 equals

例一:對象不同,內容相同

String s1 = new String("java");

String s2 = new String("java");

s1 == s2  ==> false  對比2個對象的內存地址是否一致

s1.equals(s2)  ==> true

例二:同一個對象相比較

String s1 = new String("aa");

String s2 = s1;

s1==s2  ==> true   s2引用的是對象s1,因此對應的地址是相同的

s1.equals(s2) ==> true

例三:

String s1 = "aa";

String s2 ="aa";

s1==s2  ==> true  比對變量的值是否相同,一致則相同反之不同

s1.equals(s2) ==> true

3:布爾邏輯運算符

!、&、|、&&、^、||

&(邏輯與) 與&&(短路與)區別:

boolean a = true;

boolean b = false;

boolean c = a &b ; c = false; 左右相同則結果也是相同的,左右不同結果也不同,左右兩邊的條件都會運算

boolean d = b && a;d =false;左右中的結果只要有false則結果就爲false,如果左邊爲false則右邊不再運算;如果都爲true/false則結果爲true/false 

|(邏輯或)與  ||(短路或)區別:

boolean a = true;

boolean b = false;

boolean c = a | b ; c = true;左右兩邊只要滿足一個條件,結果則爲true,如果都不滿足則結果爲false

boolean d = a || b;d = true; 左右兩邊只要滿足一個條件,結果則爲true,如果都不滿足則結果爲false;同樣如果左邊條件滿足,則右邊不做運算;左右運算結果一致,則結果與之相同

4:位運算符(二進制運算)

&、|、^、~、>>、<<、>>>

1>  運算符 "&"

表示按位與的運算符,運算法則爲:如兩個整數對應位都是1,則結果位纔是1否則爲0,進行運算時

需先將整數轉換爲二進制位,如下所示:

 

2> 運算符 "|" 

表示按位或的運算符,運算法則與按位與的相反,兩個操作數對應位的結果都是0,則結果位纔是0,否則爲1,如

下所示:

3> 按位取反運算符 "~"

將操作數二進制中的1修改爲0,0修改爲1。如二進制數7表示爲:00000000 00000000 00000000 00000111

~7 取反後變爲:11111111 11111111 11111111 11111000

4> 按位異或運算符 “^”

當兩個操作數的二進制位表示相同(同時爲1/0)時,結果爲0 ,否則爲1

5>  位移運算符

<< 左移:將符號左邊的二進制操作數左移右邊操作數指定的位數,左移空的部分補“0”

>> 右移:帶符號右移,若左操作數爲正數,則高位補“0”,反之補“1”,操作數右移右邊操作數指定的位數

例:1>>3 ,將00000000 00000000 00000000 00000001這32位操作數向右移動3位得00000000 00000000 00000000

00000000

>>> 無符號右移:左操作數右移右邊操作數指定的位數,左空位補“0”

5:賦值運算符

=  :將“=”右邊的值賦給左邊的變量。例如:

int a = 10;    String s = "賦值" boolean isLogin = true

擴展運算符:

+=、-=、*=、/=

例:

int i=3;i+=5  等同於 i = i +5;

6:字符串連接運算符

+

  • 表達式

表達式:符合一定語法規則的運算符和操作符的序列

表達式的值:運算結果

表達式的類型:表達式值的數據類型

根據運算符的不同,可以把表達式分爲幾類:

賦值表達式: int a = 3;

算術表達式:int a = 3+1;

關係表達式: 3 > 5

邏輯表達式 :((5>4)&&true、!false)

條件表達式:(b=100>89?a=ture:a=false) 三元運算符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章