當前位置:首頁 » 編程語言 » java比較

java比較

發布時間: 2022-01-12 21:00:42

A. 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。
第二種情況不是因為比較有與第一種有差異,而是因為聲明有差異,第二種聲明方法在聲明的時候有堆或堆棧 共用的現象,也就是說 在聲明的時候如果如果聲明為類屬性他會檢查在堆棧中有沒有與現在聲明的是相同結構的字元串。如果有就直接將地址指向已有內存地址。聲明在方法內部的局部變數原理一樣只不過他是堆棧共享。

B. java怎麼比較兩個對象是否相等

一、java中的基本數據類型(int、double、short、long、byte、float、boolean、char)判斷是否相等,直接使用"=="就行了,相等返回true,否則,返回false。

二、但是java中的引用類型的對象比較變態,假設有兩個引用對象obj1,obj2,

obj1==obj2 判斷是obj1,obj2這兩個引用變數是否相等,即它們所指向的對象是否為同一個對象。言外之意就是要求兩個變數所指內存地址相等的時候,才能返回true,每個對象都有自己的一塊內存,因此必須指向同一個對象才返回ture。

三、如果想要自定義兩個對象(不是一個對象,即這兩個對象分別有自己的一塊內存)是否相等的規則,那麼必須在對象的類定義中重寫equals()方法,如果不重寫equals()方法的話,默認的比較方式是比較兩個對象是否為同一個對象。

在Java API中,有些類重寫了equals()方法,它們的比較規則是:當且僅當該equals方法參數不是 null,兩個變數的類型、內容都相同,則比較結果為true。這些類包括:String、Double、Float、Long、Integer、Short、Byte、、Boolean、BigDecimal、BigInteger等等,太多太多了,但是常見的就這些了,具體可以查看API中類的equals()方法,就知道了。

C. JAVA怎麼比較兩個數的大小

1、由於設置delimiter為,所以輸入的時候每個後面都有一個,即單輸入4,5是不行的,需要輸入4,5,才會有結果。
2、可以直接使用三目運算符,如c=a>b?a:b;

D. 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;
}
}

E. java字母怎麼比較大小

使用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比較對應字元的大小(ASCII碼順序)
1、如果字元串相等返回值0
2、如果第一個字元和參數的第一個字元不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字元串的值小於後字元串,正值前字元串大於後字元串)
3、如果第一個字元和參數的第一個字元相等,則以第二個字元和參數的第二個字元做比較,以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度.

例:
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)

F. java 比較中文是否相同

java判斷是否為中文,其實比較中文的unicode編碼,在中文的范圍內的就是中文,示例如下:

(Stringstr){
booleantemp=false;
Patternp=Pattern.compile("[u4e00-u9fa5]");//判斷該字元串是否在中文范圍內
Matcherm=p.matcher(str);
if(m.find()){
temp=true;//若為true,則是中文
}
returntemp;
}

G. java 關於數字的==比較

JVM(java虛擬機)會自動維護八種基本類型的常量池,int常量池中初始化-128~127的范圍,所以當為Integer i=127時,在自動裝箱過程中是取自常量池中的數值,而當Integer i=128時,128不在常量池范圍內,所以在自動裝箱過程中需new 128,所以地址不一樣。

H. JAVA如何進行字元串比較

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

I. JAVA比較數值的大小

publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);

intnum;
intmax=0;
intmin=0;

while(true){
System.out.println("請輸入一個整數「輸入0時結束」:");
num=input.nextInt();
if(num==0){
break;
}
if(num>max){
max=num;
}
if(num<min){
min=num;
}
}
System.out.print("最大值為:"+max+"最小值為:"+min);
}

熱點內容
實測華為編譯器 發布:2024-09-19 23:50:52 瀏覽:821
linux匯總 發布:2024-09-19 23:46:39 瀏覽:452
阿里雲伺服器環境搭建教程 發布:2024-09-19 23:21:58 瀏覽:837
黃色文件夾圖標 發布:2024-09-19 23:19:22 瀏覽:684
mysql資料庫導出導入 發布:2024-09-19 23:00:47 瀏覽:183
lua腳本精靈 發布:2024-09-19 23:00:41 瀏覽:659
任務欄文件夾圖標 發布:2024-09-19 22:54:25 瀏覽:101
解壓來一波 發布:2024-09-19 22:46:36 瀏覽:933
mysqlpythonubuntu 發布:2024-09-19 22:46:27 瀏覽:501
伺服器請求獲取ip地址 發布:2024-09-19 22:33:25 瀏覽:515