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 &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值