2019-06-07 java学习日记

数组转字符串

 1 public static void main(String[] args) {
 2         int[] arr = {54,542,231,3,21};
 3         System.out.println(array2String(arr));
 4     }
 5     public static String array2String(int[] arr) {
 6         StringBuffer sb = new StringBuffer();
 7         sb.append("[");
 8         for (int i = 0; i < arr.length; i++) {
 9             if (i == arr.length - 1) {
10                 sb.append(arr[i]).append("]");
11             } else {
12                 sb.append(arr[i]).append(", ");
13             }
14         }
15         return sb.toString();
16     }

键盘录入字符串反转 

 1 import java.util.Scanner;
 2 
 3 public class test5 {
 4 
 5     public static void main(String[] args) {
 6         Scanner sc = new Scanner(System.in);
 7         String line = sc.nextLine();
 8         System.out.println(rev2String(line));
 9     }
10     
11     public static String rev2String(String line) {
12         StringBuffer sb = new StringBuffer(line);
13         sb.reverse();
14         return sb.toString();
15         
16     }
17 }

StringBuffer和StringBuilder的区别

StringBuffer是jbk1.0版本的,是线程安全的,效率低

StringBuilder是jdk1.5版本的,是线程不全安的,效率高

 String和StringBuffer与StringBuilder的区别

String是一个不可变的字符序列

StringBuffer,StringBuilder 是可变的字符序列

 1   /*    形式参数问题
 2      *         String作为参数传递
 3      *         StringBuffer作为参数传递
 4      * 
 5      * 基本数据类型的值传递,不改变其值
 6      * 引用数据类型的值传递,可以改变其值
 7      * 
 8      * String类虽然是引用数据类型,但是他作为参数传递是和基本数据类型是一样的
 9      * */
10     public static void main(String[] args) {
11         String s="heima";
12         System.out.println(s);
13         Change(s);
14         System.out.println(s);
15         
16         StringBuffer sb =new StringBuffer();
17         sb.append("heima");
18         System.out.println(sb);
19         Change(sb);
20         System.out.println(sb);
21 
22     }
23 
24     public static void Change(StringBuffer sb) {
25         sb.append("baima");
26         
27     }
28 
29     public static void Change(String s) {
30         s +="itcast";
31         
32     }
such as

参数传递

String作为参数传递

StringBuffer作为参数传递

基本数据类型的值传递,不改变其值

引用数据类型的值传递,改变其值

String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型是一样的

猜你喜欢

转载自www.cnblogs.com/Sherwin-liao/p/11012078.html