Java中的基础类库
基本数据类型的包装类
是基本数据类型的引用类型,提供基本数据类型的数据转换和数据操作的方法。
--byte Byte
--short Short
--int Integer
--long Long
--boolean Boolean
--float Float
--double Double
--char Character
--实现基本数据类型和引用类型之间的转换
--自动装箱 将基本数据类型的数据封装为基本数据类型的包装类
--自动拆箱 将基本数据类型的包装类拆封为基本数据类型的数据
※String是字符串类型
是不可变类,并且是一个引用类型。
--创建String类型的对象 :
String item = "hello";
或者
String item = new String("hello");
-- 返回指定索引处的 char 值:
charAt(int index) ;
--返回指定字符在此字符串中第一次出现处的索引:
indexOf(int ch) ;
-- 返回指定字符在此字符串中最后一次出现处的索引:
lastIndexOf(int ch) ;
--返回此字符串的长度:
length() ;
--返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的:
replace(char oldChar, char newChar);
--测试此字符串是否以指定的前缀开始。
startsWith(String prefix);
--返回一个新的字符串,它是此字符串的一个子字符串:
substring(int beginIndex);
--将此字符串转换为一个新的字符数组:
toCharArray();
--使用默认语言环境的规则将此 String 中的所有字符都转换为小写:
toLowerCase();
--使用默认语言环境的规则将此 String 中的所有字符都转换为大写:
toUpperCase();
--根据给定正则表达式的匹配拆分此字符串:
split(String regex);
※ StringBuilder 和 StringBuffer
* 1.获取
* char charAt(index)
* indexOf
* String substring(start,end)....
* 2.删除
* StringBuffer delete(begin,end) 包含头,不包含尾
* StringBuffer deleteCharAt(index)
* 3.存储
* StringBuffer append() 追加未尾
* StringBuffer insert()
* 4.修改
* replace()
* 5. 反转
* reverse()
StringBuilder是线程不安全的String增强类,StringBuilder 和 StringBuffer都是容器, 定义的api(方法)都相同
StringBuffer是线程安全的String增强类。StringBuffer 是一个容器,称为字符串缓冲区,该字符串缓冲区可扩展final类
特点: 长度可变化; 可以操作多个数据类型;通过toString()转成String
如果对字符串进行修改时,无需创建新对象!性能相对String较好
※ StringBuilder 和 StringBuffer区别:
StringBuilder没有线程安全(机制),而 StringBuffer有线程安全的问题
所以,StringBuilder性能较佳
StringBuilder版本较新
StringBuilder类对字符串的操作,是在实例的基础上修改,而不是像string类型那样不停的创建新的对象,达到了节约系统内存开销的问题。
练习一:
"hello world"字符串,逐个单词拆分,然后以大写输出(每次一个单词换行输出)。
练习二:
(1)使用StringBuffer 往一个数值每隔三位(千位)插入一个','
例如: "88123456789"-->"88,123,456,789"
12,345
作业:产生随机数 Math.random()
规则: 不能使用集合
1. 前六位 随机产生 1-36之间整型数,而且不能重复。由小到大进行排序(选择或冒泡)【可以用工具类排序】
2. 特别号 随机产生 1-16之间整型数
3. 输出时以以下的格式:
2,10,20,23,26,30 + 2
Java常用类:
Math:
--abs(a):返回 int 值的绝对值。
--max(a,b):返回两个 int 值中较大的一个。
--min(a,b):返回两个 int 值中较小的一个。
--random() :返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
--sqrt(a) :返回正确舍入的 double 值的正平方根。
日期类型:java.util.Date
获取当前日期的两种方式:
<1>--Date date = new Date();
<2>--long item = System.currentTimeMillis();
Date date = new Date(item);
日期格式化SimpleDateFormat
--创建SimpleDateFormat的对象:
SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
--使用:Date 格式化输出 String字符串
String item = sm.format(new Date());
--String类型表示日期 转换为 java.util.Date;
Date dItem = sm.parse("2017-07-07 16:48:14");
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
--获取Calendar类的实例对象:
Calendar calendar = Calendar.getInstance();
//使用默认时区和语言环境获得一个日历。
--设置当前时间: calendar.setTimeInMillis(System.currentTimeMillis());
或者:
calendar.set(Calendar.YEAR, 2018);
calendar.set(Calendar.MONTH, 7);
calendar.set(Calendar.DAY_OF_MONTH, 6);
--获取年份:
calendar.get(Calendar.YEAR);
--获取月份:(0~11)
calendar.get(Calendar.MONTH);
--获取当前月份的日期:
calendar.get(Calendar.DAY_OF_MONTH);
--获取当前时间的秒数:
calendar.get(Calendar.SECOND);
BigDecimal 类是一个算术运算类,它可以给浮点类型的运算控制算术精度,但是要注意在创建对象是入参字符串类型的数据
//加法的操作
System.out.println("BigDecimal -> 0.05+0.01="+(f1.add(f2)));
//减法的操作
System.out.println("BigDecimal -> 0.05-0.01="+(f1.subtract(f2)));
//乘法的操作
System.out.println("BigDecimal -> 0.05*0.01="+(f1.multiply(f2)));
//除法的操作
System.out.println("BigDecimal -> 0.05/0.01="+(f1.divide(f2)));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?