枚举 Rndom 装箱与拆箱 Math

本文详细介绍了Java编程中的枚举和包装类的概念,包括为何使用它们,以及如何进行基本数据类型与包装类之间的转换,装箱与拆箱操作,以及Math类和Random类的使用方法。
摘要由CSDN通过智能技术生成

1.枚举

关键词:enum

1.1 为什么要使用枚举类:

先准备一组静态常量值去供用户选择输入, 限制用户输入,以避免用户的输入错误。

1.2 形式:
//如:
public enum Gender {,}
			
public class Student {
public String name;
public Gender gender;
}
			
public class StudentTest {
public static void main(String[] args) {
Student student1 =new Student();
student1.name ="小明";
student1.gender = Gender.;
        
Student student2 =new Student();
student2.name ="小红";
//注:该写法是错误的,gender是枚举类型的所以需要对应的枚举类去使用。
student2.gender =;
        
Student student3 =new Student();
student3.name ="小黑";
// 注:该写法是错误的,如果想使用 你好 去输入先在枚举类中加入 你好
student3.gender =Gender.你好;  
    }
}

2.包装类

2.1为什么要使用包装类
	在集合系统不存储基本数据类型而是通过包装类去存储
2.2方法:
2.2.1

除了int的包装类是Integer ,char的包装类是Character 基本类型对应的包装类是首字母大写。
如:Byte byte1 = new Byte(100);
注:参数要在对应的基本类型范围,如果不匹配就要报NumberformatException错误
注:Boolean是一点特殊的 true(不区分大小写) 而输入的字符不是true(不区分大小写)结果就是false

2.2.2

除Character类外,其他包装类可将一个字符串作为参数构造它们的实例

//如:
Boolean boolean1 = new Boolean("true");
System.out.println("boolean1:"+boolean1);

Boolean boolean2 = new Boolean("TrUe");
System.out.println("boolean2:"+boolean2);

Boolean boolean3 = new Boolean("false");
System.out.println("boolean3:"+boolean3);
//注:对于数值类型的包装类,这个字符串必须是纯数字形式的,否则无法转换,会报NumberFormatException

//该写法也是错误的
Character character2 = new Character("q");
//注:已过时了,java9以后被移除了无法使用,现在是通过valueOf去赋值如下:
Float aFloat=Float.valueOf(12.5F);
System.out.println("aFloat:"+aFloat);
2.2.3

包装类中的静态常量值,可以通过类名直接调用

//如:
System.out.println("byte类型数据的范围:"+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
 System.out.println("short类型数据的范围:"+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
System.out.println("int类型数据的范围:"+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
	**注:该方法是获取对应类型的最小值与最大值,静态常量值在定义时采用的是纯大写的形式。**
2.2.4
	XXXValue():包装类转换成基本类型
//如:
Long long1 = LongvalueOf("123");
long num1 = long1.longValue();
System.out.println("num1:"+num1);
2.2.5

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

//如:
String str1 =Integer.toString(200);
System.out.println("str1:"+str1);
String str2 =Character.toString('w');
System.out.println("str2:"+str2);
2.2.6

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

//如:
byte num2 = Byte.parseByte("123");
System.out.println("num2:"+num2);

注:Number类型数据的字符串转换成基本数据类型是,字符串需要是数字形式的字符串,否则不能转换,会报NumberFormatException

2.2.7

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

//如:
Float aFloat=Float.valueOf(12.5F);
System.out.println("aFloat:"+aFloat);
Double aDouble =Double.valueOf(12.55);
System.out.println("aDouble:"+aDouble);
2.2.8

除Character类外,其他包装类都有如下方法(字符串->包装类): public static Type valueOf(String s),字符串为true(不区分大小写),结果都为true

Boolean  aBoolean =Boolean.valueOf("true");
System.out.println("aBoolean:"+aBoolean);
Boolean bBoolean=Boolean.valueOf("TruE");
System.out.println("bBoolean:"+bBoolean);

注:Number类型的包装类使用valueOf(String s)方法,里面的字符串必须是数字形式的数字,否则不能转换,会报NumberFormatException

装箱与拆箱:

装箱:将基本类型的数据或者变量直接赋值给包装类对象
//如:
Integer integer1 =num1;
System.out.println("integer1:"+integer1);
Byte byte1 = new Byte("123");
拆箱:将包装类对象直接赋值给基本数据类型的变量
//如:
Byte byte1 = Byte.valueOf("123");
byte num2 =byte1;
System.out.println(byte1);
System.out.println(num2);

注:在java9前的写法是 Byte byte1 = new Byte(“123”); 该写法在java9后被认为过时了移除了。
注:有了装箱和拆箱的操作,可以对包装类对象和基本数据类型进行算术运算

Math类:

含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用方法:
注:Numbertype是基本类型如:int double float short long

返回值方法名参数意义
NumbertypeabsNumbertype返回 Numbertype 值的绝对值
NumbertypemaxNumbertype ,Numbertype返回两个 Numbertype 值中较大的一个
NumbertypeminNumbertype ,Numbertype返回两个 Numbertype 值中较小的一个
NumbertyperoundNumbertype返回最接近参数的返回最接近参数的 long(四舍五入)
NumbertypesqrtNumbertype返回正确舍入的 Numbertype 值的正平方根
doublerandomvoid返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
注:而在 **StrictMath类** 中存在向下取整的方法 Numbertype ceil(Numbertype)

Random

此类的实例用于生成伪随机数流

常用方法:
返回值方法名参数意义
intnextIntvoid返回下一个伪随机数,范围是int的范围且每个值的概率一样
intnextInint返回一个伪随机数,范围是从0到指定值且不包括指定值
booleannextBooleanvoid返回下一个伪随机数,范围是true或者false
doublenextDoublevoid返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值