day3学习内容
字符串
- String类代表字符串,是一个引用类型,是唯一不需要new关键字的引用类型.默认值为null.
//String类两种的创建方式
String str = new String();
String str = "david";//常用这种方法定义并初始化,效率高,专门做出的优化,写代码的时候接近基本类型.
-
String类的内存模型(两种创建方式区别的本质)
- java中==比较的是栈中的值
- 对于字符串来说栈里的值没有意义 用equals方法比较堆中值
- 使用优化写法,字符串存入常量池中
- 常量池中放入新数据先看有没有之前创建过数据,创建过就不再创建.(节约空间)
-
**String字符串是常量,创建后不能发生改变 **,常量是根据字符串的存储方式所说的,首先先在堆中创建一个字符串,让栈中的String存放堆中字符串地址的引用.更改String内容实际上是更改了栈中存放的地址引用
-
String类是最终类,不能被继承
-
String类常用方法
-
charArt() 截取一个字符,括号内放数字,从零开数
-
lengrh() 返回字符串中的长度
-
getBytes 将字符串变成一个btye数组
-
equals() 区分大小写比较字符串是否相等
equalslgnoreCase() 不区分大小写比较字符串是否相等
-
startWith() 判断字符串是不是以特定的字符开头
endWith() 判断字符串是不是特定字符结尾
-
concat() 连接字符串.
+: 一般用+ 来链接,加号的使用方式看两边数据类型,字符串类型和其他类型做运算,运算要都转成字符串类型
-
subsring() 输入两个参数时,包前不包后[ )截取字符串
-
indexOf() 查找字符或字符串第一次出现的下标
-
lastindexOf() 从后往前查找字符或字符串第一次出现的下标
-
compareTo() 按字顺序比较两字符串的大小
comepareTolgonreCase()
-
repalce() 替换
-
split() 按指定字符切割
-
-
StringBuffer 和 StringBuilder
- 解决空间浪费 , String频繁的赋值修改会开辟很多空间造成空间浪费
- 工作原理相同, StringBuffer线程安全,StringBUilder非线程安全(单线程)
- 方法:
- append() 在原字符串后拼接字符
- insert() 在原字符前拼接字符或在指定位置添加字符(也是按数组下标数)
- toString() 转化为字符串
- reverse() 反转字符
Date类
-
Date类在java.util.Date中.
Date now = new Date();//获取当前时间 Date now = new Date(long millisec)//参数为1970.1.1起的毫秒数
tips: java中初始时间是1970年1月1日
-
使用SimpleDateFormat类对日期类型进行格式化,生成字符串
import java.text.SimpleDateFormat;//导入SimpleDateFormat所在的包 import java.util.Date;//导入Date所在的包 public class DateFunction { public static void main(String [] args){ Date now = new Date(); System.out.println(now); SimpleDateFormat f = new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒"); System.out.println(f.format(now));//年月日分秒方式输出时间 } }