/*
面向对象的使用步骤:
1.定义类
2.创建对象
3.使用对象
Java提供了成千上万的类给我们使用,比如Scanner和Random
目标:
了解API的概念
掌握API的使用步骤
讲解:
API(Application Programming Interface): 应用程序编程接口,通俗的说API就是Java写好的类
JDK安装目录/src.zip 这里面就Java已经写好的类,我们将来就是用这些类
API文档: Java提供的类的说明书
API帮助文档使用步骤
1.打开帮助文档。
2.点击显示,找到索引,看到输入框。
3.你要找谁?在输入框里输入,然后回车。
4.看类属于哪个包
5.看类的解释和说明
6.看类的构造方法
7.看类的成员方法
API中的类使用步骤:
1.导入包
2.创建对象
3.使用对象
小结:
什么是API?
应用程序编程接口,通俗的说就是Java提供好的类
API中的类使用步骤:
1.导入包
2.创建对象
3.使用对象
*/
import java.util.Random;
public class Demo01 {
public static void main(String[] args) {
// 2.创建对象
Random ran = new Random();
// 3.使用对象
int r = ran.nextInt(10);
// soutv: 打印的时候显示变量名
System.out.println("r = " + r);
}
}
/*
先创建对象: 类名 对象名 = new 类名();
后使用对象
目标:使用String的构造方法创建对象
讲解:
String类属于:java.lang包, java.lang是核心包,不需要导包直接使用
String类作用:
String类代表字符串。""包裹的内容都是字符串,比如"abc"就是一个字符串
构造方法:
String() 创建一个空字符串
String(String original) 根据字符串创建一个新的字符串
String(char[] value) 根据char数组创建新字符串
String(byte[] bytes) 根据byte数组创建字符串
String(byte[] bytes, int offset, int length) 根据数组的一部分创建字符串(后面IO流会用)
小结:
String类的作用: 表示字符串, ""包裹的就是字符串
String类的构造方法:
1.String() 创建一个空字符串
2.String(String original) 根据字符串创建一个新的字符串
3.String(char[] value) 根据char数组创建新字符串
4.String(byte[] bytes) 根据byte数组创建字符串
5.String(byte[] bytes, int offset, int length) 根据数组的一部分创建字符串(后面IO流会用)
最方便的是字符串直接赋值
String s6 = "Hello";
我们自己定义的类创建的对象打印出来是对象的地址,String打印的是内容,这是String做了特殊操作,过几天我们会学这个知识点,让我们的对象也能打印内容
*/
public class Demo02 {
public static void main(String[] args) {
// 创建对象的格式: 类名 对象名 = new 类名();
// 1.String() 创建一个空字符串
String s1 = new String(); // ""
System.out.println("s1 = " + s1); // s1 =
// 2.String(String original) 根据字符串创建一个新的字符串
String s2 = new String("hello");
System.out.println("s2 = " + s2); // s2 = hello
// 3.String(char[] value) 根据char数组创建新字符串
char[] chs = new char[] {'a', 'b', 'c', 'd'};
String s3 = new String(chs); // 将char数组中的字符拼接起来形成一个字符串
System.out.println("s3 = " + s3); // s3 = abcd
// 4.String(byte[] bytes) 根据byte数组创建字符串
// 0 1 2 3 4
byte[] bytes = new byte[] {65, 66, 67, 68, 69};
String s4 = new String(bytes); // 拿byte数组中的数组去找到对应的字符 {'A', 'B', 'C', 'D', 'E'}
System.out.println("s4 = " + s4); // s4 = ABCDE
// 5.String(byte[] bytes, int offset, int length) 根据数组的一部分创建字符串
// int offset: 从哪个索引开始
// int length: 长度
String s5 = new String(bytes, 1, 3);
System.out.println("s5 = " + s5); // s5 = BCD
// Java搞了一种特殊创建字符串的方式(直接赋值)(常用)
String s6 = "Hello";
System.out.println("s6 = " + s6); // s6 = Hello
}
}
/*
目标:理解字符串直接赋值和new String的区别
讲解:
==:
基本数据类型,比较数据的值是否相等
引用数据类型,比较对象的地址是否相同
小结:
""创建的字符串放在字符串常量池中,可以节省空间
new String()在堆中
*/
public class Demo03 {
public static void main(String[] args) {
// System.out.println(3 == 5); // false
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
String s4 = new String("hello");
System.out.println(s1 == s2); // true
System.out.println(s3 == s4); // false
System.out.println(s1 == s3); // false
}
}
/*
目标:能够掌握String判断功能
讲解:
String类是Java写好的类,String代表字符串"abc"
String里面的方法都是用来操作字符串的
String判断功能:
1.boolean equals(Object anObject) 比较字符串的内容是否相同,相同返回true
2.boolean equalsIgnoreCase(String anotherString) 比较字符串是否相同,忽略大小写
3.boolean contains(CharSequence s) 判断是否包含指定字符串,包含返回true
4.boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。
5.boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。
小结:
1.boolean equals(Object anObject) 比较字符串的内容是否相同,相同返回true
2.boolean equalsIgnoreCase(String anotherString) 比较字符串是否相同,忽略大小写
3.boolean contains(CharSequence s) 判断是否包含指定字符串,包含返回true
4.boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。
5.boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。
*/
public class Demo04 {
public static void main(String[] args) {
String s1 = "hello";
String s2 = new String("hello");
String s3 = "Hello";
// 1.boolean equals(Object anObject) 比较字符串的内容是否相同,相同返回true
// 用于比较账号和密码
System.out.println("s1.equals(s2): " + s1.equals(s2)); // true
System.out.println("s1.equals(s3): " + s1.equals(s3)); // false
// 2.boolean equalsIgnoreCase(String anotherString) 比较字符串是否相同,忽略大小写
// 用于验证码比较
System.out.println("s1.equalsIgnoreCase(s3): " + s1.equalsIgnoreCase(s3)); // true
// 3.boolean contains(CharSequence s) 判断是否包含指定字符串,包含返回true
String s4 = "我爱Java, Java很好,PHP也好!";
System.out.println("s4.contains(Java): " + s4.contains("Java")); // true
System.out.println("s4.contains(java): " + s4.contains("java")); // false
// 4.boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头。
String s5 = "abcdefg";
System.out.println("s5.startsWith(a)" + s5.startsWith("a")); // true
System.out.println("s5.startsWith(abc)" + s5.startsWith("abc")); // true
System.out.println("s5.startsWith(b)" + s5.startsWith("b")); // false
// 5.boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。
String s6 = "Test.png";
System.out.println("s6.endsWith(png): " + s6.endsWith("png")); // true
System.out.println("s6.endsWith(ng): " + s6.endsWith("ng")); // true
System.out.println("s6.endsWith(pn): " + s6.endsWith("pn")); // false
}
}
/*
目标:能够掌握String转换功能
讲解:
String转换功能:
1.char[] toCharArray() 将此字符串转换为新的字符数组
2.byte[] getBytes() 将字符串转成字节数组
3.String toLowerCase() 将此String所有字符转换为小写
4.String toUpperCase() 将此String所有字符转换为大写
5.String replace(CharSequence target, CharSequence replacement) 在字符串中,将target替换为replacement字符串
小结:
1.char[] toCharArray() 将此字符串转换为新的字符数组
2.byte[] getBytes() 将字符串转成字节数组
3.String toLowerCase() 将此String所有字符转换为小写
4.String toUpperCase() 将此String所有字符转换为大写
5.String replace(CharSequence target, CharSequence replacement) 在字符串中,将target替换为replacement字符串
*/
public class Demo06 {
public static void main(String[] args) {
String s1 = "Hello";
// 1.char[] toCharArray() 将此字符串转换为新的字符数组。
// .var生成方法的返回值
char[] chars = s1.toCharArray(); // char[] chars = new char[] {'H', 'e', 'l', 'l', '0'};
// 遍历char数组
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i] + " "); // H e l l o
}
System.out.println();
// 2.byte[] getBytes() 将字符串转成字节数组
byte[] bytes = s1.getBytes();
// 遍历byte数组
for (int i = 0; i < bytes.length; i++) {
System.out.print(bytes[i] + " "); // 72 101 108 108 111
}
System.out.println();
// 3.String toLowerCase() 将此String所有字符转换为小写
String s2 = "HelloWorld";
System.out.println("toLowerCase: " + s2.toLowerCase()); // helloworld
// 4.String toUpperCase() 将此String所有字符转换为大写
System.out.println("toUpperCase: " + s2.toUpperCase()); // HELLOWORLD
// 5.String replace(CharSequence target, CharSequence replacement) 在字符串中,将target替换为replacement字符串
String s3 = "Hello itheima, i love itheima"; // 将"itheima"替换为"黑马"
String replace = s3.replace("itheima", "黑马"); // 我*你* 脏话过滤
System.out.println("替换后 = " + replace); // Hello 黑马, i love 黑马
}
}
arSequence replacement) 在字符串中,将target替换为replacement字符串
String s3 = “Hello itheima, i love itheima”; // 将"itheima"替换为"黑马"
String replace = s3.replace(“itheima”, “黑马”); // 我你 脏话过滤
System.out.println("替换后 = " + replace); // Hello 黑马, i love 黑马
}
}