目录
前言
一.字符型的知识
二.字符型比较大小
三.字符串比较
equals()方法
equalslgnoreCase()方法
compareTo() 方法
🎁博主介绍:博客名为tq02,已学C语言、JavaSE,目前学了MySQL和JavaWeb
🎥学习专栏: C语言 JavaSE MySQL基础
🎄博主链接:tq02的博客_CSDN博客-C语言,Java,MySQL领域博主
Java语言基础的讲解链接: http://t.csdn.cn/rzvwJ
前言
在Java数据类型中,我们学到了整形、字符型、字符串型,而整形我们知道如何判断比较大小,但是字符型(char)该如何比较呢?还有字符串型(String)比较呢?
一.字符型的知识
- 字符变量使用char,是单引用号( ' ' )括起来的单个字符,例如:char c1 = 'a'
-
java中还允许使用转义字符 ' \ ' 来将其后面的字符转变为特殊字符常量。例如:char c3 = '\n'; '\n'表示换行符。
-
字符型(char)其实本质是一个整数,而根据的是unicode码
-
char类型可以赋值一个整数,然后输出时会有对照unicode码,将其字符输出
-
由于char本质是整数,因此可以直接进行运算,得出的结果,也会有对应的Unicode码。
注:字符和码值的对应关系是通过字符编码表决定的,不同的语言遵守不同的编码表,例如:C语言遵守ASCll表,Java语言遵守Unicode表。
char类型存储数字
public static void main(String[] args) {
char b=61; //在Unicode码中61位是 =
System.out.println(b);
}
变量b虽然存储的是61,但是b是字符型,所以在输出的时候,会自动转换为对应的Unicode码:=
字符型输出整数
public static void main(String[] args) {
char b='a';
System.out.println((int)b); //'a'进行类型转换变成97
}
如果想知道该字符对应的Unicode码的位置,则使用强制类型转换。
字符型的运算
public static void main(String[] args) {
char a='a';
char b='a'+1;
System.out.println(a+1); //输出98
System.out.println(b); //输出b
char c=97;
char d=97+1;
System.out.println(c+1); //输出98
System.out.println(d); //输出b
}
b变量在定义时进行了运算,会先把'a'转换成数字,然后进行运算,最后再转化成字符存储
a变量在输出时,进行运算,则是将'a'转换为数字,然后直接输出相加之后的数值结果
c变量虽然存储的是整数,但是会自动转换为字符存储,输出时,将字符转换为数字再进行运算
d变量存储的是97+1的值,存储时会自动转换为字符。
二.字符型比较大小
在字符型知识中,我们学习到了char类型本质是整数,而对应的整数由Unicode码决定,所以在比较大小时,表面是比较字符,实际是比较两个字符在Unicode码中的顺序。
public static void main(String[] args) {
char a='a'; //对应的Unicode码是97
char b='b'; //对应的Unicode码是98
System.out.println(a<b); //true
System.out.println(a>b); //false
System.out.println(a==b); //false
}
三.字符串比较
字符串是什么?多个字符组合,那么如何比较呢?是使用<、>、=等运算符嘛?,不是的,而是使用方法,而常用的方法有三种:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。
比较是否相等:equals() 方法、equalsIgnoreCase() 方法
比较大小: compareTo() 方法
equals()方法
逐一对比两个字符串的每一个字符是否相同,如果两个字符串长度相同并且拥有相同的字符,便返回true,若不是,返回false;
语法格式:字符串1.equals(字符串2);
public static void main(String[] args) {
String str1="abcdefg";
String str2="abcdefg";
String str3="abcd";
System.out.println(str1.equals(str2)); //输出true
System.out.println(str1.equals(str3)); //输出false
}
equalslgnoreCase()方法
equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同,唯一不同的是 equalsIgnoreCase() 比较时不区分大小写,也就是说,此方法会认为A与a是一样的。
String str1 ="abc";
String str2 ="ABC";
System.out.println(str1.equalsIgnoreCase(str2));// 输出 true
compareTo() 方法
语法格式:str1.compareTo(str2);
前两个方法都是比较字符串是否相等,而这个方法是比较字符串大小,而所谓的比较大小是指:从第一个字符开始比较,而比较的就是对应的码值,如果不等,则比较结束,如果相等,则比较下一位,直到比较的字符有一方全比较完,这时就比较字符的长度.
- 字符不同,返回str1的字符-str2的字符
- 字符相同,返回0
- 某个字符串比较完,返回str1长度 - str2长度值的差。
String str1="abcdefg";
String str2="abcdefg";
String str3="abcd";
String str4="abca";
//字符不同,返回两个字符对应的码值之差
System.out.println(str3.compareTo(str4)); //返回 'd'-'a'的差:3
//字符相同,返回0
System.out.println(str1.compareTo(str2)); //返回 0;
//某个字符串比较完,返回返回前面字符串长度-后面字符串长度值。
System.out.println(str1.compareTo(str3)); //返回 3
制作不易,哥哥姐姐们点个赞吧!!!文章来源:https://www.toymoban.com/news/detail-545087.html
--------懒惰的tq02
文章来源地址https://www.toymoban.com/news/detail-545087.html
到了这里,关于Java语言:字符型的详解、字符串的比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!