欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA零基础入门笔记(十二)

程序员文章站 2022-07-09 21:54:04
...

一.API

概念:
别人写好的类, 我们来用, 这个别人写好的类我们称为API
API 文档:
就是一个说明书, 我们可以通过这个文档很好的学习别人定义好的类
如何看这个API文档
1.看包
为了找到这个类
import java.util.Scanner
2. 看构造
为了造对象
3.使用对象的成员方法
为了我们想要的效果!!!
1.方法名
2.看方法的参数
3.看方法的返回值
快捷方式:
alt + ctrl + v
.var
alt + enter

二.String

**1.看包  :	java.lang**
			在java.lang包的类不需要导包就可以使用
	**2.看构造:**
		**String();**
			创建了一个空白的字符串 String s = "";
			String s = "";
		**String(char[] arr);**
			可以将字符数组转成字符串对象
			已知一个"字符数组"想要变成"字符串"的时候才有机会用到这个
		**String(String s);**
			将字符串变成字符串!!!!
		String s = "字符串"

注意事项:
String s = “字符串” ,初始化在字符串常量池中初始化, 如果出现重复的字符串可以复用
如果采用构造函数初始化, 通过new 就会在堆内存中开辟空间
== , 如果是基本数据类型比较的是具体的值, 如果是引用数据类型比较的是地址
3.看方法:

int length();
			可以获取字符串中有多少个字符
		boolean equals(Object obj);"本字符串"和obj比较内容
		boolean equalsIgnoreCase(String obj);"本字符串"和obj比较内容, 不区分大小写
		char charAt(int index);
			根据传入的索引得到对应的字符
		遍历字符串
			1.  length()charAt()结合
				String s =  "123";
for(int i = 0 ; i < s.length(); i++){
	char c = s.charAt(i);

}
			2.将字符串变成字符数组
				String s =  "123";
char[] arr = s.toCharArray();
for(int i = 0 ; i < arr.length;  i++){
	char c = arr[i];

}

特点
1.所有的字符串常量都是String的对象
String s = “abc”;
2. 字符串是常量, 一旦创建不能改变, 如果非要改变, 其实其实改的是地址!!!是地址替换
3.字符串常量是可以复用, 可以优化
常见面试题

String s1 = "123"; 
String s2 = "123";  
s1 == s2;//true

采用常量初始化,会复用

String s1 = "123";
String s2 = new String("123");
s1 == s2;//false

s1在常量池中初始化, 但是s2在堆里面初始化

String s1 = "123"; 
String s2 = "12"
String s3 = s2 + "3";  
s1 == s3;//false

s1在常量池初始化, 但是s3出现了变量字符串拼接, 在堆内存中造一个StringBuilder的对象并且使用它的append功能, 拼接完后调用toString()将StringBuilder转换成字符串, toString()底层采用new的方式变成的字符串, 所有初始化在堆中

String s1 = "123"; 
String s2 = "12" +"3";

s1 == s2;//true

java有常量优化机制, 在编译期间将"12"+“3"变成"123”, 此时也是在常量池中初始化得到复用, 所以地址一样

byte a = 120;
a = a + 1;
//因为a会提升int类型, 最终结果是int类型不能用byte来接受

byte a = 120 + 1
//常量优化机制, 会在编译期间将120 + 1变成121赋值a是可以的
结论:以后建议大家创建字符串都采用第四种方式, 节约内存!!!!!

上一篇: C++学习记录

下一篇: 简单密码