. 1、动手动脑:请查看String.equals()方法的实现代码,注意学习其他实现方法。
代码:
public class StringEquals {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String s1=new String("Hello");
String s2=new String("Hello");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
String s3="Hello";
String s4="Hello";
System.out.println(s3==s4);
System.out.println(s3.equals(s4));
}
}
① S1、s2为直接使用new关键字创建字符串对象,虽然值是一样的,但是仍然是两个独立的对象。
② 在Java中,内容相同的字符串常量只保存一份以节约内存,所以s0、s1、s2实际上引用的是同一个对象
2、字符串加密:
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
代码:
//huangliping
//2015/10/24
import java.util.Scanner;
public class Jiami {
public static void main(String[] args) {
//TODO 自动生成的方法存根
System.out.println("请输入要解密的字符串:");
java.util.Scanner s1=new Scanner(System.in);
String s=s1.nextLine();
int l=s.length();
for(int i=0;i<l;i++)
{
char a=s.charAt(i);
if(a>=65&&a<=87)
System.out.println(a+=3);
else if(a>=88&&a<=90)
System.out.println(a-=23);
else if(a>=97&&a<=119)
System.out.println(a+=3);
else if(a>=120&&a<=122)
System.out.println(a-=23);
else
System.out.println(a);
}
}
}
截图:
截图: