Java入門(mén)基礎(chǔ)之Java的基本語(yǔ)法與Java所支持的數(shù)據(jù)類(lèi)型
Java 應(yīng)用程序可以被定義為對(duì)象的集合,這些對(duì)象通過(guò)調(diào)用各自的方法來(lái)進(jìn)行通信。下面讓我們具體看一看類(lèi),對(duì)象,方法,實(shí)體變量是什么含義。
對(duì)象:對(duì)象具有狀態(tài)和行為。例如:狗有它的狀態(tài)—顏色,名字,品種,同時(shí)也有行為—搖尾巴,汪汪叫,吃東西。對(duì)象時(shí)類(lèi)的一個(gè)實(shí)例。
類(lèi):類(lèi)可以被定義為描述對(duì)象所支持的類(lèi)型的行為和狀態(tài)的模板或藍(lán)圖。
方法:方法是一種基本的行為。類(lèi)中可以包含很多方法。在方法中,可以編寫(xiě)邏輯,操縱數(shù)據(jù),執(zhí)行動(dòng)作。
實(shí)體變量:每個(gè)對(duì)象都有它的特殊的實(shí)體變量的集合,一個(gè)對(duì)象的狀態(tài)是由那些實(shí)體變量所被賦的值所決定的。
第一個(gè) Java 程序
讓我們看一下下面可以輸出 “Hello World” 的代碼。
public class MyFirstJavaProgram { /* This is my first java program. * This will print 'Hello World' as the output */ public static void main(String []args) { System.out.println("Hello World"); // prints Hello World } }
讓我們看一下如何保存這個(gè)文件,編譯運(yùn)行這個(gè)程序。請(qǐng)按照以下步驟操作:
打開(kāi)記事本添加上述代碼
以 MyFirstJavaProgram.java 為文件名保存文件
打開(kāi)命令提示符窗口轉(zhuǎn)到你保存類(lèi)的位置。假設(shè)是 C:\
在窗口中輸入 javac MyFirstJavaProgram.java 然后按回車(chē)來(lái)編譯你的代碼。如果你的代碼沒(méi)有錯(cuò)誤,那么命令提示符將會(huì)轉(zhuǎn)到下一行(假設(shè):路徑變量設(shè)置成功)。
現(xiàn)在輸入 java MyFirstJavaProgram 來(lái)運(yùn)行你的程序
你將會(huì)看到屏幕上顯示 “Hello World”
C : > javac MyFirstJavaProgram.java C : > java MyFirstJavaProgram
Hello World
基本語(yǔ)法
關(guān)于 Java 程序,記住一下幾點(diǎn)很重要。
大小寫(xiě)敏感性: Java 是一種大小寫(xiě)敏感的語(yǔ)言,這就意味著 Hello 和 hello 在 Java 中代表不同的意思。
類(lèi)的命名:所有類(lèi)的名稱(chēng)首字母必須大寫(xiě)。
如果類(lèi)名稱(chēng)中包含幾個(gè)單詞,那么每個(gè)單詞的首字母都要大寫(xiě)。
例如類(lèi) MyFirstJavaClass
方法的命名:所有方法名稱(chēng)必須以小寫(xiě)字母開(kāi)頭。
如果方法名稱(chēng)中包含幾個(gè)單詞,那么其中的每個(gè)單詞的首字母都要大寫(xiě)。
例如 public void myMethodName()
程序文件名:程序的文件名必須和類(lèi)的名稱(chēng)準(zhǔn)確匹配。
但保存文件時(shí),你應(yīng)當(dāng)以類(lèi)的名稱(chēng)保存(注意區(qū)分大小寫(xiě)),并在文件名后加 .java 的后綴(如果文件名和類(lèi)名不匹配那么將無(wú)法編譯你的程序)。
例如:假設(shè)類(lèi)名是 MyFirstJavaProgram,那么文件名就應(yīng)該是 MyFirstJavaProgram.java。
public static void main(String args[]):Java 程序都是從 main() 方法開(kāi)始處理的,這個(gè)方法是 Java 程序的強(qiáng)制性的部分。
Java 標(biāo)識(shí)符
Java 的所有的組成部分都要有自己的名稱(chēng)。類(lèi)、變量和方法的名稱(chēng)稱(chēng)為標(biāo)識(shí)符。
在 Java 中,需要記住關(guān)于標(biāo)識(shí)符的一下幾點(diǎn)。如下:
所有標(biāo)識(shí)符必須以字母( A 到 Z 或者 a 到 z )、貨幣字符( $ )或者下劃線( _ )開(kāi)頭。
在第一個(gè)標(biāo)識(shí)符之后可以有任意字母組合。
關(guān)鍵字不能被用作標(biāo)識(shí)符。
大多數(shù)標(biāo)識(shí)符需要區(qū)分大小寫(xiě)。
合法標(biāo)識(shí)符的例子: age, $salary, _value, __1_value
非法標(biāo)識(shí)符的例子: 123abc, -salary
Java 修飾符
如其語(yǔ)言一樣,方法和類(lèi)等等是可以通過(guò)修飾符修飾的。Java 中有兩種修飾符:
訪問(wèn)修飾符:default, public , protected, private
非訪問(wèn)修飾符:final, abstract, strictfp
我們將在下一節(jié)繼續(xù)學(xué)習(xí)修飾符相關(guān)知識(shí)。
Java 關(guān)鍵字
下面列出的是 Java 中保留的關(guān)鍵字。這些關(guān)鍵字不能用作常量、變量和其他標(biāo)識(shí)符的名字。
關(guān)鍵字 | 關(guān)鍵字 | 關(guān)鍵字 | 關(guān)鍵字 |
---|---|---|---|
abstract | assert | boolean | break |
byte | case | catch | char |
class | const | continue | default |
do | double | else | enum |
extends | final | finally | float |
for | goto | if | implements |
import | instanceof | int | interface |
long | native | new | package |
private | protected | public | return |
short | static | strictfp | super |
switch | synchronized | this | throw |
throws | transient | try | void |
volatile | while |
Java 中的注釋
Java 像 C 和 C++ 一樣支持單行或多行注釋。所有注釋中的字母都會(huì)被 Java 編譯器忽略。
public class MyFirstJavaProgram{ /* This is my first java program. * This will print 'Hello World' as the output * This is an example of multi-line comments. */ public static void main(String []args){ // This is an example of single line comment /* This is also an example of single line comment. */ System.out.println("Hello World"); } }
使用空行
一行只有空格的行可能是注釋?zhuān)@樣的行叫做空行,Java 會(huì)完全忽略它。
基本數(shù)據(jù)類(lèi)型
變量就是用來(lái)儲(chǔ)存值而保留的內(nèi)存位置。這就意味著當(dāng)你創(chuàng)建一個(gè)變量時(shí)就會(huì)在內(nèi)存中占用一定的空間。
基于變量的數(shù)據(jù)類(lèi)型,操作系統(tǒng)會(huì)進(jìn)行內(nèi)存分配并且決定什么將被儲(chǔ)存在保留內(nèi)存中。因此,通過(guò)給變量分配不同的數(shù)據(jù)類(lèi)型,你可以在這些變量中存儲(chǔ)整數(shù),小數(shù)或者字字母。
Java 中有兩種有效地?cái)?shù)據(jù)類(lèi)型:
- 原始數(shù)據(jù)類(lèi)型
- 引用數(shù)據(jù)類(lèi)型
- 原始數(shù)據(jù)類(lèi)型
Java 支持 8 種原始數(shù)據(jù)類(lèi)型。原始數(shù)據(jù)類(lèi)型是由該語(yǔ)言預(yù)先定義的并用關(guān)鍵詞命名的。下面讓我們深入學(xué)習(xí)一下這 8 種數(shù)據(jù)類(lèi)型。
字節(jié)型(byte)
字節(jié)型是一種 8 位有正負(fù)的二進(jìn)制整數(shù)
- 最小值是 -128(-2^7)
- 最大值是 127(2^7-1)
- 默認(rèn)值為 0
字節(jié)型數(shù)據(jù)類(lèi)型主要是為了在大型數(shù)組內(nèi)節(jié)省空間,主要是替代整數(shù)由于字節(jié)型比整數(shù)小 4 倍。
例如:byte a = 100 , byte b = -50
短整數(shù)(short)
短整數(shù)是一種 16 位有正負(fù)的二進(jìn)制整數(shù)
- 最小值是 -32768(-2^15)
- 最大值是 32767(2^15-1)
短整數(shù)類(lèi)型的數(shù)據(jù)也可以像字節(jié)型一樣用于節(jié)省空間。短整數(shù)比整數(shù)小兩倍
- 默認(rèn)值為 0
例如:short s = 10000, short r = -20000
整數(shù)型(int)
整數(shù)型是一種 32 位有正負(fù)的二進(jìn)制整數(shù)
- 最小值是 - 2,147,483,648(-2^31)
- 最大值是 2,147,483,647(2^31 -1)
整數(shù)型一般默認(rèn)被應(yīng)用于整數(shù)值除非擔(dān)心內(nèi)存不夠用。
- 默認(rèn)值為 0
例如:int a = 100000, int b = -200000
長(zhǎng)整型(long)
長(zhǎng)整型是一種 64 位有正負(fù)的二進(jìn)制整數(shù)
- 最小值是 -9,223,372,036,854,775,808(-2^63)
- 最大值是 9,223,372,036,854,775,807 (2^63 -1)
這種數(shù)據(jù)類(lèi)型一般是在需要比整數(shù)型范圍更大時(shí)應(yīng)用。
- 默認(rèn)值為 0L
例如:long a = 100000L, int b = -200000L
浮點(diǎn)型(float)
浮點(diǎn)型數(shù)據(jù)是一種單精度的 32 位 IEEE 754 標(biāo)準(zhǔn)下的浮點(diǎn)數(shù)據(jù)。
浮點(diǎn)型數(shù)據(jù)主要是為了在大型浮點(diǎn)數(shù)字?jǐn)?shù)組中節(jié)約內(nèi)存。
- 默認(rèn)值是 0.0f。
浮點(diǎn)型數(shù)據(jù)不能用于如貨幣這樣的精確數(shù)據(jù)。
例如:float f1 = 234.5f
雙精度型(double)
雙精度型數(shù)據(jù)是一種雙精度的 64 位 IEEE 754 標(biāo)準(zhǔn)下的浮點(diǎn)數(shù)據(jù)。
這種數(shù)據(jù)類(lèi)型主要是默認(rèn)被用于表示小數(shù)的值,一般是默認(rèn)的選擇。
雙精度型數(shù)據(jù)不能用于如貨幣這樣的精確數(shù)據(jù)。
- 默認(rèn)值是 0.0d
例如:double d1 = 123.4
布爾型(boolean)
布爾型數(shù)據(jù)代表一個(gè)信息比特。
它只有兩個(gè)可能的值:真(true)和假(false)
這種數(shù)據(jù)類(lèi)型用于真假條件下的簡(jiǎn)單標(biāo)記。
- 默認(rèn)值是假(false)
例如:boolean one = true
字符型(char)
字符型數(shù)據(jù)是簡(jiǎn)單的 16 位 Unicode 標(biāo)準(zhǔn)下的字符。
- 最小值是: '\u0000' (或 0)。
- 最大值是: '\uffff' (或 65,535 )。
字符型數(shù)據(jù)可以用來(lái)儲(chǔ)存任意字母。
例如: char letter A(字符型的字母A) ='A'
引用數(shù)據(jù)類(lèi)型
引用數(shù)據(jù)類(lèi)型是由類(lèi)的編輯器定義的。他們是用于訪問(wèn)對(duì)象的。這些變量被定義為不可更改的特定類(lèi)型。例如:Employee, Puppy 等等。
- 類(lèi)對(duì)象和數(shù)組變量就是這種引用數(shù)據(jù)類(lèi)型。
- 任何引用數(shù)據(jù)類(lèi)型的默認(rèn)值都為空。
- 一個(gè)引用數(shù)據(jù)類(lèi)型可以被用于任何聲明類(lèi)型和兼容類(lèi)型的對(duì)象。
例如:Animal animal = new Animal("giraffe");
Java 常量
常量是代表固定值的源代碼。他們直接以代碼的形式代表而沒(méi)有任何估計(jì)。
常量可以被分配給任意的原始變量類(lèi)型。例如:
byte a = 68; char a = 'A'
字節(jié)型,整數(shù)型,長(zhǎng)整型和短整型也可以由十進(jìn)制,十六進(jìn)制和八進(jìn)制計(jì)數(shù)系統(tǒng)表示。
當(dāng)用這些技術(shù)系統(tǒng)表示直接量時(shí),前綴 0 是為了標(biāo)明八進(jìn)制,前綴 0x 是為了標(biāo)明十六進(jìn)制。例如:
int decimal = 100; int octal = 0144; int hexa = 0x64;
Java 中的字符串型常量的規(guī)定和其他大多數(shù)語(yǔ)言一樣,也是要寫(xiě)在雙引號(hào)中間。字符串型直接量的例子如下:
"Hello World" "two\nlines" "\"This is in quotes\""
字符和字符串型常量可以包含任意的 Unicode 字母。例如:
char a = '\u0001'; String a = "\u0001";
Java 語(yǔ)言也支持一些特殊的轉(zhuǎn)義序列的字符和字符串直接量。他們是:
轉(zhuǎn)義字符 | 含義 |
---|---|
\n | 換行 (0x0a) |
\r | 回車(chē) (0x0d) |
\f | 換頁(yè) (0x0c) |
\b | 退格 (0x08) |
\s | 空格 (0x20) |
\t | tab |
\" | 雙引號(hào) |
\' | 單引號(hào) |
\ | 反斜杠 |
\ddd | 八進(jìn)制字符 (ddd) |
\uxxxx | 十六進(jìn)制 UNICODE 字符 (xxxx) |
相關(guān)文章
java中進(jìn)程與線程_三種實(shí)現(xiàn)方式總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇java中進(jìn)程與線程_三種實(shí)現(xiàn)方式總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06IntelliJ IDEA中使用mybatis-generator的示例
這篇文章主要介紹了IntelliJ IDEA中使用mybatis-generator,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04springboot+Oauth2實(shí)現(xiàn)自定義AuthenticationManager和認(rèn)證path
本篇文章主要介紹了springboot+Oauth2實(shí)現(xiàn)自定義AuthenticationManager和認(rèn)證path,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09解決參數(shù)命名不規(guī)范,造成使用@NotNull進(jìn)行校驗(yàn)出現(xiàn)的問(wèn)題
這篇文章主要介紹了解決參數(shù)命名不規(guī)范,造成使用@NotNull進(jìn)行校驗(yàn)出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01java開(kāi)發(fā)ServiceLoader實(shí)現(xiàn)機(jī)制及SPI應(yīng)用
這篇文章主要為大家介紹了java開(kāi)發(fā)ServiceLoader實(shí)現(xiàn)機(jī)制及SPI應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Spring-MVC異步請(qǐng)求之Servlet異步處理
這篇文章主要介紹了Spring-MVC異步請(qǐng)求之Servlet異步處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01Mybatis批量更新報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了Mybatis批量更新報(bào)錯(cuò)的問(wèn)題及解決辦法,包括mybatis批量更新的兩種方式,需要的的朋友參考下2017-01-01