Java 高级编程 第二章、实用类介绍

枚举

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

        枚举的好处:类型安全、易于输入、代码清晰

        使用 enum 定义枚举

public enum Season{
    SPRING("春天"),
    SUMMER("夏天"),
    AUTUMN("秋天"),
    WINTER("冬天");
}
包装类

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

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

        包装类的作用

                提供了一系列实用的方法

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

包装类的构造方法

        所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例

public Type(type value)
    如:Integer i=new Integer(1);
除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
public Type(String value)
    如:Integer i=new Integer("123");

注意事项:

        Boolean 类构造方法参数为 String 类型时,若该字符串内容为true (不考虑大小写),则该 Boolean 对象表示 true,否则表示 false

        当 Number 包装类构造方法参数为 String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出 NumberFormatException 异常

包装类的常用方法

XXXValue():包装类转换成基本类型
    Integer integerId = new Integer(25);
	int intId = integerId.intValue();

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

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

String sex = '男' + "";
String id = 25 + "";

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

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

valueOf()

所有包装类都有如下方法(基本类型->包装类)
    public static Type valueOf(type value)
    	如: Integer intValue = Integer.valueOf(21);

除 Character 类外,其他包装类都有如下方法(字符串->包装类)
     public static Type valueOf(String s)
    	如:Integer intValue = Integer.valueOf("21");
装箱和拆箱

        基本类型和包装类的自动转换

Integer intObject = 5;
int intValue = intObject;

        装箱:基本类型转换为包装类的对象

        拆箱:包装类对象转换为基本类型的值

包装类的特点

        JDK1.5 后,允许基本数据类型和包装类型进行混合数学运算

        包装类并不是用来取代基本数据类型的

        在基本数据类型需要用对象表示时使用

Math 类

 java.lang.Math 类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)

Math.abs(-3.5); //取绝对值,返回3.5 
Math.max(2.5, 90.5); //取最大值返回90.5
//比较两个数的最大最小值
	System.out.println();
    int max = Math.max(20,35);
    int min = Math.min(20,35);
    System.out.println(max);
    System.out.println(min);
//生成一个0-9之间的随机数
	int random = (int) (Math.random() * 10); 
//产生1到12中随机整数
    int month = (int)(Math.random()*12)+1;
//随机生成一个20-35之间的整数
	int random = (int)(Math.random()*(16)+20);
    System.out.println(random);
Random 类

        生成随机数的其他方式

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

注意:用同一个种子值来初始化两个 Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的
String类
使用String对象存储字符串
	String s = "Hello World";
	String s = new String();
	String s = new String("Hello World");

String类位于 java.lang 包中,具有丰富的方法

        计算字符串的长度、比较字符串、连接字符串、提取字符串

length() 方法

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

        返回字符串中的字符数

equals() 方法

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

        equals()方法比较原理:检查组成字符串内容的字符是否完全一致

字符串比较的其他方法

        使用 equalsIgnoreCase() 忽略大小写

        使用 toLowerCase()

        小写使用 toUpperCase() 大写

字符串连接

        方法1:使用 "+"

        方法2:使用String类的 concat() 方法

字符串常用提取方法
函数描述
int 字符串.length()返回字符串的长度
boolean 字符串1.equals(字符串2)比较字符串值是否相等
String str1.toLowerCase()将字符串转换为小写
String str1.toUpperCase()将字符串转换为大写
String str1.concat(",xjx")字符串拼接
String str1.indexOf("l")从左向右找,查询某个指定字符是否存在,存在返回下标,不存在返回 -1
String str1.lastIndexOf("l")从右向左找,查询某个指定字符是否存在,存在返回下标,不存在返回 -1
String msg.trim();去除左右空格
String email.substring(开始位置<包含>)截取字符串,默认到最后
String email.substring(开始位置<包含>,结束位置<不包含>)截取字符串
String 字符串.replace(要替换的字符串,新的字符串)替换字符串 全部替换
String 字符串.replace(正则表达式,新的字符串)替换字符串 全部替换
String [] 字符串.split(分割符号)分割字符串,返回数组
char 字符串.charAt(index)根据下标返回单个字符串
字符串拆分

        现有一个字符串,它是一段歌词,每句都以空格 “ ” 结尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值