java入門---基礎語法&基礎常識&編碼規范&命名規范


    一個Java程序可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和實例變量的概念。

 

  • 對象:對象是類的一個實例,有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
  • :類是一個模板,它描述一類對象的行為和狀態。
  • 方法:方法就是行為,一個類可以有很多方法。邏輯運算、數據修改以及所有動作都是在方法中完成的。
  • 實例變量:每個對象都有獨特的實例變量,對象的狀態由這些實例變量的值決定。

    編寫Java程序時,應注意以下幾點:

 

  • 大小寫敏感:Java是大小寫敏感的,這就意味着標識符Hello與hello是不同的。
  • 類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。
  • 源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。
  • 主方法入口:所有的Java 程序由public static void main(String []args)方法開始執行。

    Java所有的組成部分都需要名字。類名、變量名以及方法名都被稱為標識符。關於Java標識符,有以下幾點需要注意:

 

  • 所有的標識符都應該以字母(A-Z或者a-z),美元符($)、或者下划線(_)開始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划線(_)或數字的任何字符組合
  • 關鍵字不能用作標識符
  • 標識符是大小寫敏感的
  • 合法標識符舉例:age、$salary、_value、__1_value
  • 非法標識符舉例:123abc、-salary

    像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:

 

  • 訪問控制修飾符 : default, public , protected, private
  • 非訪問控制修飾符 : final, abstract, strictfp

    Java中主要有如下幾種類型的變量:

 

  • 局部變量
  • 類變量(靜態變量)
  • 成員變量(非靜態變量)

    數組是儲存在堆上的對象,可以保存多個同類型變量。在后面的章節中,我們將會學到如何聲明、構造以及初始化一個數組。

    Java 5.0引入了枚舉,枚舉限制變量只能是預先設定好的值。使用枚舉可以減少代碼中的bug。例如,我們為果汁店設計一個程序,它將限制果汁為小杯、中杯、大杯。這就意味着它不允許顧客點除了這三種尺寸外的果汁:

 

class FreshJuice {     enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }     FreshJuiceSize size; }  public class FreshJuiceTest {     public static void main(String []args){         FreshJuice juice = new FreshJuice();         juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;     } } 

    在這里要注意的是,枚舉可以單獨聲明或者聲明在類里面。方法、變量、構造函數也可以在枚舉中定義。

    下面列出了Java 關鍵字。這些保留字不能用於常量、變量、和任何標識符的名稱:

 

類別 關鍵字 說明
訪問控制 private 私有的
protected 受保護的
public 公共的
類、方法和變量修飾符 abstract 聲明抽象
class
extends 擴允,繼承
final 最終值,不可改變的
implements 實現(接口)
interface 接口
native 本地,原生方法(非Java實現)
new 新,創建
static 靜態
strictfp 嚴格,精准
synchronized 線程,同步
transient 短暫
volatile 易失
程序控制語句 break 跳出循環
case 定義一個值以供switch選擇
continue 繼續
default 默認
do 運行
else 否則
for 循環
if 如果
instanceof 實例
return 返回
switch 根據值選擇執行
while 循環
錯誤處理 assert 斷言表達式是否為真
catch 捕捉異常
finally 有沒有異常都執行
throw 拋出一個異常對象
throws 聲明一個異常可能被拋出
try 捕獲異常
包相關 import 引入
package
基本類型 boolean 布爾型
byte 字節型
char 字符型
double 雙精度浮點
float 單精度浮點
int 整型
long 長整型
short 短整型
null
變量引用 super 父類,超類
this 本類
void 無返回值
保留關鍵字 goto 是關鍵字,但不能使用
const 是關鍵字,但不能使用

    類似於C/C++,Java也支持單行以及多行注釋。注釋中的字符將被Java編譯器忽略:

 

public class HelloWorld {  /* 這是第一個Java程序  *它將打印Hello World  * 這是一個多行注釋的示例  */     public static void main(String []args){  // 這是單行注釋的示例  /* 這個也是單行注釋的示例 */         System.out.println("Hello World");     } }

    空白行,或者有注釋的行,Java編譯器都會忽略掉。

    在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那么你可以將新創建的類繼承該類。利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。

    在Java中,接口可理解為對象間相互通信的協議。接口在繼承中扮演着很重要的角色。接口只定義派生要用到的方法,但是方法的具體實現完全取決於派生類。

    下面我們來看下Java 源程序與編譯型運行區別:


    我們還要注意,標識符可以用來標識變量名、類名、類中的方法名和文件名等。來看下命名規則:

 

  • (1) 由字母、數字、下划線、$組成,不能以數字開頭。
  • (2) 大小寫敏感。
  • (3) 不得使用java中的關鍵字和保留字。

    關鍵字:都是小寫的,jdk1.2多了strictfp(經准浮點型),關鍵字 jdk1.4多了assert(斷言)關鍵字,jdk1.5多了enum(枚舉) 關鍵字。true、false、null 嚴格說不應該算關鍵字,應稱其為保留字更合適。

    下面有幾個常用的編碼習慣:

 

  • (1) 標識符要符合語義信息。
  • (2) 包名所有字母小寫。
  • (3) 類名每個單詞首字母大寫,其它小寫,如:TarenaStudent。
  • (4) 變量和方法:第一個單詞小寫,從第二個單詞開始首字母大寫,如:tarenaStudent。
  • (5) 常量:所有字母大寫,每個單詞之間用 _ 連接。

    再來看下常用的幾個轉義字符:

 

"\b" (退格) "\f" (換頁) "\n" (換行) "\r" (回車) "\t" (水平制表符(到下一個tab位置)) "\' " (單引號) "\" " (雙引號) "\\" (反斜杠)

    Java的八種基本類型:(按字節來分)

 

boolean   布爾型   1個字節 8bit(8位)

byte     字節類型   1個字節

char     字符類型   2個字節

short     短整型     2個字節

int          整型        4個字節

float      浮點型(單精度)4個字節

long      長整型      8個字節

double   雙精度類型  8個字節

    Java中默認的整數類型是int,如果要定義為long ,則要在數值后加上L或者l。默認的浮點型是雙精度浮點,如果要定義float,則要在數值后面加上f或者F。一個字節等於8位,1個字節等於256個數。2^8。一個英文字母或者阿拉伯數字占一個字節。一個漢字占2個字節。

    還有一些命名規范大家參考下:

 

1、 項目名全部小寫

2、 包名全部小寫

3、 類名首字母大寫,如果類名由多個單詞組成,每個單詞的首字母都要大寫。如:public class MyFirstClass{}

4、 變量名、方法名首字母小寫,如果名稱由多個單詞組成,每個單詞的首字母都要大寫。如:

int index=0; public void toString(){}

5、 常量名全部大寫

public static final String GAME_COLOR="RED";

6、所有命名規則必須遵循以下規則:

  • 1)、名稱只能由字母、數字、下划線、$符號組成
  • 2)、不能以數字開頭
  • 3)、名稱不能使用JAVA中的關鍵字。
  • 4)、堅決不允許出現中文及拼音命名。

    再來看一些注釋規范:

    首先是類注釋,在每個類前面必須加上類注釋,注釋模板如下:

 

/**
* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.
* FileName: Test.java
* 類的詳細說明
*
* @author 類創建者姓名
* @Date    創建日期
* @version 1.00
*/

    再來是屬性注釋,在每個屬性前面必須加上屬性注釋,注釋模板如下

 

/** 提示信息 */ private String strMsg = null;

    然后是方法注釋,在每個方法前面必須加上方法注釋,注釋模板如下:

 

/**
* 類方法的詳細使用說明
*
* @param 參數1 參數1的使用說明
* @return 返回結果的說明
* @throws 異常類型.錯誤代碼 注明從此類方法中拋出異常的說明
*/

    還有就是構造方法注釋,在每個構造方法前面必須加上注釋,注釋模板如下:

 

/**
* 構造方法的詳細使用說明
*
* @param 參數1 參數1的使用說明
* @throws 異常類型.錯誤代碼 注明從此類方法中拋出異常的說明
*/

    還有方法內部注釋,在方法內部使用單行或者多行注釋,該注釋根據實際情況添加:

 

//背景顏色 Color bgColor = Color.RED

    再來看下編程規范:

 

package的命名: package 的名字由全部小寫的字母組成,例如:com.runoob。

class和interface的命名: class和interface的名字由大寫字母開頭而其他字母都小寫的單詞組成,例如:Person,RuntimeException。

class變量的命名: 變量的名字用一個小寫字母開頭,后面的單詞用大寫字母開頭,例如:index,currentImage。

class 方法的命名: 方法的名字用一個小寫字母開頭,后面的單詞用大寫字母開頭,例如:run(),getBalance()。

staticfinal變量的命名: static final變量的名字所有字母都大寫,並且能表示完整含義。例如:PI,PASSWORD。

參數的命名: 參數的名字和變量的命名規范一致。

數組的命名: 數組應該總是用這樣的方式來命名:byte[] buffer。

    最后再來看下,一個完整的Java。源程序應該包括下列部分

 

  •  package”語句,該部分至多只有一句,必須放在源程序的第一句。
  •  import語句,該部分可以有若干import語句或者沒有,必須放在所有的類定義之前。
  •  public classDefinition,公共類定義部分,至多只有一個公共類的定義,Java語言規定該Java源程序的文件名必須與該公共類名完全一致。
  •  classDefinition,類定義部分,可以有0個或者多個類定義。
  • interfaceDefinition,接口定義部分,可以有0個或者多個接口定義。

    package語句:由於Java編譯器為每個類生成一個字節碼文件,且文件名與類名相廳因此同名的類有可能發生沖突。為了解決這一問題,Java提供包來管理類名空間,包實 提供了一種命名機制和可見性限制機制。

    下面是一個小例子:

 

package javawork.helloworld; /*把編譯生成的所有.class文件放到包javawork.helloworld中*/ import java awt.*; //告訴編譯器本程序中用到系統的AWT包 import javawork.newcentury; /*告訴編譯器本程序中用到用戶自定義的包javawork.newcentury*/ public class HelloWorldApp{...} /*公共類HelloWorldApp的定義,名字與文件名相同*/ class TheFirstClass{...}; //第一個普通類TheFirstClass的定義  interface TheFirstInterface{......} /*定義一個接口TheFirstInterface*/

    好啦,這次的分享就到這里了。這次主要是分享下java編程時需要注意的地方,都是些小常識。如果感覺不錯的話,請多多點贊支持哦。。。

  原文鏈接:https://blog.csdn.net/luyaran/article/details/80092488


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM