Java不愧是王牌语言,为了方便程序员的开发工作。它内置了用于解决字符串经常更改的StringBuffer或StringBuilder类;用于数学计算的Math类;用于日期和时间处理的Date类(如果你对日期有更高的要求,还可以使用Calendar类)。
17.1 动态字符串
和String类不同的是,StringBuffer和 StringBuilder 类的对象能够被多次地修改,并且不产生新的未使用对象。 StringBuilder的方法不是线程安全的(不能同步访问)。
StringBuffer用append(String s)新增字符串内容;用insert(int offset, String s)插入字符串内容;用delete(int start, int end)删除指定范围内的内容;用replace(int start, int end, String str)替换下标指定范围内的内容。
/** * 老陈说编程 * StringBuffer讲解 */public class StringBufferIntro { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); //添加元素 sb.append("老陈"); sb.append("说"); //插入 sb.insert(3, "编程Java"); //删除元素 sb.delete(5, 9); //替换指定位置的内容 sb.replace(3, 6, "编程!"); System.out.println(sb.toString()); }}
输出结果
老陈说编程!
17.2 数值计算
Java的Math类,包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。为了方便你的调用,Math的方法都被定义为static形式, 你可以直接用类名进行调用。Math用来计算的方法挺多的,我就不不列举了,你用到的时候,想想英文单词就好了。
/** * 老陈说编程 * Math应用 */public class MathIntro { public static void main(String[] args) { //求绝对值 int m = Math.abs(-100); System.out.println("-100的绝对值:" + m); //求最大值 double d = Math.max(12.255, 66.521); System.out.println("最大值为:" + d); //求正弦 double c = Math.cos(0); System.out.println("0度角的正弦为:" + c); //四舍五入 long l = Math.round(69.86); System.out.println("69.86四舍五入为:" + l); }}
输出结果
-100的绝对值:100最大值为:66.5210度角的正弦为:1.069.86四舍五入为:70
17.3 日期时间
在java.util工具包中有Date类,经常用来处理日期和时间,搭档SimpleDateFormat类可以简单的对日期进行格式化处理。
/** * 老陈说编程 * Date和Calendar讲解 */import java.util.Date;import java.text.SimpleDateFormat;public class DateIntro { public static void main(String[] args) { Date today = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天是: " + ft.format(today)); }}
输出结果
今天是: 2021-01-18
Calendar类的功能要比Date类强大很多,可以方便地进行日期的计算,获取日期中的信息时考虑了时区等问题,当然,在实现方式上也比Date类要复杂一些。温馨提醒:Calender的月份是从0开始的,但日期和年份是从1开始的。
/** * 老陈说编程 * Date和Calendar讲解 */import java.util.Calendar;import java.text.SimpleDateFormat;public class DateIntro { public static void main(String[] args) { //当前日期 Calendar c = Calendar.getInstance(); // 获得年份 int year = c.get(Calendar.YEAR); // 获得月份 int month = c.get(Calendar.MONTH) + 1; // 获得日 int day = c.get(Calendar.DAY_OF_MONTH); System.out.println("今天是:" + year + "年" + month + "月" + day + "日"); // 10天前 c.add(Calendar.DATE, -10); SimpleDateFormat sf = new SimpleDateFormat("YYYY-MM-DD"); String s = sf.format(c.getTime()); System.out.println("10天前是:" + s); }}
输出结果
今天是:2021年1月18日10天前是:2021-01-08
好了,有关Java内置工具类的内容就这么多了,如果你觉得老陈这样讲还可以的话,你就转发和点赞,你的轻轻一点,就是对老陈继续创作的最大鼓励和支持。
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。
#Java##APP##程序员##Web##Spring#