程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中利用字符串連接解決問題

Java中利用字符串連接解決問題

編輯:關於JAVA

在應用程序開發過程中,使用的最多的數據類型就是字符串 。在Java語言平台中也是如此。為此掌握 字符串的處理技巧,無疑是一位數據庫管理員必須要掌握的技能。筆者這裡就給大家介紹如何利用字符串 連接來解決一些實際的問題。

一、 字符串連接概述。

在編寫應用程序的時候,我們往往需要將多個字符串連接起來,來完成特定的功能。如現在有兩個字 符串變量,分別為名字(變量名為name)和年齡(變量名為age)。現在需要在屏幕上輸出“我的名字是某某 ,年齡多少”這個字符串。這個語句該如何寫呢?可以寫為“我的名字是”+name+“,年齡為”+age。也 就是說,在Java語言中,可以通過+號將多個字符串(包括變量)連接成一個字符串。在屏幕上打印出來或 者將其賦值給一個新的字符串變量。在進行這個字符串連接的時候,大家需要注意一點。也許有些程序員 以前學過其他的開發語言,如SQL語言等等。不同的語言采用的字符串連接字符是不同的。如在SQL中采用 的就是||符號。有時候,在開發應用程序的時候,開發人員可能會混淆。如在利用JAVA語言開發應用程序 ,在代碼中需要加入SQL語句從數據庫中查詢數據。此時就有可能在JAVA代碼中和SQL代碼中都要用到字符 串連接的情況(SQL代碼中要將多個字段的內容連接為一個字段)。由於兩個代碼所采用的連接符號不同, 所以可能會搞錯。

二、 利用字符串連接解決分行問題。

在JAVA開發平台中,可以利用+號將多個字符串合並為一個字符串。不過在實際工作中,這個合並功能 往往還可以幫助系統開發人員解決一些棘手的問題。如根據語法規定,JAVA代碼中一句相連的字符串不能 夠分開在兩行中書寫。這是什麼意思呢?如現在有一個字串比較長,為“我的名字叫蘿卜,今年29歲,在 寧波工作”。如果將這個字符串寫在同一行的話,那麼這一行會很長,從而影響代碼的閱讀。但是,筆者 希望其在屏幕上輸出或者保存在文件中時,則是在同一行。在這種情況下,該如何處理呢?

確實,這是應用程序開發人員在程序開發過程中經常遇到的一個問題。因為在書寫代碼時,一個好的 程序開發人員應該兼顧到其代碼的美觀,這有助於程序開發人員閱讀代碼。畢竟有時候需要多個程序開發 人員一同完成某個任務。而不能夠只完成某個特定的功能就可以了。此時,為了代碼的美觀與更好的閱讀 性,有經驗的程序開發人員往往會利用這個+號連接字符來處理這個分行的問題。

由於對於長的字符串,JAVA代碼不能夠分為兩行來寫。否則的話,系統就會提示語法錯誤。遇到這種 情況時,為了提高閱讀性,我們往往要求程序開發人員把他們分為兩行,同時利用加號將他們連接起來。 如下所示:

“我的名字叫蘿卜,今年29歲,”+

“在寧波工作”

也就是說,應用程序開發人員可以使用+號將兩個字符串連接起來,然後在+號處換行,從而將兩個字 符串連接起來。此時,JAVA編譯器會認為這是合法的,允許程序開發人員采用這個技巧來對字符串進行合 理的分行。所以說,利用字符串連接可以有效的解決分行問題。

三、 利用字符串連接來實現數據類型的自動轉換。

在各種開發語言中,都有各種各樣的數據類型。有時候為了滿足特定的需要,要對他們進行數據類型 的轉換。如需要將數字類型的數據轉換為字符串類型的數據;再如將某個字符串“2432”轉換為數值類型 的數據。在JAVA語言的開發平台中,數據類型的轉換有兩種方式,分別為隱式轉換與顯示轉換。一般情況 下,從低級數據類型向高級類型的轉換,系統會自動進行轉換,而不需要程序員進行任何的手工操作或者 指定。這個從低級數據類型向高級數據類型的轉換,就叫做隱式轉換。在對數據類型進行轉換的時候,程 序開發人員需要遵守嚴格的規則,否則的話容易出現錯誤。如從低精度數據類型向高精度數據類型轉換的 時候,則永遠不會發生溢出,通常情況下都會成功。而如果把高精度數據類型轉換為低精度數據類型的話 ,則就會發生溢出錯誤,從而導致部分信息丟失,甚至無法正常轉換。

不過在JAVA開發平台中,除了以上這兩種轉換方式外,還有一種數據類型的轉換方法。就是如果某個 字符串和某個變量一起(這個變量可能是數值型的數據或者是日期型的數據)利用+號連接起來時,系統會 自動對這個變量進行轉換,會將其轉換為字符串數據類型,然後再與原先的字符串連接起來。

也就是說,字符串也可同其他基本數據類型進行連接。如果將字符串同這些數據類型進行連接時(如數 值型的數據),會將這些數據直接轉換成字符串。如上面那個例子中“我的名字是”+name+“,年齡為” +age這個字符串,age這個變量為數值型的數據,而其他為字符串的數據。現在程序開發人員就可以利用 這個+號將不同數據類型的字符串連接起來。不過最後的數據類型都會字符串的數據類型。即系統會先將 變量age轉換為字符型數據,然後再跟其他字符串數據類型進行連接。那麼在後台中,這到底是如何實現 呢?如果在利用+號來進行連接的時候,如果某個變量不是字符串的數據類型,則系統回自動調用一個 toSring方法,將非字符串的數據類型轉換成字符串的數據類型,再進行合並。由於這個過程是系統自動 完成的,所以程序開發人員需要特別的注意。一般來說,只要將+號運算符的一個操作數是字符串,編譯 器就會將另一個操作數轉換成字符串形式。所以程序開發人員應謹慎地將其他數據類型與字符串相連,以 免得到意想不到的結果。如將這個利用+號連接起來的內容,如果其中有個操作數是字符型數據的話,那 麼將其賦值給數值型的變量時,就會導致莫名其妙的問題。這種問題很可能存在。因為這個+號,除了可 以連接字符串,還可以用來對數值型的數據進行四則運法運算。所以,在進行四則運法運算時,要確保各 個操作數都是數值型的。否則的話,這個後果就可想而知了。

另外需要再提一句的是,如果在進行加法運算時,需要注意其數據類型的隱式轉換。如現在有三個操 作數,其中兩個操作數其小數點保留兩位;另外一個操作數其小數點保留為1位。而最後賦值給一個變量, 其保留小數位數3位。這就是一個涉及到不同精度的數據類型的數值型數據轉換問題。那麼最終的結果是 什麼呢?筆者這裡賣個關,大家若想知道結果的話,可以回去編個程序測試一下。有時候,筆者告訴你們 答案,讀者並不一定記得住。所以,筆者在這裡就點倒為止。

總之一句話,+號這個連接符號,不僅可以連接各個字符串,而且還用來完成分行與數據類型的隱式轉 換。為此筆者建議,各個程序開發人員需要注意這方面細節,一定能夠獲得不少的收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved