兩個string的數(shù)值比較大小 string類型怎么比較字符串的大?。?/h1>
string類型怎么比較字符串的大???使用 String.compareTo 方法:compareTo() 的返回值是int, 它是先比較對應(yīng)字符的大小(ASCII碼順序)1、如果字符串相等返回值02
string類型怎么比較字符串的大?。?/h2>
使用 String.compareTo 方法:compareTo() 的返回值是int, 它是先比較對應(yīng)字符的大小(ASCII碼順序)1、如果字符串相等返回值02、如果第一個字符和參數(shù)的第一個字符不等,結(jié)束比較,返回他們之間的差值(ascii碼值)(負(fù)值前字符串的值小于后字符串,正值前字符串大于后字符串)3、如果第一個字符和參數(shù)的第一個字符相等,則以第二個字符和參數(shù)的第二個字符做比較,以此類推,直至比較的字符或被比較的字符有一方全比較完,這時就比較字符的長度. 例: String s1 = "abc" String s2 = "abcd" String s3 = "abcdfg" String s4 = "1bcdfg" String s5 = "cdfg" System.out.println( s1.compareTo(s2) ) // -1 (前面相等,s1長度小1) System.out.println( s1.compareTo(s3) ) // -3 (前面相等,s1長度小3) System.out.println( s1.compareTo(s4) ) // 48 ("a"的ASCII碼是97,"1"的的ASCII碼是49,所以返回48) System.out.println( s1.compareTo(s5) ) // -2 ("a"的ASCII碼是97,"c"的ASCII碼是99,所以返回-2)
在C 編程中,領(lǐng)導(dǎo)堅持用char而不用string,string有那么可怕嗎?
在C 中優(yōu)先使用String是一個良好的習(xí)慣。除非是C的死忠者習(xí)慣如此,否則應(yīng)該使用String而不是char。
char是用來處理任何8bit數(shù)據(jù)類型的,邏輯值、整數(shù)、字符ASCII碼等都可以。要用來處理字符串需要使用char[]數(shù)組,比較麻煩,也不好控制。
String是一個模板類,它是專門用來處理字符串的,封裝了很多處理字符串的成員函數(shù)。并且它是C 標(biāo)準(zhǔn)庫的一部分,是所有C 實現(xiàn)都支持的,也是C 創(chuàng)始人推薦使用的。
術(shù)業(yè)有專攻,應(yīng)該用哪一個不難選擇吧。
文件壓縮是什么原理?
文件壓縮的原理很簡單,我舉一個例子,就都明白了,比如,你是一家公司的老板,你想知道,下面100個員工每個人的工資,于是人事給你一份excel表格。
這份excel表格,其有100行,每行第一個是名字,第二行是它對應(yīng)的工資。人事把每一個員工的工資都給了你,這就是文件本身。你開始夸獎這個員工工作很仔細(xì)。
第二天來了一個聰明的人事專員,他發(fā)現(xiàn)這份excel表格其實除了第一個員工是2000,其他的員工都是1000塊錢。于是這個聰明的人事專員,重新擬定了一份excel表格,這一個表格只有兩行,第一行是第一個員工的兩千塊錢,第二行是其他員工,是1000塊錢。這就叫壓縮。這也叫無損壓縮。
但是如果其他員工,也不全都是1000塊錢,有的是998,有的是999,有的是1002,有的是1003。你只是老板,又不是發(fā)工資的,所以沒有必要掌握得這么精細(xì),所以這個聰明的員工還是給你一個表格,第一行是兩千,第二行是其他員工1000。這份表格雖然不是足夠的精確,但對你了解整體工資的情況,已經(jīng)足夠了,這就叫做有損壓縮。