首页 > 代码库 > java 字符串的比较compareTo

java 字符串的比较compareTo

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     for (;;) {
             String a = sc.next();
             String b = sc.next();
             int num = a.compareTo(b);
             System.out.println(num);
      }
   }
}

1.当两个比较的字符串是英文且长度不等时,

1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值

a="hello";

b="hell";

num=1;

或者

a="h";

b="hello";

num=4;

2)长度不一样且前几个字符也不一样,从第一位开始找,当找到不一样的字符时,则返回的值是这两个字符比较的值

a="assdf";

b="bdd";

num=-1;

2.当两个比较的字符串是英文且长度相等时,

1)一个字符

a="a";   //97

b="b";   //98

num=-1;

2)多个字符,第一个字符不同则直接比较第一个字符

a="ah";    //a=97

b="eg";    //e=101

num=-4;

3)多个字符,第一个字符相同则直接比较第二个字符,以此类推

a="ae";   //e=101

b="aa";   //a=97

num=4;

java 字符串的比较compareTo