枚举、包装类、字符串

1:枚举

enum jdk1.5之后引入的新特性

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

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

声明枚举时,必须使用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(6);
}

2、包装类

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

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

基本类型转为包装类成为装箱,

        例如把 int 包装成 Integer 类的对象;使用包装类的构造方法;valueOf()方法

包装类转为基本类型成为拆箱

        例如把 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):根据给定表达式的匹配拆分此字符串  

		
		/**
		 * 数组的长度:length 属性,集合的长度,字符串的长度,length方法
			CharAt(int index) ; 返回指定位置的字符
			length() - 求字符串的长度
			equals() - 比较两个字符串是否相同
			equalsIgnoreCase() - 忽略大小写比较
			toUpperCase() - 转换为大写
			toLowerCase() - 转换为小写
			concat() - 字符串链接, + 是一样的
			public int indexOf(String value)
			public int lastIndexOf(String value) 搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1	
			public String substring(int index)	提取从位置索引开始的字符串部分
			public String substring(int beginindex, int endindex)	提取beginindex和endindex之间的字符串部分
			public String trim()	返回一个前后不含任何空格的调用字符串的副本
		 */
		
//		字符串,也是有下标的,从0考试,其实字符串是一个常量
		String s = "  abc  ABa"; // 
		String ss = "ABCABA";
//		String ss = new String("abcABa");
		
		char first = s.charAt(0); // 根据下标,获取指定位置的字符
		char san = s.charAt(3); // 下标为3的,获取的是第四个
		
		int length = s.length(); // 求字符串的长度
		
		// indexOf(String s) ,
//		查找一个字符串中是不是包含另外一个字符串,如果找到了,返回的第一个下标,如果没有找到的话,则返回-1、
		
//		substring(num1) , 截取一段,从num1的下标开始,到最后
//		substring(num1,num2) , 截取字符串的一段从num1开始,到num2结束 , 不包含num2的那个位置内容[)
		
		String substring = s.substring(2);
		String substring2 = s.substring(2,4);
		System.out.println(substring);
		System.out.println(substring2);
		System.out.println(s);
		System.out.println(s.trim());
		System.out.println(s.length());
		
		
		int i = s.lastIndexOf("bcA");
		System.out.println("i:" + i);
		
		System.out.println(first+"------"+san);
		System.out.println("length : " + length);
		
		System.out.println(s.equalsIgnoreCase(ss));
		
		System.out.println(s.toUpperCase());
		System.out.println(s.toLowerCase());
		System.out.println(s.concat(ss));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值