字符串的比较
两个字符串对象除了判断相等外,还可以比较字符串。String类提供了compareTo()方法比较字符串的大小,compareTo()方法按照字典顺序比较两个字符串。
比较大小有三种结果:如果两个字符串相等,返回0;如果当前字符串按照字典顺序位于待比较的字符串之前返回一个负整数;如果当前字符串按照字典顺序位于待比较的字符串之前返回一个正整数。
调用compareTo()方法的语法如下:
str. compareTo(Sring s);
其中,str是当前字符串,s是待比较的字符串。
案例1:创建两个字符串对象,使用compareTo()方法比较两个字符串。
在PbaseUnit11项目unit包下创建StringCompareSample类。代码如下:
/**
* @Title: StringCompareSample.java
* @Packageunit
* @Description: Java基础知识课程案例
* @author编程训练营
* @date
* @versionV1.0
*/
packageunit;
/**
* @ClassName: StringCompareSample
* @Description: 字符串(大小比较和字符大小写转换)案例1
* @author编程训练营
* @date
*
*/
publicclassStringCompareSample {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param@param args 参数
* @return void 返回类型
* @throws
*/
publicstaticvoidmain(String[] args) {
// 创建字符串对象
String szTempA = "Hello World";
String szTempB = "My name is XIAOMING";
// 比较两个字符串的大小
intret = szTempA.compareTo(szTempB);
if( ret == 0 ) //字符串相等
{
System.out.println("szTempA等于szTempB");
}
elseif( ret > 0 ) //szTempA大于szTempB
{
System.out.println("szTempA大于szTempB");
}
else
{
System.out.println("szTempA小于szTempB");
}
}
}
程序结构分析
代码创建了两个String对象szTempA和szTempB,szTempA调用方法compareTo与szTempB按字典顺序比较,比较结果会返回三种情况,代码分别对返回的三种情况进行了处理。
程序执行效果如下图所示:
String类的compareTo()方法比较两个字符串时,会从字符串的左边开始比较,每次比较一个字符,按字典顺序比较。如果第一个字符相同,就比较第二个字符,依次类推。因为szTempA的第一个字符是“H”,szTempB的第一个字符是“M”,字符“M”在字典顺序上排在字符“H”之后,因此可以说szTempA小于szTempB。
字符串的大小写转换
在编写程序时,有时需要进行字符串的大小写转换,将字符串中的字母全部转换为大写或小写。
String类提供了toLowerCase()方法和toUpperCase()方法,toLowerCase()方法将字符串的大写字母转换为小写字母,toUpperCase()方法将字符串的小写字母转换为大写字母。
调用语法如下:
str. toLowerCase();
str. toUpperCase();
案例2:创建两个字符串对象,字符串内容均包含大小写字母,分别使用toLowerCase()方法和toUpperCase()方法,将字符串转换为小写和大写。
在PbaseUnit11项目unit包下创建StringLowerUpperSample类。代码如下:
/**
* @Title: StringLowerUpperSample.java
* @Packageunit
* @Description: Java基础知识课程案例
* @author编程训练营
* @date
* @versionV1.0
*/
packageunit;
/**
* @ClassName: StringLowerUpperSample
* @Description: 字符串(大小比较和字符大小写转换)案例2
* @author编程训练营
* @date
*
*/
publicclassStringLowerUpperSample {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param@param args 参数
* @return void 返回类型
* @throws
*/
publicstaticvoidmain(String[] args) {
// 创建字符串对象
String szTempA = "Hello World";
String szTempB = "My name is XIAOMING";
// 将szTempA转换为大写并输出
System.out.println(szTempA.toUpperCase());
// 将szTempB转换为小写并输出
System.out.println(szTempB.toLowerCase());
}
}
程序结构分析
代码创建了两个字符串对象,两个字符串对象均包含了大小写内容。szTempA调用toUpperCase()将字符串内容转换为大写,szTempB调用toLowerCase ()将字符串内容转换为小写。
程序执行结果如下图所示: