java中的实用类

山不让尘,川不辞盈。

目录

枚举:

枚举的概念:

枚举的特点:

包装类:

概念:

包装类的构造方法:

包装类的常用方法:

装箱与拆箱:

概念

Math类:

概念:

常见用法

Random类:

String类

StringBuffer类

概念:

StringBuffer声明:

StringBuffer的使用:

String类与StringBuffer类

Calendar类(操作日期时间)

概念

Date类


枚举:

枚举的概念:

枚举指由一组固定的常量组成的类型。

枚举的特点:

  • 类型安全

  • 易于输入

  • 代码清晰

例子:

public enum Genders {
    //枚举类是一组由固定的常量组成的类型
    男,女;
}

调用枚举类:

public class Student {
    public String name;
    public Genders gender;
    public static void main(String[] args) {
        Student student = new Student();
        student.name = "张三";
        student.gender = Genders.男;
​
    }
​
}
​

包装类:

概念:

  • 包装类把基本类型数据转换为对象。

    • 每个基本类型在java.lang包中都有一个相应的包装类。

  • 包装类的作用

    • 提供了一系列实用的方法。

    • 集合不允许存放基本数据类型数据,存放数字时,要用包装类型。

包装类的构造方法:

1、所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例 2、除Character类外,其他包装类可将一个字符串作为参数构造它们的实例,Number类型的包装类使用字符串作为参数构造实例的时候, 字符串需要是能够转换为数字的字符串否则就会报NumbeFormatException异常

例如:

byte num1 = 10;
Byte byte1 = new Byte(num1);
        
short num2 = 100;
Short short1 = new Short(num2);
        
        
int num3 = 200;
Integer int1 = new Integer(num3);
        
long num4 = 300L;
Long long1 = new Long(num4);
        
float num5 = 12.6f;
Float float1 = new Float(num5);
        
double num6 = 12.6;
Double double1 = new Double(num6);
System.out.println(double1);
        
        
boolean bo = true;
Boolean boolean1 = new Boolean(bo);
        
char c= 'h';
Character char1 = new Character(c);

注:

字符包装类只有一个构造方法,就是传递其对应的基本构造类型char

布尔类型的包装类创建对象时,传递的字符串除了字符串内容为true(不区分大小写)之外,其他任何字符串内容,结果都为false。

包装类的常用方法:

1、XXXValue():包装类转换成基本类型

Integer integerId=new Integer(25);
int intId=integerId.intValue();

2、toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)

String sex=Character.toString('男');
String id=Integer.toString(25);

3、parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)

int num=Integer.parseInt("36");
boolean bool=Boolean.parseBoolean("false");

4、valueOf(): 所有包装类都有如下方法(基本类型->包装类) public static Type valueOf(type value)

Integer intValue = Integer.valueOf(21);

除Character类外,其他包装类都有如下方法(字符串->包装类) public static Type valueOf(String s)

 Integer intValue = Integer.valueOf("21");

装箱与拆箱:

概念

实现的是基本数据类型和包装类类型之间的自动转换

装箱:基本数据类型直接赋值给包装类类型的对象

byte num1 = 10;
Byte byte1 = num1;

拆箱:包装类类型数据直接赋值给基本类型的变量

Integer int1 = new Integer("123");
int num2 = int1;

Math类:

概念:

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

常见用法

  • Math.max(100, 200):求两个数最大值。

  • Math.min(99, 199):求两个数最小值。

  • Math.abs(-10):求绝对值

  • Math.floor(9.8):返回最大的(最接近正无穷大)double值,该值小于等于参数,并等于某个整数。

  • Math.ceil(9.1):返回最小的(最接近负无穷大)double值,该值大于等于参数,并等于某个整数。

  • Math.round(10.5):返回最接近参数的 int。

  • Math.random():随机返回一个介于0.0(包括)~1.0(不包括)之间的double类型的数据。

Random类:

创建Random类对象

Random random3 = new Random();
System.out.println(random3.nextInt(10));// 随机生成一个[0,10)之间的整数

用同一个种子值来初始化两个Random对象,然后对每个对象用相同的方法,得到的随机数也是相同的

Random r1 = new Random(100);
Random r2 = new Random(100);
System.out.println(r1.nextInt());
System.out.println(r2.nextInt());

String类

String类位于java.lang包中,具有丰富的方法 计算字符串的长度、比较字符串、连接字符串、提取字符串

length()方法

String类提供了length()方法,确定字符串的长度 返回字符串中的字符数

equals()方法

String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致

equals():检查组成字符串内容的字符是否完全一致

“==”和equals()有什么区别呢?

==:判断两个字符串在内存中的地址, equals()即判断是否是同一个字符串对象

字符串连接:

方法1:使用“+” 方法2:使用String类的concat()方法

字符串常用提取方法:

方法名说明
public int indexOf(int ch)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
public int indexOf(String value)
public int lastIndexOf(int ch)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
public int lastIndexOf(String value)
public String substring(int index)提取从位置索引开始的字符串部分
public String substring(int beginindex, int endindex)提取beginindex和endindex之间的字符串部分
public String trim()返回一个前后不含任何空格的调用字符串的副本

StringBuffer类

概念:

对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率

StringBuffer声明:

StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer("aaa");

StringBuffer的使用:

sb.toString();           //转化为String类型
sb.append("**");      //在末尾追加字符串
sb.insert (1, "**");    //插入字符串

给一串数字按要求分隔可以用for循环来做,例如:

Scanner sc = new Scanner(System.in);
System.out.println("请输入一串数字:");
String num = sc.next();
​
StringBuffer sb = new StringBuffer(num);
for (int i = sb.length() - 3; i > 0; i -= 3) {
    sb.insert(i, ",");
}

String类与StringBuffer类

  • String是不可变对象

  • 经常改变内容的字符串最好不要使用String

  • StringBuffer是可变的字符串

  • 字符串经常改变的情况可使用StringBuffer,更高效

  • JDK5.0后提供了StringBuilder,等价StringBuffer

Calendar类(操作日期时间)

概念

用于设置和获取日期/时间数据的特定部分

方法或属性说明
int get(int field)返回给定日历字段的值
MONTH指示月
DAY_OF_MONTH指示一个月中的某天
DAY_OF_WEEK指示一个星期中的某天

Calendar类是一个抽象类,不能直接实例化,可以通过该类中一个静态方法创建其引用

Calendar cal =Calendar.getInstance();

获取年

int year = cal.get(Calendar.YEAR);
System.out.println(year);

获取月

int month = cal.get(Calendar.MONTH);
System.out.println(month+1);

获取时、分、秒

System.out.println(cal.get(Calendar.HOUR)+":"+cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND));

获取星期

int day_of_week = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(day_of_week-1);

获取当前日期是这一年中的第多少天

System.out.println(cal.get(Calendar.DAY_OF_YEAR));

Date类

创建Date类对象

Date date = new Date();

用java.text.SimpleDateFormat自定义输出想要的输出格式。

import java.text.SimpleDateFormat;
​
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E D");
String str = sdf.format(date);
System.out.println(str);

注: Date类中很多方法都已经过时,使用Calendar类替代

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值