一個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
