Java 常用实现类

本文深入讲解了Java中常用的几个核心类的功能与用法,包括Math类的数学运算、Random类的随机数生成、String类的字符串操作、StringBuffer类的字符串缓冲区管理、Date与SimpleDateFormat类的时间日期处理及Calendar类的日历操作。

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

Java 常用实现类

一、Math类

字段类型功能
PIstatic double比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
方法方法类型功能
random()static double返回[0, 1)之间的小数。
abs(double a)
abs(float a)
abs(int a)
abs(long a)
static double
static float
static int
static long
返回 double 值的绝对值。
返回 float 值的绝对值。
返回 int 值的绝对值。
返回 long 值的绝对值。
ceil(double a)static double返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
floor(double a)static double返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
round(float a)
round(double a)
static int
static long
返回最接近参数的 int
返回最接近参数的 long
max(int a, int b)
max(long a, long b)
max(float a, float b)
max(double a, double b)
static int
static long
static float
static double
返回两个 int 值中较大的一个。
返回两个 long 值中较大的一个。
返回两个 float 值中较大的一个。
返回两个 double 值中较大的一个。
min(int a, int b)
min(long a, long b)
min(float a, float b)
min(double a, double b)
static int
static long
static float
static double
返回两个 int 值中较小的一个。
返回两个 long 值中较小的一个。
返回两个 float 值中较小的一个。
返回两个 double 值中较小的一个。
pow(double a, double b)static double返回第一个参数的第二个参数次幂的值
public class MathDemo {
	public static void main(String[] args) {
		double num =Math.random();
		System.out.println(num);
		
		//随机获取一个[num1,num2ran)之间的整数
		// int num =(int)(Math.random()*(num2-num1)+num1);
		
		double pi=Math.PI;
		System.out.println(pi);
		
		System.out.println(Math.abs(-35));
		
		//ceil(double a):返回一个比a大的离a最近的整数
		System.out.println(Math.ceil(-3.4));
		
		//floor(double a):返回一个比a小的离a最近的整数
		System.out.println(Math.floor(3.9));
		
		//round():根据四色五入的原则返回数据
		System.out.println(Math.round(3.5));
		
		System.out.println(Math.max(12, 25));
		System.out.println(Math.min(56, 23));
		
		//pow(double a,double b):返回a的b次方结果
		System.out.println(Math.pow(3, 4));
	}
}

二、Ramdom类

Random rand=new Random(); //创建一个Random对象
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
    int num=rand.nextInt(10);//返回下一个伪随机数,整型的   	
    System.out.println("第"+(i+1)+"个随机数是:"+num);
} 

三、String类

方法功能
length()获取字符串的长度。
equals()比较两个字符串的内容是否相同,英文字母区分大小写。
equalsIgnoreCase()比较两个字符串的内容是否相同,英文字母不区分大小写。
toLowerCase()将大写英文字母转换为小写。
toUpperCase()将小写英文字母转换为大写。
concat()连接两个字符串。
public class StringDemo01 {
	public static void main(String[] args) {
		String str = "abcdefgabcqwerabdkg";
		// length():获取字符串的长度
		System.out.println(str.length());

		String pwd = "aidsjfksj";
		if (pwd.length() < 6 || pwd.length() > 18) {
			System.out.println("密码长度应该在6-18之间,请重新输入");
		}

		System.out.println("------------------");

		// equals():比较两个字符串的内容是否相同,英文字母区分大小写
		String str1 = "abcdefg";
		String str2 = "abcdefG";
		System.out.println(str1.equals(str2));// false

		// equalsIgnoreCase():比较两个字符串的内容是否相同,英文字母不区分大小写
		System.out.println(str1.equalsIgnoreCase(str2));// true

		// toLowerCase()方法:将大写英文字母转换为小写
		// toUpperCase()方法:将小写英文字母转换为大写
		String str3 = "ABCDqwert";
		System.out.println(str3.toLowerCase());// abcdqwert
		System.out.println(str3.toUpperCase());// ABCDQWERT

		// 字符串的连接:+ concat()
		String str4 = "大湖名城";
		String str5 = "创新高低";
		System.out.println(str4+","+str5);
		String result = str4.concat(str5);
		System.out.println(result);
	}
}
方法功能
indexOf(int ch)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1。
indexOf(String value)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1。
lastIndexOf(int ch)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1。
lastIndexOf(String value)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1。
substring(int index)提取从位置索引开始的字符串部分。
substring(int beginindex, int endindex)提取beginindex和endindex之间的字符串部分,包括开始索引的字符,不包括结束索引的字符。
trim()返回一个前后不含任何空格的调用字符串的副本。
split(String regex)根据拆分规则对字符串进行拆分。
public class StringDemo02 {
	public static void main(String[] args) {
		// public int indexOf(int ch)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
		// public int indexOf(String value)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1

		// 常用ASCII码值 A:65 a:97 0:48
		String str = "abcdefghijk0lAmnabc";
		int num = str.indexOf(48);
		System.out.println(num);// 12
		int index = str.indexOf("a");
		System.out.println(index);// 0

		// public int lastIndexOf(int ch):搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
		// public int lastIndexOf(String value):搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
		System.out.println(str.lastIndexOf("a"));

		// public String substring(int index):提取从位置索引开始的字符串部分
		String newStr = str.substring(3);
		System.out.println(str);
		System.out.println(newStr);
		// public String substring(int beginindex, int endindex):提取beginindex和endindex之间的字符串部分,包括开始索引的字符,不包括结束索引的字符
		String newStr2 = str.substring(3, 6);
		System.out.println(str);
		System.out.println(newStr2);

		// public String trim():返回一个前后不含任何空格的调用字符串的副本
		String str3 = "   abc    qwert    ";
		String newStr3 = str3.trim();
		System.out.println(str3);
		System.out.println(newStr3);
		System.out.println("-----------------");

		// String[] split(String regex) :根据拆分规则对字符串进行拆分
		String song = "长亭外,古道边,芳草碧连天,晚风拂,柳笛声残,夕阳山外山";
		String[] strs = song.split(",");
		for (String string : strs) {
			System.out.println(string);
		}

		// 我爱你你不爱我但是我很爱你可我就是不爱你
		String love = "我爱你你不爱我但是我很爱你可我就是不爱你";
		String[] loves = love.split("爱");
		for (String string : loves) {
			System.out.println(string);
		}
		System.out.println("--------------");

		char ch = love.charAt(1);
		System.out.println(ch);

		boolean result = love.endsWith("爱你ya");
		System.out.println(result);

		byte[] bytes = love.getBytes();
		System.out.println(bytes[0]);//-50
		char result2 = (char) bytes[0];
		System.out.println(result2);
//		for (int i = 0; i < bytes.length; i++) {
//			System.out.println(bytes[i]);
//		}
	}
}

四、StringBuffer类

直接对硬盘中存储的字符串进行操作。

方法功能
append()将参数的字符串表示形式追加到序列。
toString()返回此序列中数据的字符串表示形式。
insert()在指定位置添加参数的字符串表示形式。
replace(int start, int end, String str)使用给定 String 中的字符替换此序列的子字符串中的字符。
reverse()将此字符序列用其反转形式取代。
public class StringBufferDemo {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer("qwertyuiop");
		System.out.println(sb);
		StringBuffer sb2 = sb.append("asdfg");
		System.out.println(sb2);// qwertyuiopasdfg
		System.out.println(sb);// qwertyuiopasdfg
		
		String str = sb.toString();// 转换成字符串。
		System.out.println(str);
		
		StringBuffer sb3 = sb.insert(3, "你好啊");// 在指定位置添加字符串。
		System.out.println(sb3);
		
		StringBuffer sb4 = sb.replace(5, 8, "爱");// 使用给定 String 中的字符替换此序列的子字符串中的字符。
		System.out.println(sb4);
		
		StringBuffer sb5 = sb.reverse();// 将此字符序列用其反转形式取代。
		System.out.println(sb5);
	}
}

五、Date类(java.util.Date)

public class DateDemo01 {
    public static void main(String[] args) {
        // 创建Date类对象
        Date date = new Date();
        System.out.println(date);
        int year = date.getYear() + 1900;// 已过时
        System.out.println(year);// 未加1900:122,加上1900:2022
        int day = date.getDay();// 已过时0:星期日,1:星期一...6:星期六
        switch (day) {
            case 0:
                System.out.println("星期日");
                break;
            case 6:
                System.out.println("星期六");
                break;
        }
    }
}

六、SimpleDateFormat类

public class SimpleDateFormatDemo {
    public static void main(String[] args) {
        // 声明日期类
        Date date = new Date();
        System.out.println(date);

        // 设置日期格式化格式:
        /* 
        	y	年
        	M	月
        	d	日
        	H	小时
        	m	分
        	s	秒
        */
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 格式化日期并输出对应形式的字符串
        String str = sdf.format(date);
        System.out.println(str);
    }
}

七、Calendar类

public class CalendarDemo01 {
	public static void main(String[] args) {
		// 通过查询API知道Calendar类是一个抽象类,不能直接实例化,
		// 可以调用Calendar类中的getInstance() 方法获得getInstance() 方法获得Calendar类的引用

		Calendar cal = Calendar.getInstance();
		System.out.println(cal);
		// 输出上面的cal的可以得到很多的数据,比如年月日时分秒星期数等,但是形式不是我们想要的,所以我们要进行转换

		// 获取年
		int year = cal.get(Calendar.YEAR);
		System.out.println(year);

		// 获取月份
		int month = cal.get(Calendar.MONTH);// 在日历cal中第一个月用0表示,第二个月用1表示,以此类推
		System.out.println(month + 1);

		// 获取日
		int day = cal.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);

		// 获取时分秒
		int hour = cal.get(Calendar.HOUR);
		int minute = cal.get(Calendar.MINUTE);
		int second = cal.get(Calendar.SECOND);
		System.out.println(hour+":"+minute+":"+second);
		
		//获取今天是这一年的第多少天
		int dayYear=cal.get(Calendar.DAY_OF_YEAR);
		System.out.println("今天是这一年的第"+dayYear+"天");
		
		//获取星期
		int dayWeek =cal.get(Calendar.DAY_OF_WEEK);
		System.out.println(dayWeek-1);
        
        // 注意月份是从0开始,4月份用3表示
        cal.set(2015, 3, 6);
		System.out.println(cal);
		int woy = cal.get(Calendar.WEEK_OF_YEAR);
		System.out.println(woy);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Glensea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值