动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么?
运行结果:tru truefalse
分析结果:s1,s2,s0均指向hello字符串常量的地址。所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等。
动手动脑2:查看String.equals()方法的实现代码
结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同。
动手动脑3:整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Length():返回字符串的长度;
charAt():取字符串中的某一个字符。其中的参数为字符的位置
getChars():其中有4个参数:分别为拷贝的起始位置,结束位置,目标字符数组,数组的拷贝起始位置。
toUpperCase():字符串转化为小写;
Tolowercase():字符串转化为大写;
Trim():返回去掉开头和结尾的空格的字符串;
TocharArray():将string转化为char类型;
课后作业:
设计思想:1.输入一个字符串;2.将string 类型的数据转化为char类型的数据;3.判断是否在前23个字母;4.是的话,数组下标加3,后3个字母的话,下标减23
程序流程图:
源代码:
package main;
import java.util.Scanner;
public class Miwen {
public static void main(String[] args){
String a;
char temp;
String b="";
char charArray[];
Scanner in=new Scanner(System.in);
System.out.println("请输入一段明文:");
a=in.next();
for(int i=0;i<a.length();i++)
{if((a.charAt(i)>64&&a.charAt(i)<88)||(a.charAt(i)>96&&a.charAt(i)<120))
{
temp=(char)(a.charAt(i)+3);
}
else if((a.charAt(i)>87&&a.charAt(i)<91)||(a.charAt(i)>119&&a.charAt(i)<123))
{
temp=(char)(a.charAt(i)-23);
}
else
{
System.out.println("输入错误。");
break;
}
b+=temp;
}
System.out.println("密文为:"+b);
}
}
结果截图: