本文已参与「新人创作礼」活动,一起开启掘金创作之路。
String对象的特点:
以“” 方式给出的字符串,只要字符串序列相同(顺序和大小相同),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护。
public class StudentTest{
public static void main(String args[]) {
//采用构造方法的方式得到对象
char[] chs = {'a','b','c'};//这个第一次写的时候写成了双引号,值得注意
String s1 = new String(chs);
String s2 = new String(chs);
System.out.println(s1 == s2);//这个比较的是s1和s2的地址 结果是false
//采用直接赋值的方式得到对象
String s3 = "abc";
String s4 = "abc";
System.out.println(s3 == s4);//这个比较的是s3和s4的内容 结果是true
//比较字符串对象地址是否相同
System.out.println(s1==s3);//结果是 false
}
}
字符串的比较
使用==作比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同
对于字符串来说
public static void main(String args[]) {
//构造方法的方式得到对象
char[] chs = {'a','b','c'};
String s1 = new String(chs);
String s2 = new String(chs);
//直接赋值的方式得到对象
String s3 = "abc";
String s4 = "abc";
//比较字符串地址是否相同
System.out.println(s1==s2);//false
System.out.println(s1==s3);//false
System.out.println(s3==s4);//true
//比较字符串对象内容是否相同
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
System.out.println(s3.equals(s4));//true
}
1.构造方法的创建
如果没有定义构造方法,系统将给出一个默认的无参书构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
2.构造方法的重载
如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法
3.推荐的使用方法
无论是否使用,都手工书写无参数构造方法
(黑马程序员的笔记,仅供个人学习使用)
题目: 定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果。例如,键盘录入abc,输出结果为: cba
package itheima;
import java.util.Scanner;
//键盘录入一个字符串,用Scanner实现
//定义一个方法,实现字符串反转,返回值类型String,参数String s
//在方法中用StringBuilder实现字符串的反转,并把结果转成String返回
//调用方法,用一个变量接收结果
//输出结果
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//从键盘录入 记住!!
System.out.println("请输入一个字符串");
String line = sc.nextLine(); //sc.nextLine() 然后 ctrl+alt+v 自动生成
String s = myReverse(line);
System.out.println(s);
}
public static String myReverse(String s){
StringBuilder sb = new StringBuilder(s);
sb.reverse();
String toString = sb.toString();
return toString;
}
}
\
题目:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组int[] arr = {1,2,3},执行方法后的输出结果为:[1,2,3]
package itheima;
//1.定义一个int类型的数组,用静态初始化完成数组元素的初始化
//2.定义一个方法,用于把int数组中的数据格式按照指定格式拼接成一个字符串返回,返回值类型为String,参数列表int[] arr
//3.在方法中用StringBuilder按照要求进行拼接,并把结果转化为String返回
//4.调用方法,用一个变量接受结果
//5.输出结果
public class Test1 {
public static void main(String[] args) {
int[] arr = {1,2,3};
String string = arrayToString(arr);
System.out.println(string);
}
public static String arrayToString(int[] arr){
StringBuilder s = new StringBuilder();
s.append("[");
for(int i=0; i<arr.length;i++){
if(i == arr.length-1){
s.append(arr[i]);
}else{
s.append(arr[i]).append(",");
}
}
s.append("]");
String s1 = s.toString();
return s1;
}
}
\