常用类 API
Calendar
Calendar 线程不安全 ,不同步
获得并设置日历字段值
Calendar 使用两个参数定义了特定于语言环境的 7 天制星期:
星期的第一天和第一个星期中的最小一天(从 1 到 7)。第一天是星期日
每个单词得字母大写 表示常量;
hashCode 重写之后不是地址值
静态函数 类名. 来调用
java.time 同步代码
String 类 String 类代表字符串。
Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。
因为 String 对象是不可变的,所以可以共享
1.字符串是常量
String 可以表示一个字符串
String类实际是使用字符数组储存得;不能被继承(是最终类);
String name = "小白";
2.通过关键字new 调用String 得构造方法进行赋值
String name = new String ("小白");
举列子 4种情况
分析
String a = "a";
String a1= a+1;堆内存里面得
String a2 ="a1";常量字符串,在数据区
a1 == a2 结果 false
String s1 ="abc";
String s2 = "abc";abc 加载在数据区
System.out.println(s1 == s2);结果是true
String s3 = new String ("xyz");
String s4 = new String ("xyz");
System.out.println(s3 == s4); 结果是false
2.它们的值在创建之后不能更改
分析 :声明开始,常量值一直存在
3.字符串缓冲区支持可变的字符串。
因为 String 对象是不可变的,所以可以共享(在数据区加载)
字符串分为两种,
第一 可变字符串 StringBuilder / StringBuffer
第二不可变字符串(String)
问题
String s1 ="abc"; 一个对象
String s2 = new String ("xyz"); 2个对象
String s3 = "m" + "n"; 三个对象 m n mn
尽量减少字符串得使用,用了 就在内存中一直存在
测试单元 JUnit4
1.函数不能有返回值
2.不能有形参
@Test(这里选择 JUnit4 )
public void m1(){
System.out.println(1111111111);
}
1. 获取:
1.1 字符串中的包含的字符数,也就是字符串的长度:
int length():获取长度
1.2 根据位置获取位置上某个字符:
char charAt(int index) :找返回值为char的方法
1.3 根据字符获取该字符在字符中的位置:(总共八个方法)
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
int indexOf(int ch,int fromIndex):从formIndex指定位置开始,获取ch在字符串中第一次出现的位置
int indexOf(String str):返回的是str在字符串中第一次出现的位置
int indexOf(String str,int fromIndex):从formIndex指定位置开始,获取str在字符串中第一次出现的位置
2. 判断
2.1 字符串是否包含某一个子串
boolean contains(str) ;
特殊之处:indexOf(str):可以索引第一次出现个位置,如果返回-1,表示str不在字符串中。
所以可以用于判断是否包含。
if(str.indexOf("aa") != -1)
而且可以用于获取位置
2.2字符串是否有内容
boolean isEmpty():原理就是判断长度是否为零;""
2.3字符串是否以指定内容开头
boolean startsWith(str) ;
2.4字符串是否是以指定内容结束
boolean endsWith(str)
2.5判断字符串内容是否相同。复写了Object类中equals方法。
boolean equals(str) ;
2.6判断内容是否相同,并忽略大小写。
原理: 全部转换成大写或小写再比较
boolean equalsIgnoreCase(str) ;
3.1 将字符数组转成字符串
String(char[])
3.2 将字符串转成字符数组
char[] toCharArray() :
3.4 将字符串转成字节数组
byte[] getBytes() ;
3.3 将字节数组转成字符串
String(byte[])
封装类/包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
1.基本类型 <----> 引用数据类型得互相转换
2.基本类型 <----> String
int ---> Integer
手动装箱
int i = 110;
integer = interger.valueof(i);
自动装箱
int i = 110;
integer = i;
可变参数列表:参数个数不确定得问题
1.可变参数列表本质,就是数组
2.优先调用精确匹配
3.可变参数列表必须位于所有参数得最后
import :只能引入一个类
import java.util.*
枚举 enum :对象有限个并且是固定得,5.0开始
public enum Season{
枚举第一行 必须是 对象
枚举类得构造器 默认是 私有得
}
增强for循环
for(数据类型 变量名 :遍历的目标){ //数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素
1.增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,
不需要我们获取迭代器而已,所以在使用增强for循环变量元素的过程中不准使用集合对象对集合的元素个数进行修改。
2.迭代器遍历元素与增强for循环变量元素的区别:使用迭代器遍历集合的元素时可以删除集合的元素,
而增强for循环变量集合的元素时,不能调用迭代器的remove方法删 除 元素。
3.普通for循环与增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章