Java学习笔记day_07

API的使用


  • 什么是API
    API (Application Programming Interface) :应用程序编程接口
  • java中的API
  • 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来**,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可**,我们可以通过帮助文档来学习这些API如何使用。

String类_
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

String str = “abc” ;

  • 字符串不可变,它们的值在创建后不能被更改
  • 虽然 String 的值是不可变的,但是它们可以被共享
  • 字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )

String类的构造方法_


	//构造方法
	public   String() //创建一个空白字符串对象,不含有任何内容   ""
	public   String(char[] chs) //根据字符数组的内容,来创建字符串对象   char[]--->String
	public   String(byte[] bys) //根据字节数组的内容,来创建字符串对象   byte[]--->String
	public   String(byte[] bytes, int offset, int length) 
	public   String(char[] value, int offset, int count) 
	public   String(String original) 
	

	//直接赋值(推荐)
	String s = "abc"; // 用直接赋值的方式创建字符串对象,内容就是abc 

创建字符串对象两种方式的区别_

  • 通过构造方法创建
    通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同
  • 直接赋值方式创建
    以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护

示例:


	public class demo {
    public static void main(String[] args) {
        //用构造方法来得到对象
        char cr[] = {'a', 'b', 'c'};
        String s = new String(cr); // "abc"
        String s2 = new String(cr);// "abc"
        System.out.println(s == s2); // 输出 false  在不同的地址
        
        //用直接赋值的方式
        String s3 = "abc"; // "abc"
        String s4 = "abc"; // "abc"
        System.out.println(s3 == s4); // 输出 true 它们指向同一个地址
    }
}

字符串的比较_

字符串比较的方法:public boolean equals(Object obj); // 比较字符串内容是是否相同

  • 注意:

参数类型为Object类型,那么可以传一切类的对象
比较字符串内容一定要使用String类的equals方法,不要用==比较运算符

示例:


	public class demo1 {
	    public static void main(String[] args) {
	        //用String 来创建一个对昂
	        String str = "HelloWorld";
	        //比较字符串内容是否相同
	        System.out.println(str.equals("Hello" + "World")); // true
	
	        //用String 的构造方法来创建一个对象
	        char a[] = {'H','e','l','l','o'};
	        String str2 = new String(a);
	        String str3 = new String(a);
	
	        System.out.println(str2.equals(str3)); // true
	
	
	    }
	}

遍历字符串_

方法:
public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始的
public int length():返回此字符串的长度

示例:

	
	public class demo2 {

    public static void main(String[] args) {
        String str = "Hello World!";
        // str.length() 返回字符串的长度
        for (int i = 0; i < str.length(); i++) {
            // charAt(int index) 返回指定索引处的char 值
            System.out.println(str.charAt(i));
        }
    }
}

StringBuilder类_

  • StringBuilder 是一个可变的字符串类
    String和StringBuilder的区别:
  • String表示的字符串内容是不可变的
  • StringBuilder表示的字符串内容是可变的
	
	// StringBuilder 构造方法
	public StringBuilder(); // 创建一个空白可变字符串对象,不含有任何内容 
	public StringBuilder(String str); // 根据字符串的内容,来创建可变字符串对象

示例:


	public class demo3 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        System.out.println("sb = " + sb);
        System.out.println("sb.length = " + sb.length());

        StringBuilder sb2 = new StringBuilder("Hello");
        System.out.println("sb2 = " + sb2);
        System.out.println("sb2.length = " + sb2.length());
    }
}

StringBuilder 添加 和 反转方法_


	// 向后添加 
	public StringBuilder append(任意类型); // 添加数据,并返回对象本身
	// 反转方法
	public StringBuilder reverse(); //返回相反的字符序列

示例:


	import java.util.Scanner;
	
	public class demo4 {
	    public static void main(String[] args) {
	        Scanner sc = new Scanner(System.in);
			// 从键盘接收字符串 给StringBuilder创建的对象
	        StringBuilder sb = new StringBuilder(sc.nextLine());
			// 给StringBuilder创建的对象后面加上hello 并反转输出
	        System.out.println(sb.append("hello").reverse());
	        
	        // 也可以这样写
			System.out.println(new StringBuilder(new Scanner(System.in).nextLine()).append("Helloworld").reverse());
	    }
	}

StringBuilder 和 String 相互转换_

  • StringBuilder 转换为 String
    public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
  • String 转换为 StringBuilder
    public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

示例:


	public class demo5 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Hello");

        // StringBuilder 转为String输出
        String str2 = sb.toString();
        System.out.println("str2 = " + str2);

        //把 String 转为 StringBuilder输出
        StringBuilder sb2 = new StringBuilder(str2);
        System.out.println("sb2 = " + sb2);

    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值