Java学习笔记——常用类

本文深入讲解Java中的String类特性,探讨其不可变性、构造方法及常用操作;对比StringBuffer与StringBuilder,解析基本类型的包装类;并介绍日期类、数字类的使用技巧。

一、String类

1、String 类是不可变类,也就是说 String 对象声明后,将不可修改。
2、String表示字符串类型,属于引用数据类型,不属于基本数据类型。
3、在java中随便使用双引号括起来的都是String对象。例如"abc",“def"都是String对象。
4、在java中规定,双引号括起来的字符串,是不可变的,也就是说"abc"自出生到最终死亡都是不可变的,不能变成"abcd”,也不能变成"ab"。
5、在JDK当中双引号括起来的字符串,例如:”abc""def’ 都是直接存储在"方法区”的“字符串常量池” 当中的。

关于String类中的构造方法。

第一个: Strings = new String(");
创建字符串对象

第二个: Strings= "";
创建字符串对象

第三个: Strings = new String(char数组);char数组全部转换为字符串

第四个: Strings = new String(char数组,起始下标,长度);char数组中的一部分转换成字符串

第五个: Strings = newString(byte数组);byte全部转换为字符串

第六个: Strings = new String(byte数组,起始下标,长度);byte数组中的一部分转换成字符串

String类中的常用方法

1(掌握).char charAt(int index)
返回字符串的第index个值

2(了解).int compareTo(String anotherString)
字符串之间比较大小时使用,前后一致返回值为0, 前小后大返回值为-1,前大后小返回值为1着字符串第一个字母和后面字符串第一个字母比较。 能分胜负就不在比较了。

3(掌握).boolean contains(CharSrquence s)
判断前面的字符串中是否包含后面的子字符串。返回值为布尔类型。

4(掌握).boolean endWith(String suffix)
判断当前字符串中是否以某个子字符串结尾。返回值为布尔类型。

5(掌握).boolean quals(Object anObject)
比较两个字符串必须使用equals方法,不能使用"=="。
compare方法也可以看出是否相等,并且同时还可以看出谁大谁小。

6(掌握).boolean equlaslgnoreCase(String anotherString)
判断两个字符是否相等,并且同时忽略大小写。

7(掌握).byte[] getBytes()
将字符串对象转换成字节数组。

8(掌握).int indexOf(String str)
判断某个子字符串在当前字符串中第一次出现处的索引(下标)9(掌握).boolean isEmpty(
判断某个字符串是否是”空字符串”。底层源代码调用的应该是字符串的Iength0方法
10(掌握).int length(
判断字符串长度
判断数组长度是length属性,判断字符串长度是length0方法。

11(掌握).int lastIndexOf(String str)
判断某个字符串在当前字符串中最后一次出现的索引(下标)12(掌握).String replace(CharSequence target, CharSequence replacement)
替换。将"target' 替换成' replacement"13(掌握).String[] split(String regex)
拆分字符串。以"regex' 分隔符进行拆分。

14(掌握).boolean startWith(String prefix)
判断某个字符串是否以某个子字符串开始。

15(掌握).String substring(int beginIndex)
截取字符串。参数是起始下标。

16(掌握). String substring(int brginIndex, int endIndex)
截取字符串。beginIndex起始位 置(包括),endIndex结束位置(不包括)17(掌握).char] toCharArray0)
将字符串转换成char数组。

18(掌握).String toLoweCase(
转换为小写。

19(掌握).String toUpperCase()
转换为大写。

20(掌握).String trim()
去字符串前后的空白。

21 (掌握).String中只有-一个方法是静态的,不需要new对象。
这个方法叫valueOf
作用:"非字符串”转换成"字符串"。

二、StringBuffer和StringBuilder

1.StringBuffer

StringBuffer称为字符串缓冲区,它的工作原理是:预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓存区的大小,以容纳更多的字符序列StringBuffer 是可变对象,这个是 String 最大的不同。

2.Stringbuilder

用法同 StringBuffer,StringBuilder 和 StringBuffer 的区别是 StringBuffer 中所有的方法都是同步的,是线程安全的,但速度慢,StringBuilder 的速度快,但不是线程安全的。

三、基本类型对应的包装类

基本类型包装类
byteByte
shortShort
charCharater
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean

包装类和基本类型做计算时,必须将包装类转换成基本类型才可以,在jdk1.5以后,提供了自动装箱(自动将基础类型转换为对象)和自动拆箱(自动将对象转换为基础类型)功能。

四、日期类

常用日期类:
java.util.Date
java.text.SimpleDateFormat
java.util.Calendar

// 获取系统当前日期(精确到毫秒)
Date nowTime = new Date();
System.out.println(nowTime);
// java.util.Date类的toString()方法已经被重写了。
// 输出的应该不是一个对象的内存地址,应该是一个日期字符串。
// 格式化日期
// String -->  Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(nowTime));
// Date -->  String
String time = "2008-08-08 08:08:08 888";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
System.out.println(sdf2.parse(time));

简单总结一下System类的相关属性和方法:

  • System.out 【out是System类的静态变量。】
  • System.out.println() 【println()方法不是System类的,是PrintStream类的方法。】
  • System.gc() 建议启动垃圾回收器
  • System.currentTimeMillis() 获取自1970年1月1日到系统当前时间的总毫秒数。
  • System.exit(0) 退出JVM。

在上面代码 Date nowTime = new Date(); 中,括号内可以传入参数,例如输入1,输出得到的时间就是1970-01-01 00:00:00 001

五、数字类

1.BigDecimal

BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)这是SUN提供的一个类。专门用在财务软件当中。需要导入包java.math.BigDecimal
使用方法为BigDecimal v1 = new BigDecimal(100);

2.数字格式化

数字格式有哪些?
# 代表任意数字
, 代表千分位
. 代表小数点
0 代表不够时补0
例如:###,###.##
表示:加入千分位,保留2个小数。
使用方法为DecimalFormat df = new DecimalFormat("###,###.##");

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值