Java初学Day8---枚举.包装类.字符串

1:枚举

enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中。

JDK1.5 之前,我们定义常量都是: public static fianl.... 现在有了枚举,可以把相关的常量分组到一个枚举类型里,

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

可以将枚举看成一种特殊的类,枚举的思想很简单,也很方便:它代表了一组固定的常量值。

声明枚举时必须使用 enum 关键字,然后定义枚举的名称,枚举声明的语法如下:

Public  enum  enumname{

    enum-body, //一般写常量

}

经典案例:使用枚举描述一个星期得计划

public void doWhat(int day){

switch (day) {

case 1:

case 2:

case 3:

case 4:

case 5:

System.out.println("工作日,敲代码");

break;

case 6:

System.out.println("周六,继续代码");

break;

case 7:

System.out.println("周日,先睡觉,在敲代码");

break;

default:

System.out.println("你写错了,赶紧回去写代码");

break;

}

}

public static void main(String[] args) {

Test t = new Test();

t.doWhat(1);

也可以使用枚举实现

2:包装类

1:包装类介绍

Object 类中提供了很多有用的方法,这些方法只有对象才能调用,

基本数据类型不是对象,java中的基本数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象。基本数据类型由于这样的特性,导致无法参与转型,泛型等过程。为了弥补这个缺陷,java提供了包装类。

Java为每种基本数据类型分别设计了对应的类,称之为包装类。

其实集合在存储数据的时候,如果存储的是基本数据类型的话,在存储的时候,会将基本数据类型转换成包装类之后在进行存储。

简单的理解:Java中的基本类型功能简单,不具备对象的特性,为了使基本类型具备对象的特性,所以出现了包装类,就可以像操作对象一样操作基本类型数据。

记住:

基本数据类型及对应的包装类

  基本数据类型

对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

boolean

Boolean

每个包装类的对象可以封装一个相应的基本类型的数据;

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

如:

Integer in = new Integer(12); // 创建了一个整数类型的对象,其值为12

注意:

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

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

2:包装类的常用方法

1:基本数据类型与包装类的转换

基本类型和对应的包装类可以相互装换:

  1. 基本类型转为包装类称为装箱,例如把 int 包装成 Integer 类的对象;使用包装类的构造方法;
  2. 包装类转为基本类型称为拆箱,例如把 Integer 包装类型转为 int ; 使用intValue(); 

2:toString 基本类型->字符串

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

String str = Integer.toString(88);

String str2 = Double.toString(88.9);

3:parseXXX(), 字符串->基本类型

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

long long1 = Long.parseLong("123");

boolean b = Boolean.parseBoolean("true");

4:valueOf(), 基本类型->包装类

所有包装类都有这样的方法:valueOf(type value);作用是将一个基本类型转换为包装类;

Integer in = Integer.valueOf(12);

Double valueOf = Double.valueOf(12.3);

Boolean valueOf2 = Boolean.valueOf(true);

3:装箱和拆箱

  1. 基本类型转为包装类称为装箱,
    1. 例如把 int 包装成 Integer 类的对象;使用包装类的构造方法;valueOf()方法
  2. 包装类转为基本类型称为拆箱,
    1. 例如把 Integer 类的转为 int ; 使用intValue();

自动装箱:Integer i = 12;

自动拆箱:int num = i;

4:Math

Java的Math类封装了很多与数学有关的属性和方法。

Abs - 求绝对值

Max/min - 最大值最小值

random() - 生成一个0-1之间的随机数

5:Random 类介绍

Java语言中,随机数的产生是由类库中的Random类实现的。Random类是一个随机数产生器,构造方法Random()中使用当前的时间来初始化Random对象,因为没有任何时刻的时间是相同的,所以可以减少随机数序列相同的可能性。

Random rand = new Random();

int n=rand.nextInt();//生成一个整数类型的随机整数

Random类的nextInt()方法还可以在有限范围内产生随机数,其方法声明为:

public int nextInt(int n);

该方法返回一个伪随机数,它是从此随机数生成的序列中取出的、【0,n)之间均匀分布的整型值

6:String

字符串是java中使用最频繁的一种类型,使用String来表示。

注意:字符串是常量;它们的值在创建之后不能更改。

常用方法:

数组的长度:length 属性,集合的长度,字符串的长度,length方法

CharAt(int index) ; 返回指定位置的字符

length() - 求字符串的长度

Equals() - 比较两个字符串是否相同

equalsIgnoreCase() - 忽略大小写比较

toUpperCase() - 转换为大写

toLowerCase() - 转换为小写

concat() - 字符串链接, + 是一样的

public String[] split(String regex):根据给定表达式的匹配拆分此字符串  

方法名

说明

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()

返回一个前后不含任何空格的调用字符串的副本

作业:

1:定义一个方法接受枚举类型的参数,用户类:姓名,性别,年龄,设置性别的时候,写一个关于性别的枚举

2:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值