实用类介绍

本文介绍了Java实用类的使用,包括枚举类型、包装类的拆箱装箱、Math和Random类的使用、String类操作字符串、StringBuffer拼接字符串、Date和Calendar类处理时间,以及SimpleDateFormat解析/转换时间等内容,帮助开发者掌握这些实用类的操作。

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

实用类

1. 能够定义并使用枚举类型

**基本数据类型:**byte short int long float double boolean char

**引用数据类型:**数组、类(String)、接口、枚举

switch(表达式) 支持int(byte short) String Enum枚举

案例演示:

/**
 * 星期枚举类
 * 枚举类型其实就是个已经在Java中被定义了父类的普通Class而已
 * 它无法继承其他类,但是可以实现接口
 * @author Charles7c
 * 2019年2月25日 上午9:11:15
 */
public enum DayOfWeek{
	MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
	
	/*private String name;
	
	public void print() {
		
	}*/
}
public class Test1 {

	public static void main(String[] args) {
		/*
		 * 需求: 当今天是周一到周五时,我们要好好学习! 当今天是周六到周日时,我们要好好休息!
		 */
		// 定义当前的星期
		DayOfWeek dayOfWeek = DayOfWeek.MONDAY;

		// 判断当前是要进行什么活动
		switch (dayOfWeek) {
			case MONDAY:
			case TUESDAY:
			case WEDNESDAY:
			case THURSDAY:
			case FRIDAY:
				System.out.println("好好学习!");
				break;
			case SATURDAY:
			case SUNDAY:
				System.out.println("好好休息!");
				break;
			default:
				break;
		}
	}
}

2. 掌握包装类和自动拆箱 装箱

在这里插入图片描述

**包装类:**引用数据类型。

基本数据类型 -> 引用数据类型

byte -> Byte

short -> Short

int -> Integer

long -> Long

float -> Float

double -> Double

boolean -> Boolean

char -> Character

数据类型—>包装类 包装类.valueof(数据类型)
包装类---->数据类型 包装类.xValue()
包装类---->字符串 包装类.toString()
字符串----->基本数据类型 基金数据类型对应得包装类.parsexx(字符串)

//int类型转换为integer包装类 通过包装类的构造
		Integer integer1=new Integer(10);
	//int类型转换为integer包装类 通过包装类.valueof()
		Integer integer2 =Integer.valueOf(10);		
	//String类型转换为integer包装类 通过包装类的构造
		Integer integer3 =new Integer("10");
	
	//integer转为int类型 通过包装类.xxValue()
		int int1 = integer1.intValue();
	//integer转为String类型 通过integer.toString()
		String string = integer2.toString();
	//int转为String 通过包装类.toString()
		String string2 = Integer.toString(10);
	//数字型字符串转为int 通过Integer.parseInt()
		int int2 = Integer.parseInt("10");
	//数字型字符串转为integer 通过Integer.valueOf()	
		Integer valueOf = Integer.valueOf("10");
			

Java中提供了一套自动拆箱和装箱操作:

**拆箱:**将包装类型转换为基本类型 Integer i = new Integer(10); int a = i;

**装箱:**将基本类型转换为包装类型 Integer i = 10;

**提醒:**未来我们有些值需要定义为包装类型!因为它可以接收Null值。

Integer i = null; (对的)

int a = null; // (X)

在这里插入图片描述
在这里插入图片描述

3. 会使用Math类型进行数学运算

Math.random(); 生成[0,1.0)之间的小数

生成随机整数[min,max):(int)(Math.random() * (max - min)) + min

// 求绝对值
int abs = Math.abs(-1);
System.out.println(abs);

// 求两个数的最大值max()  min()
int max = Math.max(10, 20);
System.out.println(max);

// 求几的几次方
double pow = Math.pow(3, 24);
System.out.println(pow);

// 求平方根
double sqrt = Math.sqrt(16);
System.out.println(sqrt);

// 四舍五入
long round = Math.round(21.5);
System.out.println(round);
long round2 = Math.round(21.3);
System.out.println(round2);

// 向下取整 floor地板
double floor = Math.floor(21.6);
System.out.println(floor);
// ceil 天花板
double ceil = Math.ceil(21.2);
System.out.println(ceil);

4 会使用Random类获取随机数

Random random = new Random();

random.nextInt(int bound);   // [0,bound)
// 3.生成[0.0,1.0) 
double nextDouble = random.nextDouble();
// 世界上没有随机数
	// 所谓的随机数  都是通过一套算法生成
	// 种子数:初始化的计算值
			Random ran1 = new Random(10);
			Random ran2 = new Random(10);
			
			int rand1 = ran1.nextInt(10);
			int rand2 = ran2.nextInt(10);
			System.out.println(rand1);
			System.out.println(rand2);
			//rand1和rand2的值是一样的

5. 会使用String类操作字符串(重要)

常用的API
  1. int length(); 获取字符串长度
    String name=" ";// 一个空格也是一位 name.length=1
  2. boolean equals(String str); 判断字符串是否相同
  3. boolean equalsIgnoreCase(String str); 不区分大小进行相同比较
  4. String toUpperCase(); 转换为大写
  5. String toLowerCase(); 转换为小写
  6. String concat(String str); 拼接字符串
  7. int indexOf(String str); 获取从左到右中该字符/字符串第一次出现的位置
  8. int lastIndexOf(String str); 获取从左到右中该字符/字符串最后一次出现的位置
  9. String substring(int beginIndex); 从0开始指定位置开始 截取到末尾
  10. String substring(int beginIndex,int endIndex); 从指定位置开始,指定位置结束。[beginIndex,endIndex)
  11. String trim(); 去除两端空格
  12. char charAt(int index); 获取指定索引的字符
  13. String[] split(String regex); 根据指定的正则表达式 截取成字符串数组
  14. char[] toCharArray(); 转换为字符数组
  15. boolean startsWith(String str); 判断是否以指定前缀开头
  16. boolean endsWith(String str); 同上
  17. String replace(String old,String new); 替换字符串
  18. boolean contains(String str); 判断是否包含指定字符串
String str = "Hell World";
	
	// 从左向右查找第一个遇到的指定字符位置(下标从0开始)
	int indexOf = str.indexOf("o");
	System.out.println(indexOf);
	
	// 从左向右查找最后一个遇到的指定字符位置(下标从0开始)
	int lastIndexOf = str.lastIndexOf("o");
	System.out.println(lastIndexOf);
	
	// 获取指定索引的字符(下标从0开始)
	char charAt = str.charAt(8);
	System.out.println(charAt);
	
	// 截取指定位置开始 到 末尾(下标从0开始  下标为6的,包含6)
	String substring = str.substring(6);
	System.out.println(substring);
	
	// 截取指定位置开始  指定位置结束   下标从0开始[2,9)
	String substring2 = str.substring(2, 9);
	System.out.println(substring2);
	// 替换字符串
	String str1 = "下路的!开团了!在那吃shi呢?";
	String replace = str1.replace("shi", "***");
	System.out.println(replace);

在这里插入图片描述

6. 会使用StringBuffer拼接字符串

StringBuffer和String的区别:

String是不可变字符串,在内容和长度发生改变时,将会产生新的字符串,所以在进行字符串拼接时,容易引发性能损耗。

StringBuffer(StringBuilder)是可变字符串,它内置了字符串缓冲区,在这一个对象里可以实现字符串的追加等操作,如果涉及到比较高频的字符串拼接推荐采用它。

构造:

​ StringBuffer(String str);

​ StringBuffer();

常用方法:

​ append(任何类型);

​ insert(int index,任何类型值);

7. 会使用Date类和Calendar类

java.util包 因为后面经常容易混淆另一个包中的java.sql。

Date它的好多方法在JDK1.1时代被废弃 转为使用Calendar类中的方法。

new Date() 它会自动获取当前的系统时间

Calendar:

伪构造:

​ static Calendar getInstance();

常用方法:

​ get(int 时间组成的代号); 这些代号可以用常量来表示 例如:Calendar.YEAR表示年

8. 会使用SimpleDateFormat解析/转换时间

java.text.SimpleDateFormat

构造:

SimpleDateFormat(String pattern); 使用y M d h/H m s等来指定格式规则

例如:new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)

常用方法:

Date parse(String dateStr); 将符合格式的时间字符串转换为时间类型

String format(Date date); 将时间转换为指定格式的字符串

Date date=new Date();
	SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String date1 = format.format(date);
	System.out.println(date1);
	//输出2021-01-20 15:01:59


格式 2021年11月25日13时23分45秒

		Date date = new Date();
		SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
		//new SimpleDateFormat("HH") 获取指定小时
		//new SimpleDateFormat("mm"); 获取指定分钟
		String date1 = sdr.format(date);
		System.out.println(date1);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值