标签:offset image 演示 它的 bytes 目标 style 使用 天天向上
第二天学习过Java中的常量:
常量的分类:
数值型常量:整数,小数(浮点数)
字符型常量:使用单引号引用的数据
字符串常量:使用双引号引用的数据
布尔型常量:true或false
null常量:null
上述的大部分的常量都可以使用Java中提供的8种基本类型进行开辟空间,存储这些常量。
字符串常量不属于8种基本类型中的数据。而它属于Java中的引用类型数据(类类型数据)。
字符串数据在Java中使用String类进行描述。
字符串数据它属于Java中一类数据,我们也可以把其看作一类事物。既然是一类事物,就一定可以使用Java中的某个类对其进行封装和描述。
后期我们学习的目标和重点:
不再是如何去描述一个类(不是去定义类)。而是要学习怎么去使用别人(JDK)中提供好的类。需要知道这些类是干什么的,以及它中有哪些常用的方法,这些方法能够解决什么问题。
后期学习新的类的时候,学习方式:
重点是使用自己的代码去测试这些类中的方法,并得到自己的结论。
String
类代表字符串。Java 程序中的所有字符串字面值(如 "abc"
)都作为此类的实例实现。
在Java中只要使用双引号引用起来的任何数据它们都是String 的一个对象。
字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以共享。
虽然使用双引号引用起来的数据都是字符串,也是String的一个实例对象,但是这个对象中的字符数据一定写完,就已经是一个固定的数据,不能再进行修改,并且它存储在方法区的字符串常量池中。
String类中提供了大量的构造方法,都可以将不同形式的数据转成字符串对象。
1 /* 2 * 演示String类的构造方法 3 */ 4 public class StringConstructorDemo { 5 public static void main(String[] args) { 6 7 method5(); 8 } 9 /* 10 * 面试题 11 */ 12 public static void method5() { 13 14 String s = "abc"; 15 String s2 = new String("abc"); 16 /* 17 * s 和 s2 的区别? 18 * s它指向的方法区中的常量池中的 abc字符串 19 * s2它指向的是堆中的自己new的那个对象,而在堆中这个对象中维护的地址 20 * 指向的常量池中的abc字符串 21 * 22 * String s = "abc"; 在内存中只有一个对象 23 * String s2 = new String("abc"); 在内存中有2个对象 24 */ 25 System.out.println(s); 26 System.out.println(s2); 27 System.out.println(s == s2); 28 } 29 /* 30 * 演示将int类型的数组转成字符串 31 */ 32 public static void method4() { 33 34 int[] arr = {23456,23457,23458}; 35 String s = new String(arr , 0 , 3); 36 System.out.println(s); 37 } 38 /* 39 * String(byte[] bytes, int offset, int length) 40 * byte[] bytes : 指定需要被转成字符串的那个字节数组 41 * int offset : 从字节数组的那个下标开始转数据 42 * int length : 需要将从offset开始往后共计转多少数据 43 */ 44 public static void method3() { 45 46 byte[] b = {97,98,99,100,65,49}; 47 48 String s = new String( b , 4 ,4 ); 49 System.out.println(s); 50 } 51 /* 52 * 演示String类中的有参数的构造方法 53 */ 54 public static void method2() { 55 56 //创建字节数组 57 byte[] b = {97,98,99,100,65,49}; 58 59 //将字节数组中的所有数据转成字符串 60 String s = new String( b ); 61 62 System.out.println(s); 63 } 64 /* 65 * 演示空参数的构造方法 66 * String() 67 */ 68 public static void method1() { 69 70 /* 71 * 使用String类的构造方法得到String对象 72 * 使用空参数的构造方法创建出的String对象,这个对象在堆中 73 * 而这个字符串对象中没有任何字符数据 74 */ 75 String s = new String(); 76 77 } 78 }
猜测到某个功能之后,继续猜测它的方法参数以及返回值类型
参数:有,至少2个。实际值需要一个参数
返回值类型:String , 拼接后的新的字符串
1 /* 2 * 演示String类中的截取方法 3 */ 4 public class StringMethodDemo2 { 5 public static void main(String[] args) { 6 7 String s = "好好学习,天天向上"; 8 /* 9 * substring(int beginIndex) 10 * 从指定的字符串中的beginIndex位置开始截取子串,一直到结束 11 * substring( int beginIndex , int endIndex ) 12 * 从指定的字符串中的beginIndex位置开始到endIndex结束(不包含endIndex位置上的字符) 13 */ 14 String ss = s.substring(2); 15 System.out.println(ss); 16 String ss2 = s.substring(0, 5); 17 System.out.println(ss2); 18 } 19 }
1 //字符串转成字节数组 2 public static void method2() { 3 String s = "abdefg"; 4 //转字节数组 5 byte[] bs = s.getBytes(); 6 7 for (int i = 0; i < bs.length; i++) { 8 System.out.println(bs[i]); 9 } 10 } 11 //字符串转字符数组 12 public static void method1() { 13 String s = "abcefg"; 14 //转字符数组 15 char[] cs = s.toCharArray(); 16 for (int i = 0; i < cs.length; i++) { 17 System.out.println(cs[i]); 18 } 19 }
标签:offset image 演示 它的 bytes 目标 style 使用 天天向上
原文地址:http://www.cnblogs.com/Kubility123/p/7619860.html