Java笔记__高级特性__实用类(1)

实用类(一)

一、掌握枚举的使用

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

switch支持 int String 枚举(enum)

枚举:

public class Student{
    private String name;
    private int age;
    private String gender;
    
    public void setAge(int age){
        if(age < 0 || age > 100){
            syso("年龄非法!.....");
            this.age = 60;
        }else{
         	this.age = age;   
        }
    }
    
    public void setGender(String gender){
        if(gender.equals("男") || gender.equals("女")){
            this.gender = gender;
        }else{
            syso(xxxx);
        }
    }
}

public class Test{
    main(){
        Student stu = new Student();
        // stu.age = -1000;(采用封装解决)  为了解决不合理赋值
        stu.gender = "呵呵"; // 男 女 xx    String类型  ->  性别类型呢?     
    }
}

二、掌握包装类的使用

1、集合泛型要求数据类型必须是包装类型。

包装类都是在java.lang包中

byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

2、基本数据类型没有函数,所以在当你需要对基本数据类进行函数操作时,那么可以使用对应的包装类型

包装类型的常用API

1、包装类型的创建(了解就可,在JDk10作废)

// 给构造传输一个对应的基本数据类型值
Integer integer = new Integer(10);
// 给构造传输一个字符串类型的值  但是字符串中的内容必须能够转换为对应的包装类
Integer integer2 = new Integer("10");
System.out.println(integer);
System.out.println(integer2);

2、包装类型的转换(直接利用函数将基本数据类型转换为包装类型)(了解,)

// 可以通过静态函数  valueOf 将基本数据类型值转换为包装类型
Integer valueOf = Integer.valueOf(10);
Character valueOf2 = Character.valueOf('h');

3、包装类型转换—>基本数据类型(了解)

Integer integer = Integer.valueOf(10);
// 利用xxxValue() 可以将包装类型转换为对应的基本数据类型
int intValue = integer.intValue();

4、字符串—>基本数据类型/包装类型(我们在网络数据传输中,你的数据表层会转换为字符串,服务器在接收时就是一些字符串而已,但是你也知道)

【记忆】

// [记忆]
String value = "10";
// 可以将字符串转换为对应的基本数据类型
int parseInt = Integer.parseInt(value); 
// 【常用】
// 可以将字符串转换为对应的包装类型
Integer valueOf = Integer.valueOf(value); 
// 【常用】

5、基本/包装类—>字符串【记忆】

int a = 10;
// 凡是与字符串用+号拼接的都成为了字符串
String b = a +"";
// 将基本数据类型转换为字符串
String string = Integer.toString(a);

// 将包装类型转换为字符串
Integer c = Integer.valueOf(a);
String string2 = c.toString();  // 【常用】

拆箱和装箱

**“拆箱”:**包装类型转换为基本数据类型

**“拆箱”:**基本数据类型转换为包装类型

在JDK5之后,java支持了自动拆箱和装箱。

Integer a = 10; // 装箱
int b = 10;  // 拆箱

包装类和基本数据类型的使用注意事项

1、包装类是引用数据类型, 所以它可以接收null值,而基本数据类型不可以。

public class Student{
    // private Integer id;
    private Long id;
}

2、包装类型不是用来替代基本数据类型的,而是用来弥补基本数据类型无法使用函数的问题。

基本数据类型可以用==比较值内容。
包装类型默认值为null,而基本数据类型默认值为0/false等等

3、但是在数据参数传递时,大多数情况,基本和包装可以混淆使用

3、Math和Random类

Math:数学类

// 圆周率  自然底数
// 求两者中的最小值
int min = Math.min(10, 9);
System.out.println(min); // 9

int max = Math.max(10, 9);
System.out.println(max); // 10

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

// 求幂运算  2的3次方
double pow = Math.pow(2, 3);
System.out.println(pow); // 8

// 四舍五入
long round = Math.round(10.5);
System.out.println(round); // 11

// 向上取整
double ceil = Math.ceil(10.2);
System.out.println(ceil); // 11
// 向下取整
double floor = Math.floor(10.8);
System.out.println(floor); // 10

// 开平方
double sqrt = Math.sqrt(4);
System.out.println(sqrt); // 2

// 求随机数 [0.0,1.0)
double random = Math.random();
// 求范围内的随机整数[min,max)
// (int)(Math.random() * (max - min)) + min

java.util.Random类

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

注意:
用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,得到的随机数也是相同的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值