Java 學習筆記02

Java學習筆記02

要點記錄:java

  1. 二維數組的維數
    haha [][] // 已定義
    int rowLength=haha.length;// 行數
    int colLength=haha [i].length;// 列數。

2.String有不可變性,每次鏈接按鍵中讀取的字符串都會構建一個新的String,浪費空間,因此使用StringBuilder。數組

3.extends 是繼承接口,implement 是一個類實現一個接口的關鍵字。
extends 是繼承父類,只要那個類不是聲明爲 final 或者那個類定義爲 abstract 的就能繼承,JAVA 中不支持多重繼承,可是能夠用接口來實現,這樣就要用到implements,繼承只能繼承一個類,但 implements 能夠實現多個接口,用逗號分開就好了,好比 class A extends B implements C,D,E。
implements,實現父類,子類不能夠覆蓋父類的方法或者變量。即便子類定義與父類相同的變量或者函數,也會被父類取代掉。這兩種實現的具體使用,是要看項目的實際狀況,須要實現,不能夠修改,用implements,只定義接口須要具體實現,或者能夠被修改擴展性好,用 extends。安全

4.建立套接字模板,注意端口號直接寫數字服務器

// 建立 Socket 客戶端對象
Socket s = new Socket("127.0.0.1",6666);
// 建立 ServerSocket 服務器端對象。
ServerSocket ss = new ServerSocket(6666);
// 監聽服務器鏈接
s = ss.accept();

5.若是 finally 塊中有 return 語句的話,它將覆蓋掉函數中其餘 return 語句。多線程

6.static 表示 「全局」 或者 「靜態」 的意思,用來修飾成員變量和成員方法,也能夠造成靜態 static 代碼塊,可是 Java 語言中沒有全局變量的概念。app

static 變量在第一次使用的時候初始化,但只會有一份成員對象。jsp

7.內存泄露的直接表現
java 是自動管理內存的,一般狀況下程序運行到穩定狀態,內存大小也達到一個 基本穩定的值。可是內存泄露致使 Gc 不能回收泄露的垃圾,內存不斷變大.
最終超出內存界限,拋出 OutOfMemoryExpection。函數

8.已有構造方法A(int a)
調用普通方法:this.A(x);
顯式調用父類構造方法:super(x);
在A的其它構造方法中調用該構造方法:this(x)性能

9.java 語言是強類型語言,支持的類型分爲兩類:基本類型和引用類型。
基本類型包括 boolean 類型和數值類型,數值類型有整數類型和浮點類型。
整數類型包括:byte、short、int、long 和 char;浮點類型包括:float 和 double
引用類型包括類、接口和數組類型以及特殊的 null 類型。學習

10.JEE5.0中的Servlet相關的就下面這幾個包:
javax.servlet
javax.servlet.jsp
java.servlet.jsp.el
java.servlet.jsp.tagext
而最用得多的就是
javax.servlet
javax.servlet.http
這兩個包了.

11.==的做用
針對基本類型:比較的是值是否相同
針對引用類型:比較的是引用是否相同

12.equals本質上就是==只不過String和Integer等重寫了equals方法,因此變成了值的比較,要否則equals比較具備相同值的兩個對象,結果仍是false。

13.final在java中的做用

  • final 修飾的類叫最終類,該類不能被繼承。
  • final 修飾的方法不能被重寫。
  • final 修飾的變量叫常量,常量必須初始化,初始化以後值就不能被修改。

14.java 中的 Math.round (-1.5) 等於多少?
等於 -1,由於在數軸上取值時,中間值(0.5)向右取整,因此正 0.5 是往上取整,負 0.5 是直接捨棄。

15.String不屬於基礎數據類型,是一個對象。

16.java 中操做字符串都有哪些類?它們之間有什麼區別?

操做字符串的類有:String、StringBuffer、StringBuilder。

String 和 StringBuffer、StringBuilder 的區別在於 String 聲明的是不可變的對象,每次操做都會生成新的 String 對象,而後將指針指向新的 String 對象,而 StringBuffer、StringBuilder 能夠在原有對象的基礎上進行操做,因此在常常改變字符串內容的狀況下最好不要使用 String。

StringBuffer 和 StringBuilder 最大的區別在於,StringBuffer 是線程安全的,而 StringBuilder 是非線程安全的,但 StringBuilder 的性能卻高於 StringBuffer,因此在單線程環境下推薦使用 StringBuilder,多線程環境下推薦使用 StringBuffer。

17.String str="i" 與 String str=new String ("i") 同樣嗎?

不同,由於內存的分配方式不同。String str="i" 的方式,java 虛擬機會將其分配到常量池中;而 String str=new String ("i") 則會被分到堆內存中。

18.字符串反轉示例代碼

// StringBuffer reverse
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("abcdefg");
System.out.println(stringBuffer.reverse()); 
// gfedcba
// StringBuilder reverse
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("abcdefg");
System.out.println(stringBuilder.reverse()); 
// gfedcba

19.String 類的經常使用方法都有那些?

  • indexOf ():返回指定字符的索引。
  • charAt ():返回指定索引處的字符。
  • replace ():字符串替換。
  • trim ():去除字符串兩端空白。
  • split ():分割字符串,返回一個分割後的字符串數組。
  • getBytes ():返回字符串的 byte 類型數組。
  • length ():返回字符串長度。
  • toLowerCase ():將字符串轉成小寫字母。
  • toUpperCase ():將字符串轉成大寫字符。
  • substring ():截取字符串。
  • equals ():字符串比較。

20.抽象類不必定要有抽象方法

普通類不能包含抽象方法,抽象類能夠包含抽象方法。抽象類不能直接實例化,普通類能夠直接實例化。

21.抽象類不能使用final修飾
定義抽象類就是讓其餘類繼承的,若是定義爲 final 該類就不能被繼承,這樣彼此就會產生矛盾,因此 final 不能修飾抽象類。

22.Files 的經常使用方法都有哪些?

  • Files.exists ():檢測文件路徑是否存在。
  • Files.createFile ():建立文件。
  • Files.createDirectory ():建立文件夾。
  • Files.delete ():刪除一個文件或目錄。
  • Files.copy ():複製文件。
  • Files.move ():移動文件。
  • Files.size ():查看文件個數。
  • Files.read ():讀取文件。
  • Files.write ():寫入文件。

https://mp.weixin.qq.com/s?__biz=MzIwMTY0NDU3Nw==&mid=2651938287&idx=2&sn=5d983591e8d8206af557ad9e45431173&chksm=8d0f32a1ba78bbb772cf14abd54ea463e564b74a8eeb8323d8fbbb0b49210cda2a8c1718c5a5&scene=21#wechat_redirect

相關文章
相關標籤/搜索