1。包:

API 入门_System

2.string 

API 入门_字符串_02

package com.lzk.test;

public class StringDemo {
    public static void main(String[] args) {
        //本来应该打印出来str1的地址,但是由于内部操作,打印出来的直接是内容。
        String str1 = "Hello World";
        System.out.println(str1);

        char[] chars = {'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'};
        String str2 = new String(chars);
        System.out.println(str2);

        //72是H的ASCII码,101是e的ASCII码,依次类推
        byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
        String str3 = new String(bytes);
        System.out.println(str3);
    }
}

API 入门_堆内存_03

//输出字符串的长度
 System.out.println(str1.length());

//输出字符串的第0个字符
 char c = str1.charAt(0);
 System.out.println(c);

 //输出字符串的字符数组
 char[] chars1 = str1.toCharArray();
 System.out.println(chars1);

 //比较两个字符串是否相等
 String str4 = "Hello";
 String str5 = "World";
 System.out.println(str4 == str5);//false,相同字符串的地址是一样的,所以是false
 System.out.println(str4.equals(str5)); //true

 //忽略大小写比较两个字符串是否相等
 String str6 = "HELLO";
 String str7 = "Hello";
 System.out.println(str6.equalsIgnoreCase(str7)); //true

 //截取字符串内容,包前不包后
 String str8 = "HelloWorld";
 String str9 = str8.substring(6,8);    //从第6个字符开始截取
 System.out.println(str9);

 //从某个位置截取字符串内容
 String str10 = "HelloWorld";
 String str11 = str10.substring(6);    //从第6个字符开始截取
 System.out.println(str11);

 //替换字符串中的指定内容
 String str12 = "你在玩nm呢!!!!";
 String str13 = str12.replace("nm", "**");
 System.out.println(str13);

 //判断字符串是否包含指定内容
 String str14 = "Hello World";
 boolean flag = str14.contains("World");
 System.out.println(flag);


 //判断字符串是否以指定内容开头
 String str15 = "Hello World";
 boolean flag1 = str15.startsWith("Hello");
 System.out.println(flag1);

 //把字符串按指定内容ferred分割成数组
 String str16 = "Hello World";
 String[] strArr = str16.split(" ");
 for (String str : strArr) {//增强型for循环
     System.out.println(str);
 }

注意事项:1.String 的对象是不可变的,如果你为这个对象增加了新的内容,改变的是新开辟的堆内存的内容,原始String的地址内容没有改变。

2.只要是双引号所写出的字符串变量,会存储到字符串常量池,且相同内容的字符串只存储一份。但是通过new方法创建的字符串对象,每new一次都会产生一个新的对象放在堆内存。

String s2 = new String("abc");

这行代码生成了两个对象,一个在堆内存的字符串常量池,一个直接在堆内存。

API 入门_字符串_04