常用类

本文介绍了Java中String、StringBuffer、StringBuilder的操作方法,包括格式化、替换、查找等功能;展示了Arrays类的使用技巧,如排序、复制、填充等;并介绍了Math类的数学函数应用,以及日期时间处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串 String

是一个不可变的字符串。

StringBuffer:

StringBuilder:

package com.huadian.test0325;

public class StringTest {
    public static void main(String[] args) {
        String str="abcbc";
        System.out.println(str.hashCode());
        System.out.println("长度:"+str.length());
        System.out.println("查找:"+str.indexOf("a"));
        System.out.println("取值"+str.charAt(1));
        System.out.println("比较是否相等"+str.equals("abc"));
        System.out.println("替换"+str.replace("b","dd"));
        //分割
        String[] item = str.split("");
        for (String item1:item
             ) {
            System.out.println(item1);
        }
        System.out.println("子字符串"+str.substring(1,3));
        System.out.println("去除2端空格"+str.trim());
        System.out.println("格式化" +String.format("%sddd%d","abc",55));

        System.out.println("-------------------华丽的分割线———————————");
        System.out.println("同步"+"synchronize");
        StringBuffer sb=new StringBuffer();
        sb.append("a");
        System.out.println(sb);
        sb.append(1);
        sb.append(2);
        sb.append("dd");
        System.out.println("末尾添加"+sb);
        sb.insert(0,11);
        System.out.println("在 x 插入"+sb);
        sb.deleteCharAt(2);
        System.out.println("删除x位置"+sb);
        sb.delete(1,2);
        System.out.println("删除x1到x2的元素"+sb);
        sb.replace(1,3,"ab");
        System.out.println("替换start到end的元素"+sb);
        sb.setCharAt(0,'a');
        System.out.println("将x位置的元素设置成"+sb);
        System.out.println("反转"+sb.reverse());
    }
}

Arrays

构造器是私有,不能new对象,

里头所有的方法都是静态的,访问:Array.XXXs

package com.huadian.test0325;

import java.util.Arrays;
import java.util.Comparator;

public class ArraysTest {
    public static void main(String[] args) {
        int [] a={55,22,99,77,66,11};
        System.out.println(Arrays.toString(a));
        Arrays.sort(a);
        System.out.println("排序"+Arrays.toString(a));
        int index =Arrays.binarySearch(a,66);
        System.out.println("二分查找"+index);
        int []b;
        b= Arrays.copyOf(a,15);
        b[13]=1;
        System.out.println("复制"+Arrays.toString(b));
        b=Arrays.copyOfRange(a,0,1);
        System.out.println("form 到to 的范围复制"+Arrays.toString(b));
        b=Arrays.copyOf(a,15);
        Arrays.fill(b,1);
        System.out.println("填充值"+Arrays.toString(b));
        Integer[] c={55,22,99,77,66,11};
        /***
         * 返回-1  交换位置
         * i1-i2 >0 return -1 降序
         * i1-i2<0  return -1  升序
         */
        Arrays.sort(c, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                int i1=o1.intValue()/10+o1.intValue()%10;
                int i2=o2.intValue()/10+o2.intValue()%10;
                if (i1-i2==0)
                    return 0;
                else if (i1-i2<0)
                    return 1;
                return -1;
            }
        });
        System.out.println(Arrays.toString(c));
    }
}

Math

数学函数,

     所有的方法都是静态的

     abs,ceil,floor,round,max,min,exp,log,pow,sqrt,random,三角函数

     案例:掷骰子
package com.huadian.test0325;

public class MathTest {
    public static void main(String[] args) {
        System.out.println("abs绝对值"+Math.abs(1-2));
        System.out.println("ceil 向上取整"+Math.ceil(1.2));
        System.out.println("round 向下取整"+Math.round(1.8));
        System.out.println("max取最大值"+Math.max(1,8.8));
        System.out.println("min取最小值"+Math.min(1,8.8));
        System.out.println("exp e为底数的指数函数"+Math.exp(1));
        System.out.println("log 对数 函数 "+Math.log(2));
        System.out.println("pow x的y次方"+Math.pow(2,3));
        System.out.println("sqrt x的开方" +Math.sqrt(2));
        System.out.println("x的开n 1/3次方"+Math.pow(2,(double)1/3));
       //sin cos tan
        System.out.println("sin="+Math.sin(Math.PI/2));
        System.out.println("asin=Math.PI/2"+Math.asin(1));
        System.out.println(Math.sinh(Math.PI/2));
        System.out.println(Math.tan(Math.PI/4));
    }
}

Date Calendar SimpleDateFormat

(线程不安全)

package com.huadian.test0325;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) {
        Date date=new Date();//创建当前时间
        System.out.println("当前时间"+date);
        long time=date.getTime();
        System.out.println("时间戳"+time);//时间戳:1970-1-1到现在的毫秒数
        time+=24*60*60*1000;//一天的毫秒数
        Date date1=new Date(time);
        System.out.println("明天"+date1);
        System.out.println("计算机时间起点"+new Date(0));
        //因为用32位来表示时间的最大间隔是68年,
        // 而最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限
        // 综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间),
        // 而java自然也遵循了这一约束。

        System.out.println("———————华丽的分隔线——————————");

        Calendar calendar=Calendar.getInstance();
        System.out.println(calendar);
        System.out.println("日历时间"+calendar.getTime());
        System.out.println("日历时间:年"+calendar.get(Calendar.YEAR));
        //第一个月是JANUARY ,值为0  ,结果加1
        System.out.println("日历时间:一月的值为0 所以结果要加1:"+(calendar.get(Calendar.MONTH)+1));
        //第一天为SUNDAY周日,值为1 ,结果减1
        System.out.println("日历时间:从周日开始 所以结果要加1:"+ (calendar.get(Calendar.DAY_OF_WEEK)-1));

        System.out.println("日历时间:一月的第x天"+calendar.get(Calendar.DAY_OF_MONTH));
        calendar.set(Calendar.YEAR,2020);
        System.out.println("日历时间:set 函数 年份改为"+calendar.get(Calendar.YEAR));
        calendar.add(Calendar.MONTH,-1);
        System.out.println("日历时间:add函数 当前月份+x"+calendar.get(Calendar.MONTH));

        System.out.println("——————————华丽的分隔线——————————");

        Date date2=new Date();
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd hh :mm :ss");
        String date_str=sdf1.format(date2);//格式化
        System.out.println(date_str);
        SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd hh :mm :ss");
        try {
            Date date3=sdf2.parse(date_str); //解析  注意sdf2 和sdf1 的pattern(模式)相同
            System.out.println(date3);
        } catch (ParseException e) {
            e.printStackTrace();
        }



    }
}

LocalDate

https://blog.youkuaiyun.com/weixin_39723544/article/details/80091100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值