20175311 2018-2019-2 《Java程序設計》第7周學習總結

20175311 2018-2019-2 《Java程序設計》第7周學習總結

教材學習內容總結

這一週我主要學習了第八章的內容-經常使用實用類String類java

  • 構造String對象
  • 字符串的並置
  • String類的經常使用方法
  • 字符串與基本數據的互相轉化
  • 對象的字符串表示
  • 字符串與字符、字節數組
  • 正則表達式及字符串的替換和分解

教材學習中的問題和解決過程

字符串常量概述

String 類表明字符串。Java 程序中的全部字符串字面值(如 "abc" )都做爲此類的實例實現
字符串是常量;它們的值在建立以後不能更改。字符串緩衝區支持可變的字符串。由於 String 對象是不可變的,因此能夠共享。git

建立字符串對象兩種方式的區別

其中兩種方式分別爲直接賦值方式建立對象經過構造方法建立字符串對象
直接賦值(String str = "hello"):只開闢一塊堆內存空間,而且會自動入池,不會產生垃圾。
構造方法(String str= new String("hello");):會開闢兩塊堆內存空間,其中一塊堆內存會變成垃圾被系統回收,並且不可以自動入池,須要經過public String intern();方法進行手工入池。
在開發的過程當中不會採用構造方法進行字符串的實例化正則表達式

代碼調試中的問題和解決過程

  • 問題1:根據書本上Example8_2.java的例子,開始時並不理解爲何有時候字符串相互比較獲得的結果爲true,而有時候又是false。
  • 問題1解決方案:課本中介紹了調用equals(String s)方法比較當前的字符串對象是否與參數s的字符序列相同。簡單來講,就是比較二者內容是否相同,若相同返回true,不相同則返回false。 而若是直接利用「==」來比較的話,比較的是字符串的地址。
  • 問題2:對於public int indexOf (String s)的做用不理解。
  • 問題2解決方案:課本上詳細說起,序列的索引位置從0開始,若是設置了具體的索引位置則從設置處開始。依次遍歷以後的元素直到找到對應的字符串。

[代碼託管]

https://gitee.com/H2742/HelloWorld
數組

一些心得:

這周咱們學習了字符串的定義、經常使用方法等內容,這周的學習主要是以看書和看代碼爲主。不過更多的時間仍是花在告終對做業上面,由於在清明以前咱們的結對做業還有很大一部分沒有完成,加上這一章的內容不是特別艱澀難懂,不像以前幾個章節。在看書時,例子Example8_8中,示例將密碼學的加解密過程利用java的程序實現,剛恰好上週也有密碼學的實驗課,要求也是讓咱們編寫代替密碼體制的加解密,當時由於尚未看到這一章,因此我用的是c語言進行編寫。而在看到這道例題時,我仔細的研究了一下,原來java也一樣能夠用來編寫加解密的程序。能夠說是很神奇了,並且受益不淺哈哈哈。
學習

相關文章
相關標籤/搜索