十七 实用类(一)

十七章 实用类(一)

一、掌握枚举的使用

枚举
引用数据类型: 数组、类、 接口、枚举
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.equal("女")){
            this.gender = gender;
        }else{
			syso("性别非法")
		}
    }
}

public class Test{
    main(){
        Student stu = new Student();
        // stu.age = -100;(采用封装解决) 为了解决不合理赋值
        stu.gender = "呵呵"; ×
    }
}

枚举的使用:

public enum DayOfWeek {
	SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY
	
}


public class Test {
	public static void main(String[] args) {		
		DayOfWeek dayOfWeek = DayOfWeek.MONDAY;
		
		// switch支持int  String enum
		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;
		}
	}
}

二、掌握包装类的使用

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

2.基本数据类型没有函数,所以对基本数据类型进行操作时,可以使用对应的包装类

包装类都是在Java.lang包中
在这里插入图片描述byte ->Byte

short -> Short

int -> Integer

long -> Long

float -> Float

double -> Double

char -> Character

扫描二维码关注公众号,回复: 6441661 查看本文章

boolean -> Boolean

包装类型常用的API

1.包装类型的创建

//给构造传输一个对应的基本数据类型

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 = a; // 拆箱

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

1.包装类是引用数据类型 所以可以接受null值 而基本数据类型不可以

public class Student{

// private Integer id;

	private Long id;

}

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

基本数据类型可以用==比较值的内容

包装类型默认值为null 而基本数据类型默认值为0 false等 

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

三、Math 和 Random类

Math数学类

Random随机数类

// 圆周率  自然底数
// 求两者中的最小/大值
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

猜你喜欢

转载自blog.csdn.net/L097_/article/details/89437061
今日推荐