*常用类(2)

本文介绍了Java和Python中的字符串转换、连接、分割、替换功能,以及Math类的基本运算、Random类的随机数生成,还有Date和Calendar类的日期处理,以及正则表达式、日期格式化和数值计算库的使用。

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

1.String类

⑴转换功能

public class StringDemo {

    public static void main(String[] args) {

        //转换功能
        String s="a,b,c,d,e,f";
        byte []b=s.getBytes();//字符串转为字节数组<转码>
        String s1=new String(b);//字节数组转为字符串<解码>
        char []c=s.toCharArray();//字符串转为字符数组
        String s2=new String(c);//字符数组转为字符串
        String S=String.valueOf(10);//将其他类型转换为字符串时,使用value of方法,引用值如果为null 则返回"null"形式
        System.out.println(S);

        //转化为大小写
        String s3="aASSdxshkgdh";
        System.out.println(s3.toLowerCase()); //转化为小写
        System.out.println(s3.toUpperCase());//转化为大写
    }
}

⑵连接功能

 //连接功能
        String s1="agsbd";
        String S2=s1.concat("jfth");//连接一个字符串
        

⑶分割功能

   //分割功能
        String s="hk:gjvh:jv;j";
        String []ss=s.split(":");//用冒号进行分割
        System.out.println(Arrays.toString(ss));

⑷替换功能


        //替换功能
        String s="  abcda  ";
               s.replace("a","A");//替换一个字符
               s.replaceAll("abc","sss");//替换字符串
               s.replaceFirst("a","d");//替换第一个出现的字母
               s.trim();//去除空格
        

2.Stringbuffer类(可变带缓冲区字符串,如需要拼接大量字符串,建议使用)

⑴常用方法

public class StringBufferDemo {

    public static void main(String[] args) {

        StringBuffer s=new StringBuffer("abc");
                     s.append("a");//增加字符串
                     s.insert(1,"as");//向指定位置插入元素
                     s.delete(0,3);//从第0位置开始,删三个元素
                     s.deleteCharAt(1);//删除指定位置元素
                     s.replace(1,3,"ss");//替换,从第1个开始,第3个结束, 替换指定元素
                     s.substring(0,2);//从第0个位置开始,截取2个
        
         }
}

 ⑵StringBuffer与StringBuild区别

①相同点:底层实现方法完全一致,类内部有一个char数组,无final修饰,之后对字符串进行增删操作,都是对底层数组直接进行操作

②不同点:StringBuffer线程安全,被synchronized关键字修饰,StringBuild线程不安全

③String值不可变,少量拼接可以,大量拼接不建议,StringBuffer与StringBuild都是可变的

3.Math类

public class MathDemo {

    public static void main(String[] args) {

        Math.abs(-9);//求绝对值
        Math.sqrt(6);//开方
        Math.pow(2,3);//2的3次方
        Math.floor(9.9);//向下取整
        Math.ceil(9.1);//向上取整
        Math.round(9.5);//四舍五入
        Math.random();//返回0-1随机数
        double pi = Math.PI;//π

    }
}

4.Randow类

public class RandowDemo {

    public static void main(String[] args) {
        //随机数
        Random ran=new Random();
               ran.nextBoolean();//随机取个布尔值
               ran.nextInt(35);//随机取整数从0-35中取;包括0,不包括35
               ran.nextLong();//随机取长整数
               ran.nextDouble();//随机取浮点数

    }
}

5.正则表达式 

   它是一种模式匹配语言(用一种规则来匹配文本)

   重点:表达式中有哪些符号,如何使用这些符号来制定规则

public class Regex {

      //"\d"--匹配0-9的数字
      //[a-z]--匹配小写字母
      //[A-Z]--匹配大写字母
      //"\w"--匹配单词字符

    public static void main(String[] args) {

          String s="q234ghG@12Aw.com.cn";
          boolean b=s.matches("\\d{10}");//10位数字
          boolean b1=s.matches("\\d{2,3}");//2-3位数字
          boolean b2=s.matches("\\d{2,}");//至少两位数字
          boolean b3=s.matches("\\d*");//0或多次
          boolean b4=s.matches("\\d+");//1次或多次
          boolean b5=s.matches("[1,3]\\d{2,7}");
       ;
          boolean a=s.matches("[a-z]");//小写字母
          boolean a1=s.matches("[A-Z]");//大写字母
          boolean a2=s.matches("[A-z]");//大小写字母
          boolean a3=s.matches("\\w+"); //[A-Z,0-9,_]
          boolean a4=s.matches("[A-z]\\w{6,10}@\\w{2,5}\\.(com|com.cn)");

          System.out.println(b);

    }
}

6.Date类,Calendar类 

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateCalendar {

    public static void main(String[] args) {

        Date date=new Date();
        System.out.println(date);//获得日期
        System.out.println(date.getTime());//获得毫秒值之差,从1970-1-1 0:0:0至今的毫秒差
        Date date1=new Date(1656328181245L);//有参
        System.out.println(date1);//这一刻的毫秒值换为日期格式


        Calendar c=new GregorianCalendar();
        System.out.println(c.getTimeInMillis());//获得日期毫秒值
        System.out.println(c.get(Calendar.YEAR));//获得目前的年份
        //c.getTimeInMillis()=date.getTime();
    }
}

7.日期格式化 SimpleDateFormat

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {

    public static void main(String[] args) {
        Date d=new Date();//创建当前时间对象
        //将此刻时间格式化
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss E");
                       String s=sdf.format(d);//转为中文字符串形式
                       System.out.println(s);


        String ss="2003-2-3";
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date=sdf1.parse(ss);//转化为基本格式
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }


    }
}

8.BigInteger&&BigDecimal 

import java.math.BigDecimal;
import java.math.BigInteger;

public class Big {

    public static void main(String[] args) {
        BigInteger BI=new BigInteger("1213445435456756658904898296576481583451354612342546321547364");
        BigInteger BI1=new BigInteger("3487324858972359325923645789235965374395343587324532454275");
        BigInteger BI2=BI.add(BI1);//大整数进行相加
        System.out.println(BI2);


        BigDecimal a1=new BigDecimal("11.9");
        BigDecimal a2=new BigDecimal("10.1");
        BigDecimal a3=a1.subtract(a2);//进行相减
        System.out.println(a3);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值