亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java學習筆記(Java程序設計實用教程4th——葉核亞)

2019-11-06 06:56:14
字體:
來源:轉載
供稿:網友

第一天

1. java命名規范:關鍵字、變量、對象、方法、包等名字通常全部字母小寫,如果是多個單詞構成的話就首字母小寫,后面單詞首字母大寫,比如String類中的toString;類名首字母大寫;常量名全部大寫。

2. 基本數據類型:

**1)數據類型分類:**Java分為基本類型和引用類型 。其中,基本類型有byte、short、int、long、float、double、char、boolean,它們的變量作為參數傳遞時只是復制了一份,所以不會改變,比如int a=4;傳到addOne(int a)這個方法執行后a的值還是4。引用類型有數組、類和接口,當它們的變量當做值傳遞的時候就會改變,就像C語言里面傳遞指針那樣。

2)基本數據類型的取值范圍以及字節數:

我覺得這個寫得很好:Java 基本數據類型取值范圍講解

注意一個:boolean的默認值是false。

3)數組:

數組的聲明:int a[];//可以這樣int[] a;//也可以這樣

但是要注意一下,int a[],i;int[] a,i;不一樣的:a都是數組沒問題,但是第一種那里的i是整型,而第二種那里的是數組!??!

用于數組的逐元循環的for語句:比如:int fib[]=new int[n];for(int value:fib)//這個就是了 System.out.PRintln(value);

這里的value就會依次獲得數組的值。要注意value的類型要和數組的類型一樣。

數組的引用模型:

數組是一個引用類型,所以它傳值給方法之后,方法體里面是可以改變數組的元素的。來一個對比看看。int a=1,b;先讓b=a;這個之后b=a=1了,然后再調用方法addOne(b);之后,b=1+1=2;但是a還是為1;再看看數組的:int a[]={1,2,3,4,5},b[];讓b=a(這就是引用賦值了);再b[0]=999;這時候a[0]也變成了999了。就像C++里面的指針一樣,a,b都指向了同一個數組.

二維數組:int array[][]=new int[5][6];System.out.println(array.length);//輸出5,即二維數組的行數System.out.println(array[0].length);//輸出6,即二位數組的列數//不規則的二維數組int arr[][]=new int[3][];//申請了第一維的空間arr[0]=new int[3];//這里二維數組的第一行就有3個int空間了arr[1]=new int[6];//這里二維數組的第二行就有6個int空間了

4) 參數的傳遞:

基本數據類型—》傳值引用數據類型—》傳引用常量形參:public static void functionA(final int n){ //聲明n為常量,方法體里不能賦值 n=10;//這樣是錯的,不能對常量賦值}public static void functionB(final int arr[]){ //聲明數組為常量,在方法體里面不能更改引用 arr[0]=10;//可以,更改的是數組元素 arr = new int[4];//不行,不能對常量賦值,即不能改變數組的引用}可變形參:向一個方法傳遞可變數目的元素,除了數組參數,還可以通過可變形參實現。在形參類型后面加”…”就表示改形參數目可變(也就是把它當做一個數組)。但是可變形參只能用在最后一個形參位置,并且一個方法最多只能有一個可變形參。比如:public static void print(int... value);//可變形式參數,可將value視為int[]類型

【注意】在方法重載中,重載方法之間必須以參數列表相區別,不能以返回值相區別?。?!因為在編譯時,編譯器是根據方法實際參數的數據類型、個數和次序來確定執行重載方法的哪一個。

第二天

對象引用模型:首先看看一個測試代碼public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Year y1 = new Year(2020, 1, 1); y1.print();//輸出是 Year y2 = y1; y2.print(); y2 = new Year(); y2.print(); y2.set(y1); y2.print(); }}class Year { private int year; private int month; private int day; public Year(int year, int month, int day) { super(); this.year = year; this.month = month; this.day = day; } public Year() { this.year = 2017; this.month = 1; this.day = 1; } public void set(Year y) { this.year = y.year; this.month = y.month; this.day = y.day; } //也可以是拷貝構造函數,效果同上// public Year(Year y){// this.year = y.year;// this.month = y.month;// this.day = y.day;// } public void print() { System.out.println(year + " " + month + " " + day); }}

運行結果: 總結一下:如果兩個對象之間是賦值,如上代碼中的y2=y1,這時候y2是不會開辟空間的,y1和y2指向同一個對象,但是用了new后就會給它開辟空間,y2=new Year();y2就有了自己的地盤了。這就像是C++里面的一樣,只要有新對象產生就會有空間的開辟。記住,有new就開辟。 嗯,就是這樣(圖一)

**【拓展一下】**return this.year+’-‘+this.month+’-‘+this.day;和 return return this.year+”-“+this.month+”-“+this.day;的區別:前一個返回值是int后一個是String,不信可以試試。

2.對象關系和比較運算(都是boolean):

instanceof運算符是判斷一個對象所引用的實例是不是屬于某個類。比如上面的代碼,y1就屬于Year,所以 y1 instanceof Year;就是true咯。

基本數據類型的比較:比如int,float,double等等,都是只比較兩個變量的值是不是相等。

對象比較:這個又有兩種比較了。第一種就是形如 y1==y2;第二種就是y1.equals(y2)。讓我們回到上面的圖一看看,如果是情況一這樣,那么兩種方法都是true了,但是情況二中兩個都是false??梢约由线@兩行代碼測測。System.out.println(y1==y2);System.out.println(y1.equals(y2));

3.靜態成員:

靜態成員屬于類,即使沒有創建實例,也可以通過類名訪問靜態成員變量/方法。在靜態成員方法體中,不能訪問實例成員,不能使用this引用?。。。。。。。?/p>

同名的實例方法被覆蓋,同名的靜態方法被隱藏。它們的區別在于:子類對象轉換成父類對象后能夠訪問父類被隱藏的變量和方法,而不能訪問父類被覆蓋的變量和方法。子類如要訪問父類中被隱藏的實例變量,則需要使用super關鍵字;如果要訪問父類中被隱藏的類變量,則需要用父類的名字加“.”來訪問。

還是看個例子好: //file name:Parent.java

public class Parent { protected static String kind = "This is Parent class";// 這是類變量 protected static int age = 50;// 這是類變量 protected String name = "Parent"; // 這是實例變量 /** * 靜態方法 * * @return 返回Parent的kind */ public static String getKind() { System.out.print("Parent.getKind():"); // return this.kind;//錯誤 return kind; } /** * 靜態方法 * * @return 返回Parent的age */ public static int getAge() { System.out.print("Parent.getAge():"); return age;// 如果是this.age,錯誤 } /** * 實例方法 * * @return Parent的name */ public String getName() { return this.name; } /** * final方法 * * @return age+1 */ public final int nextAge() { return ++age; }}

//file name:Child.java

public class Child extends Parent { protected static String kind = "This is CHild class"; protected int age = 25;// 實例變量,這個和Parent中不同 protected String name = "Child"; /** * 靜態方法,隱藏了Parent中的方法 * * @return child中的kind */ public static String getKind() { System.out.print("Child.getKind():"); return kind; } /** * 靜態方法 * * @return 父類的名字 */ public static String getParentKind() { // 通過父類名加.訪問 return Parent.kind; } /** * 實例方法 * * @return Child的name */ public String getName() { return this.name; } /** * 實例方法 * * @return Parent中的name */ public String getParentName() { return super.name; } // //這樣是錯的,因為實例方法不能覆蓋父類的靜態方法 // public int getAge(){ // return this.age; // } // 這樣也是不行的,父類中的final方法不能夠被覆蓋 // public int nextAge(){ // return ++age; // } public static void main(String[] args) { // TODO Auto-generated method stub Child child = new Child(); System.out.println("child name:" + child.name + ";age:" + child.age + ";kind:" + child.kind); Parent parent = child;// 將child類型轉換成Parent對象 System.out.println("After name:" + parent.name + ";age:" + parent.age + ";kind:" + parent.kind); System.out.println(); System.out.println("child.getParentName():" + child.getParentName()); System.out.println("child.getParentKind():" + child.getParentKind()); System.out.println(); child.getName(); child.getKind(); parent.getName(); parent.getKind(); }}

運行結果

分析:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品黄色av| 欧美一级片一区| 国产精品永久免费| 欧美一区二区三区四区在线| 欧美—级a级欧美特级ar全黄| 97精品伊人久久久大香线蕉| 高跟丝袜欧美一区| 日韩hd视频在线观看| 国产91在线播放九色快色| 91精品国产自产在线老师啪| 国产香蕉97碰碰久久人人| 日韩av男人的天堂| 国产精品自拍小视频| 日产精品久久久一区二区福利| 欧美激情免费视频| 精品无码久久久久久国产| 国产精品久久中文| 国产精品视频在线播放| 亚洲美女av网站| 91免费福利视频| 日韩国产高清污视频在线观看| 久热精品视频在线免费观看| 久久久久久久久久婷婷| 欧美超级乱淫片喷水| 青青久久aⅴ北条麻妃| 亚洲а∨天堂久久精品喷水| 91中文在线视频| 欧美日韩成人网| 亚洲精品综合久久中文字幕| 中文字幕av一区| 国产成人精品在线视频| 欧美电影《睫毛膏》| 日韩av免费在线看| 成人性生交xxxxx网站| 亚洲第一av网站| 日韩在线视频免费观看高清中文| 国产成人在线一区二区| 久久亚洲欧美日韩精品专区| 亚洲3p在线观看| 日韩av电影在线网| 超碰日本道色综合久久综合| 日韩电影免费观看在线观看| 欧美大片va欧美在线播放| 亚洲视频国产视频| 欧美黑人一级爽快片淫片高清| 日韩在线视频一区| 美女av一区二区三区| 欧美性猛交xxxx久久久| 91麻豆国产语对白在线观看| 久久久久久久91| 人人澡人人澡人人看欧美| 日韩欧美一区视频| 夜夜躁日日躁狠狠久久88av| 欧美日韩999| 国内精品视频一区| 国产精品91视频| 成人黄色免费在线观看| 日韩高清av在线| 欧美二区在线播放| 国产精品视频永久免费播放| 欧美精品一区在线播放| 日本免费在线精品| 欧美成人h版在线观看| 国产精品久久久久久亚洲调教| 日本中文字幕不卡免费| 亚洲成人激情在线| 91黑丝在线观看| 国产成一区二区| 黑人与娇小精品av专区| 亚洲第一区第二区| 亚洲一区二区中文| 欧美精品电影免费在线观看| 亚洲福利影片在线| 国产成人精品免高潮费视频| 成人疯狂猛交xxx| 成人有码在线视频| 日韩精品在线视频| 亚洲人成电影网站色| 国产精品久久久| 欧美激情乱人伦一区| 久久人人看视频| 色偷偷噜噜噜亚洲男人的天堂| 中文字幕欧美精品日韩中文字幕| 亚洲电影天堂av| 国产日韩欧美综合| 欧美激情中文网| 日韩精品中文字幕在线| 国产精品永久免费视频| 亚洲美女免费精品视频在线观看| 日韩一区二区欧美| 亚洲人午夜精品免费| 欧美性猛交视频| 欧美日韩xxxxx| 欧美亚洲一级片| 欧美成人免费小视频| 亚洲欧美激情精品一区二区| 国产一区二区三区在线免费观看| 夜夜狂射影院欧美极品| 日韩美女主播视频| 国产97在线亚洲| 欧美老女人性生活| 一区二区三区 在线观看视| 亚洲国产成人精品女人久久久| 久久免费国产精品1| 久久精品国产免费观看| 国产成人综合精品在线| 欧美日韩国产综合新一区| 亚洲国产日韩欧美在线动漫| 日韩激情视频在线播放| 亚洲一区999| 国产在线观看91精品一区| 亚洲精品免费一区二区三区| 精品久久久国产| 久热爱精品视频线路一| 亚洲精品v天堂中文字幕| 日本亚洲精品在线观看| 美女啪啪无遮挡免费久久网站| 欧美疯狂做受xxxx高潮| 亚洲国产古装精品网站| 中文字幕视频在线免费欧美日韩综合在线看| 26uuu国产精品视频| 日韩在线精品视频| 91久久国产精品| 亚洲在线免费视频| 亚洲精品久久在线| 中文字幕欧美专区| 97高清免费视频| 国产精品视频免费在线| 欧美一级电影久久| 亚洲精品久久久久久下一站| 亚洲区一区二区| 26uuu亚洲国产精品| 97视频在线播放| 久久天堂av综合合色| 亚洲最大成人在线| 综合久久五月天| 欧美裸体男粗大视频在线观看| 亚洲影院色无极综合| 国产精品入口福利| 97成人超碰免| 日本不卡免费高清视频| 久久亚洲精品网站| 欧美激情国产日韩精品一区18| 国内外成人免费激情在线视频网站| 亚洲欧洲黄色网| 久久69精品久久久久久国产越南| 午夜精品久久久久久久99热| 欧美电影免费在线观看| 色偷偷av亚洲男人的天堂| 国产在线不卡精品| 日韩高清不卡av| 欧美午夜美女看片| 国产精品成av人在线视午夜片| 国产精品av在线| 91在线高清视频| 亚洲精品视频网上网址在线观看| 欧美一区二区三区艳史| 亚洲成人网在线| 国产精品视频久| 黄色一区二区在线观看| 最近中文字幕2019免费| 欧美一区二粉嫩精品国产一线天| 欧美美最猛性xxxxxx| 成人久久精品视频|