目录
一,API
1.什么是API
2.java中的API
二,String(字符串)
1.定义
2.字符串特点
3.常用构造方法
4.常用方法
5.字符串的比较
三,StringBuilder(可变字符串)
1.定义
2.常用构造方法
3.常用方法(增删改查,记住)
4.StringBuilder类和String类的区别
5.StringBuilder和String相互转换
四,ArrayList集合
1.概述
2.常用构造方法
3.常用方法
一,API
1.什么是API
API (Application Programming Interface) :应用程序编程接口
2.java中的API
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
二,String(字符串)
1.定义
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例,也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。 String 类在 java.lang 包下,所以使用的时候不需要导包
2.字符串特点
(1)字符串不可变,它们的值在创建后不能被更改 (2)字符串的值可以被共享 (3)字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )
3.常用构造方法
(1)方法简介
方法名 | 说明 |
---|
public String() | 创建一个空白字符串对象,不含有任何内容 | public String(char[] chs) | 根据字符数组的内容,来创建字符串对象 | public String(byte[] bys) | 根据字节数组的内容,来创建字符串对象 | String s = “abc”; | 直接赋值的方式创建字符串对象,内容就是abc |
代码演示:
public class StringDemo01 {
public static void main(String[] args) {
//public String():创建一个空白字符串对象,不含有任何内容
String s1 = new String();
System.out.println("s1:" + s1);
//public String(char[] chs):根据字符数组的内容,来创建字符串对象
char[] chs = {'a', 'b', 'c'};
String s2 = new String(chs);
System.out.println("s2:" + s2);
//public String(byte[] bys):根据字节数组的内容,来创建字符串对象
byte[] bys = {97, 98, 99};
String s3 = new String(bys);
System.out.println("s3:" + s3);
//String s = “abc”; 直接赋值的方式创建字符串对象,内容就是abc
String s4 = "abc";
System.out.println("s4:" + s4);
}
}
(2)String对象的特点
<1>.创建字符串对象两种方式(构造方法/赋值方式) 通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,(内容相同,但是地址值不同) <2>.以“ ”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池(堆内存中)中维护
4.常用方法
说明 |
---|
public boolean equals(Object anObject) | 比较字符串的内容,严格区分大小写(用户名和密码) | public char charAt(int index) | 返回指定索引处的 char 值 | public int length() | 返回此字符串的长度 |
? ? ? ? ? ? ? ??
注意:也可通过jdk帮助文档进行查看。
实现:已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示
代码演示:?
/*
思路:
1:已知用户名和密码,定义两个字符串表示即可
2:键盘录入要登录的用户名和密码,用 Scanner 实现
3:拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals() 方法实现
4:用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环
*/
public class StringTest01 {
public static void main(String[] args) {
//已知用户名和密码,定义两个字符串表示即可
String username = "itheima";
String password = "czbk";
//用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环
for(int i=0; i<3; i++) {
//键盘录入要登录的用户名和密码,用 Scanner 实现
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String pwd = sc.nextLine();
//拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals() 方法实现
if (name.equals(username) && pwd.equals(password)) {
System.out.println("登录成功");
break;
} else {
if(2-i == 0) {
System.out.println("你的账户被锁定,请与管理员联系");
} else {
//2,1,0
//i,0,1,2
System.out.println("登录失败,你还有" + (2 - i) + "次机会");
}
}
}
}
}
5.字符串的比较
(1)“==”号的作用: ?比较基本数据类型:比较的是具体的值 ?比较引用数据类型:比较的是对象地址值
(2)equals方法的作用 比较两个字符串内容是否相同、区分大小写
三,StringBuilder(可变字符串)
1.定义
StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的
2.常用构造方法
法名 | 说明 |
---|
public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 | public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
代码演示:
public class StringBuilderDemo01 {
public static void main(String[] args) {
//public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
StringBuilder sb = new StringBuilder();
System.out.println("sb:" + sb);
System.out.println("sb.length():" + sb.length());
//public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:" + sb2);
System.out.println("sb2.length():" + sb2.length());
}
}
3.常用方法(增删改查,记住)
方法名 | 说明 |
---|
public StringBuilder append (任意类型) | 添加数据,并返回对象本身 | public StringBuilder reverse() | 返回相反的字符序列 | public int length() | 返回长度,实际存储值 | public String toString() | 通过toString()就可以实现把StringBuilder转换为String |
通过代码演示append(),reverse()方法
public class StringBuilderDemo01 {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder();
//public StringBuilder append(任意类型):添加数据,并返回对象本身
// StringBuilder sb2 = sb.append("hello");
//
// System.out.println("sb:" + sb);
// System.out.println("sb2:" + sb2);
// System.out.println(sb == sb2);
// sb.append("hello");
// sb.append("world");
// sb.append("java");
// sb.append(100);
//链式编程
sb.append("hello").append("world").append("java").append(100);
System.out.println("sb:" + sb);
//public StringBuilder reverse():返回相反的字符序列
sb.reverse();
System.out.println("sb:" + sb);
}
}
4.StringBuilder类和String类的区别
- String类: ? ? ? ?内容是不可变的 - StringBuilder类:内容是可变的
5.StringBuilder和String相互转换
1.StringBuilder转换为String: public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String 2.String转换为StringBuilder: public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
代码演示:
public class StringBuilderDemo02 {
public static void main(String[] args) {
/*
//StringBuilder 转换为 String
StringBuilder sb = new StringBuilder();
sb.append("hello");
//String s = sb; //这个是错误的做法
//public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
String s = sb.toString();
System.out.println(s);
*/
//String 转换为 StringBuilder
String s = "hello";
//StringBuilder sb = s; //这个是错误的做法
//public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
}
}
四,ArrayList集合
1.概述
(1)特点:底层是数组实现的,长度可以变化
(2)什么是集合?
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
(3)泛型的使用
用于约束集合中存储元素的数据类型 ArrayList<E>:可调整大小的数组实现 <E>:是一种特殊的数据类型,泛型
例如:
ArrayList<Customer> array = new ArrayList<Customer>();
其中的Customer则为数据类型(可以是类的对象)
2.常用构造方法
方法名 | 说明 |
---|
public ArrayList() | 创建一个空的集合对象 |
3.常用方法
方法名 | 说明 |
---|
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 | public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 | public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 | public E get(int index) | 返回指定索引处的元素 | public int size() | 返回集合中的元素的个数 | public boolean add(E e) | 将指定的元素追加到此集合的末尾 | public void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
演示代码:
public class ArrayListDemo02 {
public static void main(String[] args) {
//创建集合
ArrayList<String> array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
array.add("java");
//public boolean remove(Object o):删除指定的元素,返回删除是否成功
// System.out.println(array.remove("world"));
// System.out.println(array.remove("javaee"));
//public E remove(int index):删除指定索引处的元素,返回被删除的元素
// System.out.println(array.remove(1));
//IndexOutOfBoundsException
// System.out.println(array.remove(3));
//public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
// System.out.println(array.set(1,"javaee"));
//IndexOutOfBoundsException
// System.out.println(array.set(3,"javaee"));
//public E get(int index):返回指定索引处的元素
// System.out.println(array.get(0));
// System.out.println(array.get(1));
// System.out.println(array.get(2));
//System.out.println(array.get(3)); //?????? 自己测试
//public int size():返回集合中的元素的个数
System.out.println(array.size());
//输出集合
System.out.println("array:" + array);
}
}
|