導航:首頁 > 編程語言 > java字元數組比較

java字元數組比較

發布時間:2022-04-03 11:54:13

java中的字元串比較方法

java中的字元串比較方法:
1)string1.equals(string2)
2) str1==str2 。
java中字元串的比較是==比較引用,equals 比較值的做法。但是不同的聲明方法字元串的比較結果也是不同的。
例如: String str1=new String("a");
String str2=new String("a");
str1==str2 輸出false
str1.equals(str2) 輸出true
而如果這樣聲明
String str1="a";
String str2="a";
str1==str2 輸出true
str1.equals(str2) 輸出true
這是因為 equals 方法本來也是比較引用的字元串類在實現的時候重寫了該方法。
第一種聲明方法等於是聲明了兩個對象,用』==『比較是時候比較的是引用輸出的是false 由於他們的值相同用equals的時候就比較的是值了,輸出true。
第二種情況不是因為比較有與第一種有差異,而是因為聲明有差異,第二種聲明方法在聲明的時候有堆或堆棧 共用的現象,也就是說 在聲明的時候如果如果聲明為類屬性他會檢查在堆棧中有沒有與現在聲明的是相同結構的字元串。如果有就直接將地址指向已有內存地址。聲明在方法內部的局部變數原理一樣只不過他是堆棧共享。

⑵ JAVA如何進行字元串比較

1、首先,隨便創建一個有main方法的類。

⑶ java 字元串數組 字元串 比較

比較的規則和資料庫中的order by效果一致
實現代碼如下
/**
* Name: 比較兩個字元串大小
* null自動轉為空,空字元串最大;
*
* @param first 要比較的第一個字元串;
* second 要比較的第二個字元串;
* @return first大於second返回正數;
* first等於second返回0;
* first小於second返回負數;
* 內部異常默認返回0;
* 返回值非固定值;
*/
public static int compareString(String first,String second){
int result = 0;

try{
//null轉空
first = first==null?"":first;
second = second==null?"":second;

//預先記錄字元串長度,避免反復讀取
int firstLength=first.length();
int secondLength=second.length();

//處理含有空串的特殊情況
if("".equals(first) || "".equals(second)){
//誰長誰小
result = secondLength-firstLength;
}else{
//臨時空間,用來存放ascii碼總和
int firstCount = 0;
int secondCount = 0;
//用純運算得出兩個數中較小的數,實在是bt

int minLength = (secondLength*(firstLength/secondLength) +
firstLength*(secondLength/firstLength))/(firstLength/secondLength +
secondLength/firstLength);
//按兩個字元串中較短的位數去逐位截取,防止越界
for(int i=0;i<minLength;i++){
//求ascii碼和
firstCount+=first.substring(i,i+1).getBytes()[0];
secondCount+=second.substring(i,i+1).getBytes()[0];
//和不相等,說明已經比較出了大小
if(firstCount!=secondCount){
break;
}
}

if(firstCount==secondCount){
//長度長的大
result = firstLength-secondLength;
}else{
//總和大的大
result = firstCount-secondCount;
}
}
}catch (Exception e) {}

return result;
}

⑷ java中字元串和字元數組的區別

字元串以\0結束那是字元串在計算機內的存儲結構,你定義了字元串計算機默認會在字元串後加上\0做為字元串結束標記,但是你寫程序時並沒有顯式的寫出來。
判斷是否為字元串:字元串都是用雙引號包含的。例如char *string="beijing"。
定義字元串有兩種方法:一、字元串指針 char *string="abcde";
二、一維字元數組。例如:char string[10];string="abcde";
用字元數組定義注意了,數組長度為n,但是字元個數只能為n-1,就是上面說的計算機默認加了\0佔了一個,否則會溢出。
字元數組一維的和字元串一樣,二維的就是char string[M][N];當然你還可以類似定義多維的。

⑸ java如何比較字元內容是否相同

/*

最笨的方法,依次遍歷比較
*/
importjava.util.Scanner;
publicclassstrcompare{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
Stringa=null;
Stringb=null;
while(true){
System.out.println("pleaseinputtwoString:");
a=sc.next();
b=sc.next();
if(cmp(a,b)){
System.out.println("same");
}else{
System.out.println("Nosame");
}
}
}
publicstaticbooleancmp(Stringa,Stringb){
booleanflag=false;
if(a.length()!=b.length()){
flag=false;
}else{
char[]strA=a.toCharArray();
char[]strB=b.toCharArray();
intlenB=strB.length;
for(inti=0;i<strA.length;i++){
for(intj=0;j<strB.length;j++){
if(strA[i]==strB[j])
{
strB[j]='';
lenB--;
break;
}
}
}

if(lenB==0)
flag=true;
else
flag=false;
}
returnflag;
}
}

⑹ Java字元串數組的對比

可以定義2個方法,一個是public boolean Search(String[] str1,String str2 ){}//用於檢測str1中是否包含str2,另一個方法是public boolean Remove(String[] str1,String str2 ){}//用於在str1[]中刪除str2字元串,之時這樣會破壞原有的數據。
也可以單純的用2此循環來比較,並將結果寫入到自定義的字元串數組里

⑺ java中equals對字元數組的判斷

equals方法是比較hashCode的值的,即比較在內存中地址的值。
字元串比較特殊,內容相同的的String在內存中地址是一樣的。所以hashCode值是相同的。
而不同的數組對象的hashCode不同,所以得出你以上的結果。

⑻ java字元串能和字元串數組比較嗎

兩個類型都不一樣,肯定是不能比較的,比較的基礎是類型相同。雞和狗肯定不能比較吧,就是這么個道理

⑼ java中如何把一個字元串數組進行比較

public static void main(String[] args) {
String str = "love";
if(str.substring(2).startsWith("v")){//截取第三個字元往後的字元串,判斷是否以v開頭
System.out.println("字元串str的第三個字母是V!");
}else{
System.out.println("OMG!字元串str的第三個字母不是V");
}
}

⑽ java中數組字元串怎麼比較大小

首先字元串沒法比較大小 可以比較長度 如果是比較長度的話可以這樣寫 這樣是吧這個數組的每個元素的字元串長度進行降序排列最大的就是a[0]最小的就是a[a.length-1]

public static void main(String[] args) {
String[] a = {"Mary", "Tom", "ha"};
String max=a[0];//
String min=a[a.length-1];
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i].length()<a[j].length()){
String temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int x=0;x<a.length;x++){
System.out.println(a[x]);
}
}

閱讀全文

與java字元數組比較相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1002
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:592
安卓卸載組件應用怎麼安裝 瀏覽:912
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313