java 字符之间怎么比大小

java 字符之间怎么比大小,第1张

如果是char型的。可以直接把char转换为int类型。

比如:

char ca= 'd';

char cb = 'c';

int ia = (int)ca;

int ib = (int)cb;

int类型怎么比大小就不用我说了吧。记住。char是可以转换为int类型的

我给你写个东西。希望对你有所帮助

for(int i=0;i<128;i++){

Systemoutprint(i+"转换为char之后:"+(char)i);

if(i%5==0){

Systemoutprintln();

}

}

/

 判断字符相似

 

 @param str1

            比较串

 @param str2

            被比较串

 @return

/

public static boolean isLike(String str1, String str2) {

HashMap<Character, Integer> list = new HashMap<>();

char[] cs1 = str1toCharArray();

char[] cs2 = str2toCharArray();

char temp;

int count;

for (int i = 0; i < cs1length; i++) {

// 取出第一个字符串中的一个字符

temp = cs1[i];

// 与第二个字符串的所有字符比较

for (int j = 0; j < cs2length; j++) {

// 如果字符相同

if (temp == cs2[j]) {

// 看列表中是否有记录

if (listget(temp) == null) {

// 没有记录等于1

listput(temp, 1);

} else {

// 有记录即加1

listput(temp, listget(temp) + 1);

}

}

}

}

Set<Character> set = listkeySet();

for (Character key : set) {

Systemoutprintln(key + "出现的次数" + listget(key));

}

if (listsize() == 0)

return false;

return true;

}

在JAVA里面,牵扯到equals和equalsIgnoreCase比较字符串的功能函数,前者比较的时候区分大小写,空格,后者比较时忽略大小写。这两个很简单,如下例子:

public class ss

{

   public static void main(String[] args)

   {

       String c1="i am good";

       String c2="i am good";

       String c3="I AM GOOD";

       String c4=new String("i am good");

       String c5=new String("i am good");

       String c6=new String("I AM GOOD");

       Systemoutprintln("c1==c2:"+(c1==c2));

       Systemoutprintln("c1==c3:"+(c1==c3));

       Systemoutprintln("c4==c5:"+(c4==c5));

       Systemoutprintln("c4==c6:"+(c4==c6));

       Systemoutprintln("c1equals(c2)"+c1equals(c2));

       Systemoutprintln("c1equals(c3)"+c1equals(c3));

       Systemoutprintln("c4equals(c5)"+c4equals(c5));

       Systemoutprintln("c4equals(c6)"+c4equals(c6));

                 Systemoutprintln("c1equalsIgnoreCase(c2)"+c1equalsIgnoreCase(c2));

       Systemoutprintln("c1equalsIgnoreCase(c3)"+c1equalsIgnoreCase(c3));

       Systemoutprintln("c4equalsIgnoreCase(c5)"+c4equalsIgnoreCase(c5));

       Systemoutprintln("c4equalsIgnoreCase(c6)"+c4equalsIgnoreCase(c6));

}

}

可以看到,无论以String c1=”i am good”;方式建立的字符数组还是以String c4=new String(“i am good”);方式建立的数组,在使用equalsIgnoreCase和equals上,两者的区别就在于去不去分大小写。 

==和equals的区别。 

1首先,从程序执行结果可以看到,在比较以String c1=”i am good”;方式建立的字符数组时,==和以equals的比较结果是一样的,而在以String c4=new String(“i am good”);方式建立的数组时,两者结果却是不一样的,这是因为==比较的是内存位置,不适合拿来比较字符串,而整型等可以用==比较。equals和==的区别就在这里,它比较的是内存中的内容。 

2以String c1=”i am good”;方式申请数组时,不立即分配内存,而是在用到时分配,而String c4=new String(“i am good”);需要提前分配好数组内存。两者在内存分配上是有区别的。这也是很多JAVA书籍中申请数组时都要加new的原因,当然,不加也可以,也可使用。加于不加new,也就是使用==比较时有区别

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12163321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存