java字符串综合练习
制作不易!点个关注!给大家带来更多的价值!
java字符串综合练习
1.Java字符串之String类创建字符串之使用equals和==判断字符串是否相等
任务描述
本关任务:使用 new 创建两个字符串(获取键盘输入的两个字符串,中间用空格分隔),并分别通过 equals 和 == 判断字符串是否相等。
相关知识
为了完成本关任务,你需要掌握:
1.什么是字符串;
2.字符串变量的声明;
2.创建字符串的三种方式;
3.equals 和 == 的使用。
什么是字符串
我们已经知道,数字、字母、汉字、符号等等都是字符,如 9、A、a、国、& 等。
那么,什么是字符串呢?
j 是一个字符,a、v、a 也是字符,现在我将这些字符连接起来,java 就是一个由 4 个字符组成的字符串。
同理“字符串”是由 3 个汉字组成的字符串,“4+9” 是一个由数字、符号组成的字符串。
字符串变量的声明
在 Java 里使用 String 声明字符串,我们可以使用如下语句来声明一个字符串变量:
String str; // 声明一个字符串变量 str;
创建字符串的三种方式
字符串变量有个明显的特征,两侧会有双引号,比如 “hello”。
通过 new 创建字符串,示例:
String str=new String(“我是一个字符串”); // 创建一个字符串并使用字符串变量指向它
System.out.println(str);
执行结果:
我是一个字符串
通过赋值,引用字符串常量创建来创建字符串,这也是最常用的创建方式,示例:
String str = “Jeffcky”;
System.out.println(str);
执行结果:
jeffcky
通过字符数组创建字符串,示例:
char a[] = {‘j’, ‘e’, ‘f’, ‘f’, ‘c’, ‘k’, ‘y’};
String str = new String(a);
System.out.println(str);
执行结果:
jeffcky
字符串也可以转化为字符数组:
String str=“fhfksdjf”;
char[] charArray=str.toCharArray();
equals 和 ==
equals 和 == 均表示相等的意思,但是它们相等的含义却有所区别。
在使用 == 比较基本数据类型 (byte、short、int、long、float、double、char,boolean)的时候,是通过比较它们实际的值来判断是否相同;而在比较引用数据类型(比如 String)时,是比较两个引用的地址是否相等,也就是是否指向同一对象。
== 运用在基本数据类型(byte, short, int, long、float、double、char,boolean)的时候,通过比较它们实际的值来判断是否相同;而用于比较引用数据类型(比如 String)时是比较俩个引用的地址是否相等,也就是是否指向一个对象。
equals 方法不能用于比较基本数据类型,如果没有对 equals 方法进行重写,比较的是引用类型的变量所指向的对象的地址,由于 String 等类对 equals 方法进行了重写,所以比较的是所指向的对象的内容。
String s1 = new String(“java”);
String s2 = new String(“java”);
System.out.println(s1s2); // 返回的结果为boolean类型
System.out.print(s1.equals(s2)); // 返回的结果为boolean类型 ```
执行结果:
java
false
true
对于字符串 s1 和 s2,是 new 出来的两个对象,又因为对于 String 来说, 比较的是是否为同一对象,所以第一个结果为 false。 equals 比较的是对象内容是否相等,所以第二个结果为 true。
String s1 = “java”;
String s2 = “java”;
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
执行结果:
true
true
对于字符串 s1 和 s2,属于一个对象,又因为对于 String 来说,== 比较的是是否为同一对象,所以第一个结果为 true。 equals 比较的是对象内容是否相等,所以第二个结果也是 true。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
/*
任务:
1.获取输入的两个字符串;
2.使用new分别创建两个字符串对象;
3.输出字符串;
4.分别使用equals和==比较这两个字符串是否相等。
输出样式见预期输出。
*/
import java.util.Scanner;
public class StrTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
String s1 = scanner.next();
// 第一步:使用new创建第一个字符串对象,并输出该字符串
System.out.println("获取的第一个字符串:"+s);
// 第二步:使用new创建第二个字符串对象,并输出该字符串
System.out.println("获取的第二个字符串:"+s1);
// 第三步:分别使用==和equals比较创建的两个字符串是否相等,并输出比较结果
System.out.print("使用==比较的结果:");
System.out.println(s==s1);
System.out.println("使用equals比较的结果:"+s.equals(s1));
/********** End **********/
}
}
2.Java字符串之String类创建字符串之字符数组创建字符串
任务描述
本关任务:接收输入值创建字符数组,对该字符数组排序后通过该字符数组创建字符串。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
首先获取输入值,第一个为整数,代表数组长度,最后一个为 %,代表终止输入,中间的值为一组字符,中间用空格分隔;
把输入值中的第二个到倒数第二个字符赋值给一维数组;
对数组升序排序;
通过字符数组创建字符串;
输出字符串。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
/*
任务:
1.获取输入值,第一个为整数,代表数组长度,最后一个为%,代表终止输入,中间的值为一组字符
2.把输入值中的第二个到倒数第二个字符赋值给一维数组
3.对数组排序
4.通过字符数组创建字符串
5.输出字符串
*/
import java.util.Arrays;
import java.util.Scanner;
public class StrTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:获取输入值,第一个为整数,代表数组长度,最后一个为%,代表终止输入,中间的值为一组字符
Scanner scanner &#