日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java速学_5分钟快速入门Java,不看真的可惜了

發布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java速学_5分钟快速入门Java,不看真的可惜了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你好,世界!

源代碼組織方式

Java程序由package+class組成,package對應目錄的相對路徑,class對應文件,如

關于class有如下幾點規則:

文件的名字必須和class的名字一致(public級別的class名字)。

文件必須只包含一個public訪問基本的class(可以包含多個非public級別的class)。

package名字必須和目錄一致。

1

入口方法

App.java

2

最終的項目結構

3

數據類型

8種原子類型

整數類型:byte、short、int和long。

小數類型:float和double。

字符類型:char。

布爾類型:bool。

除此之外的是interface、class和array。

小數類型的常量默認是double類型,聲明float類型的常量需要使用F作為后綴。

4

運算符

算術運算符:+、-、*、/ 和 %,兩個整數相除,結果還是整數。

賦值運算符:=、+=、-=、*=、/=、%=、&=、|=、~=、^=、>>=、<<= 、 <<<=、++ 和 --。

比較運算符:==、!=、>、>=、< 和 <=。

邏輯運算符:&&、|| 和 !。

位運算符:&、|、~、^、>>、<< 和 <<

5

字符串

為了高效的修改字符串Java引入了StringBuffer。

6

數組

聲明語法

DataType[] name 或 DataType name[]。

初始化語法

DataType[] name = new DataType[length]。

DataType[] name = new DataType[] { element1, element2, ...elementn }。

DataType[] name = { element1, element2, ...elementn }。

多維數組

只有不等長多維數組DataType[][],沒有DataType[xxx, xxx]。

控制結構

條件:if-else if-else、switch-case-default和三元運算符(?:)。

循環:while、do-while、for和foreach。

Labeled block。

最近覺得label是個不錯的東西,最起碼多了一種選擇。

方法

Java支持變長方法參數。

7

注意:調用自身的構造方法是用this(xxx,xxx,...)來完成,且必須位于第一行。

靜態成員

Java中類似靜態構造方法的結構,稱之為:靜態初始化代碼塊,與之對應的是實例初始化代碼塊,見下例:

8

繼承

繼承使用 extends,抽象類和抽象方法使用abstract聲明,向下轉型使用 (ChildType)instance,判斷是否是某個類型使用 instanceof,見下例:

9

重寫

Java中的重寫規則比較靈活,具體如下:

除了 private 修飾之外的所有實例方法都可以重寫,不需要顯式的聲明。

重寫的方法為了顯式的表達重寫這一概念,使用 @Override進行注解。

重寫的方法可以修改訪問修飾符和返回類型,只要和父類的方法兼容(訪問級別更高,返回類型更具體)。

可以使用final將某個方法標記為不可重寫。

在構造方法中使用 super(xxx, xxx)調用父類構造方法,在常規實例方法中使用 super.method(xxx, xxx)調用父類方法。

Java不支持覆蓋(new)。

10

包的名字和項目路徑下的目錄路徑相對應,比如:項目路徑為:C:\Study,有一個Java源文件位于:C:\Study\com\happyframework\study\App.java,那么App.java的包名字必須為:com.happyframework.study,且 App.java 的第一行語句必須為:package com.happyframework.study。

Java支持三種導入語法:

導入類型:import xxx.xxx.xxxClass。

導入包:import xxx.xxx.xxx.*。

導入靜態成員:import static xxx.xxx.*。

11

訪問級別

Java支持四種訪問級別:public、private、protected 和 default(默認),類型和接口只能使用public 和 default,成員和嵌套類型可以使用所有,下面簡單的解釋一下 protected 和 default。

protected 修飾過的成員只能被自己、子類和同一個包里的(不包括子包)其他類型訪問。

default 修改過的類型或成員只能被自己和同一個包里的(不包括子包)其他類型訪問。

嵌套類

Java支持如下幾種嵌套類:

nested class,定義在類型內部的類型。

static nested class,使用 static 聲明的 nested class,static nested class 可以訪問所有外部類的靜態成員。

inner class,沒有使用 static 聲明的 nested class,inner class 可以訪問所有外部類的實例成員,inner class 不能定義靜態成員。

代碼示例

特殊的inner class:local class

除了inner class的規則之外,local class可以訪問局部final變量,在Java8中有更多的改進。

特殊的local class:anonymous class

12

常量

不廢話了,直接看代碼:

有一點需要注意的是:只有一種情況Java的常量是編譯時常量(編譯器會幫你替換),其它情況都是運行時常量,這種情況是:靜態類型常量且常量的值可以編譯時確定。

接口

Java的接口可以包含方法簽名、常量和嵌套類,見下例:

13

枚舉

Java枚舉是class,繼承自java.lang.Enum,枚舉中可以定義任何類型可以定義的內容,構造方法只能是private或package private,枚舉成員會被編譯器動態翻譯為枚舉實例常量,見下例:

調用枚舉的構造方法格式是:常量名字(xxx, xxx),如果構造方法沒有參數只需要:常量名子,如:

14

異常

Java中的異常分為checked和unchecked,checked異常必須聲明在方法中或被捕獲,這點我覺得比較好,必定:異常也是API的一部分,見下例:

所有繼承Exception的異常(除了RuntimeException和它的后代之外)都是checked異常。

15

裝箱和拆箱

Java提供了原始類型對應的引用類型,在1.5之后的版本還提供了自動裝箱和自動拆箱,結合最新版本的泛型,幾乎可以忽略這塊。

注意:自動裝箱和自動拆箱是Java提供的語法糖。

16

泛型

Java的泛型是編譯器提供的語法糖,官方稱之為:類型參數搽除,先看一下語法,然后總結一點規律:

泛型方法

測試代碼

調用泛型方法

輸出的結果是

17

泛型類

測試代碼

調用代碼

輸出結果

18

泛型接口

測試代碼

調用代碼

輸出結果

19

類型參數約束

測試代碼

調用代碼

輸出結果

類型搽除過程

將泛型定義中的類型參數去掉。

2.將T換成extends指定的約束類型,默認是Object。

3.如果有非泛型類型繼承或實現了泛型基類或接口,而且進行了重寫,根據情況,編譯器會自動生成一些方法。

4.根據泛型參數的實際參數搽除調用代碼。

這里說的不一定正確,特別是Java泛型的約束支持&(如:可以約束實行多個接口),不過過程估計差別不大,我沒有看Java語言規范,這里只是大概的猜測。

然后今天就講到這里啦,大家記得點贊收藏,分享轉發,關注小姐姐哦!

-END-

加下面這個雙魚小姐姐微信

總結

以上是生活随笔為你收集整理的java速学_5分钟快速入门Java,不看真的可惜了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。