java學習筆記三
阿新 • • 發佈:2019-02-13
任何一門語言都是由若干種不同的資料型別所組成,在java之中資料型別一共分為兩類:
· 基本資料型別(數值操作): 預設值
|- 數值型:
|- 整型:byte、short、int、long; 0
|- 浮點型:float、double; 0.0
|- 字元型:char; '\u0000'
|- 布林型:boolean; false
· 引用資料型別(記憶體操作):
· byte的資料長度是8位,-128 ~ 127;
· int資料的長度為32位,-2147483648 ~ 2147483647;
· double可以儲存的資料範圍是最大的。
所有的程式的操作之中的資料型別轉換 :
· 如果小範圍和大範圍操作,小範圍自動變為大範圍,例如:int + long = long;
· 如果現在把表示範圍大的資料變成表示範圍小的資料,則必須強制完成,例如:int型 = (int) long型;
在各個語言之中,char和int之間是可以互相轉換的,在C語言之中轉換的編碼是ASCII碼,當時的編碼範圍:
· 大寫字母範圍:65 ~ 90;
· 小寫字母範圍:97 ~ 122。
大寫字母和小寫字母之間差了32。
所有的資料型別只要是碰到了String的連線操作(+),那麼所有的型別都會先自動向String轉型,之後再進行字串的連線操作。
面試題:請解釋&和&&、|和||的區別?
· 邏輯運算上:
|- &:表示普通與,所有的判斷條件都要依次執行;
|- &&:表示短路與,若干個條件,如果前面的條件返回了false,那麼後面的不再判斷,結果就是false;
|- |:表示普通或,所有的判斷條件都要依次執行;
|- ||:表示短路或,若干個條件,如果前面的條件返回了true,後面的不再判斷,結果就是true。
· 位運算:&表示位與計算、|表示位或的計算。
程式結構在語言之中一共分為三種:順序結構、選擇結構、迴圈結構。
· while迴圈:在不確定迴圈次數,但是確定迴圈結束條件的情況下使用;
· for迴圈:確定迴圈次數的情況下使用。
方法過載指的是方法名稱相同,引數的型別或個數不同,呼叫的時候將會按照傳遞的引數型別和個數完成不同的方法體的執行。
方法過載的時候並沒有規定出返回值型別必須統一,即:過載的方法返回值型別可以不一樣,但是從開發的角度而言,建議所有方法過載之後返回值型別統一
System.out.println()實際上就是進行了方法的過載
遞迴操作指的是方法自己呼叫自己的形式,但是在進行遞迴操作的時候必須滿足如下的幾個條件:
· 必須有結束條件;
· 每次呼叫的時候都需要改變傳遞的引數
而在實際的工作之中,遞迴儘量少去使用,因為使用不當,就可能造成記憶體溢位。
switch在JDK 1.7之後可以對字串資料進行判斷了;
面向過程的操作是以程式的基本功能實現為主,實現之後就完成了,也不考慮修改的可能性,面向物件,更多的是要進行子模組化的設計,每一個模組都需要單獨存在,並且可以被重複利用,所以,面向物件的開發更像是一個具備標準的開發模式。
· 繼承:在原本的基礎之上繼續進行擴充;
· 多型:在一個指定的範圍之內進行概念的轉換。
· 基本資料型別(數值操作): 預設值
|- 數值型:
|- 整型:byte、short、int、long; 0
|- 浮點型:float、double; 0.0
|- 字元型:char; '\u0000'
|- 布林型:boolean; false
· 引用資料型別(記憶體操作):
|- 陣列、類、介面; null
今天主要講解基本型別的資料,而且每種基本資料型別也都有其自己的儲存資料範圍,這些範圍如下。· byte的資料長度是8位,-128 ~ 127;
· int資料的長度為32位,-2147483648 ~ 2147483647;
· double可以儲存的資料範圍是最大的。
所有的程式的操作之中的資料型別轉換
· 如果小範圍和大範圍操作,小範圍自動變為大範圍,例如:int + long = long;
· 如果現在把表示範圍大的資料變成表示範圍小的資料,則必須強制完成,例如:int型 = (int) long型;
在各個語言之中,char和int之間是可以互相轉換的,在C語言之中轉換的編碼是ASCII碼,當時的編碼範圍:
· 大寫字母範圍:65 ~ 90;
· 小寫字母範圍:97 ~ 122。
大寫字母和小寫字母之間差了32。
Java在定義字元的時候所使用的並不是ASCII碼,而是UNICODE編碼,這是一種使用十六進位制定義的編碼,可以表示出任意的文字,這就包含了中文定義。
面試題:請解釋&和&&、|和||的區別?
· 邏輯運算上:
|- &:表示普通與,所有的判斷條件都要依次執行;
|- &&:表示短路與,若干個條件,如果前面的條件返回了false,那麼後面的不再判斷,結果就是false;
|- |:表示普通或,所有的判斷條件都要依次執行;
|- ||:表示短路或,若干個條件,如果前面的條件返回了true,後面的不再判斷,結果就是true。
· 位運算:&表示位與計算、|表示位或的計算。
程式結構在語言之中一共分為三種:順序結構、選擇結構、迴圈結構。
· while迴圈:在不確定迴圈次數,但是確定迴圈結束條件的情況下使用;
· for迴圈:確定迴圈次數的情況下使用。
方法過載指的是方法名稱相同,引數的型別或個數不同,呼叫的時候將會按照傳遞的引數型別和個數完成不同的方法體的執行。
方法過載的時候並沒有規定出返回值型別必須統一,即:過載的方法返回值型別可以不一樣,但是從開發的角度而言,建議所有方法過載之後返回值型別統一
System.out.println()實際上就是進行了方法的過載
遞迴操作指的是方法自己呼叫自己的形式,但是在進行遞迴操作的時候必須滿足如下的幾個條件:
· 必須有結束條件;
· 每次呼叫的時候都需要改變傳遞的引數
而在實際的工作之中,遞迴儘量少去使用,因為使用不當,就可能造成記憶體溢位。
switch在JDK 1.7之後可以對字串資料進行判斷了;
面向過程的操作是以程式的基本功能實現為主,實現之後就完成了,也不考慮修改的可能性,面向物件,更多的是要進行子模組化的設計,每一個模組都需要單獨存在,並且可以被重複利用,所以,面向物件的開發更像是一個具備標準的開發模式。
在面向物件定義之中,也規定了其一些基本的特徵:
· 封裝:保護內部的操作不被破壞;· 繼承:在原本的基礎之上繼續進行擴充;
· 多型:在一個指定的範圍之內進行概念的轉換。
對於面向物件的開發來講也分為三個過程:OOA(面向物件分析)、OOD(面向物件設計)、OOP(面向物件程式設計)。