第八周学习笔记DAY.4-实用类介绍

本课目标

能够定义并使用枚举类型

掌握包装类及装箱、拆箱概念

会使用Math类进行数学运算

枚举

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

Java API

常用Java API

java.lang

        Enum、包装类、Math、String、StringBuffer、System… …

java.util

java.io

java.sql

… …

包装类

包装类把基本类型数据转换为对象

每个基本类型在java.lang包中都有一个相应的包装类

包装类的作用

提供了一系列实用的方法

集合不允许存放基本数据类型数据,存放数字时,要用包装类型

包装类的构造方法

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

public Type(type value)

如:Integer i=new Integer(1);

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

public Type(String value)

如:Integer i=new Integer("123");

注意事项

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

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

包装类的常用方法

XXXValue():包装类转换成基本类型

Integer integerId=new Integer(25);

int intId=integerId.intValue();

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

String sex=Character.toString('男');

String id=Integer.toString(25);

String sex='男'+"";

String id=25+"";

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

int num=Integer.parseInt("36");

boolean bool=Boolean.parseBoolean("false");

valueOf()

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

    public static Type valueOf(type value)

如:Integer intValue = Integer.valueOf(21);

除Character类外,其他包装类都有如下方法(字符串->包装类)      

public static Type valueOf(String s)

如: Integer intValue = Integer.valueOf("21");

装箱和拆箱

基本类型和包装类的自动转换

Integer intObject = 5;

int intValue = intObject;

装箱:基本类型转换为包装类的对象

拆箱:包装类对象转换为基本类型的值

包装类的特点

JDK1.5后,允许基本数据类型和包装类型进行混合数学运算

包装类并不是用来取代基本数据类型的

在基本数据类型需要用对象表示时使用

Math类

java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)

Math.abs(-3.5); //返回3.5

Math.max(2.5, 90.5);//返回90.5

int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数

本课目标

会使用Random类获取随机数

会使用String操作字符串

Random类

生成随机数的其他方式

java.util.Random类

Random rand=new Random(); //创建一个Random对象

for(int i=0;i<20;i++){//随机生成20个随机整数,并显示

         int num=rand.nextInt(10);//返回下一个伪随机数,整型的

      System.out.println("第"+(i+1)+"个随机数是:"+num);

}

用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的

String trim():返回字符串的副本,忽略前导空白和尾部空白

String bb =aa.trim();

字符串中常用的方法

int length():返回此字符串的长度。
int length =str1.length();

各种长度获取方式:
数组长度:数组名.length;
集合长度:集合名.size();
字符串长度:字符串.length();

比较两个字符串中的内容是否相同
 boolean equals(Object anObject) :将此字符串与指定的对象比较。比较的是两个对象的内容,注意,区分大小写

 equals()方法本类是Object类中的方法,在Object类中equals()方法和==没有区别,比较的都是对象的内存地址值,并且Object类中的equals()方法底层代码就是==
 在String类中,对Object类中的equals()方法进行了重写,比较两个字符串对象的内容,逐一比较字符串中每一个字符,如果第一个字符相同,就比较第二个,第三个,....,依此类推
 

boolean equalsIgnoreCase(String anotherString) :将此 String 与另一个 String 比较,不考虑大小写。

boolean result4 =str2.equalsIgnoreCase(str5);

String toLowerCase() :使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String toUpperCase():使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

String upperCaseStr1 =str1.toUpperCase();
String lowerCaseStrr2 =str2.toLowerCase();

字符串的连接:concat()
String concat(String str):将指定字符串连接到此字符串的结尾。
String result1 =str1.concat(str2);

字符串常用提取方法

char charAt(int index) :返回指定索引处的 char 值。

char ch1 =str1.charAt(0);

获取字符串中最后一个字符
char ch3 =str1.charAt(str1.length()-1);

遍历字符串中所有字符
for(int i =0;i<str1.length();i++){
char ch =str1.charAt(i);
System.out.print(ch+" ");
}

int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。如果未出现该字符,则返回 -1。

int indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。如果未出现该字符,则返回 -1。

int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。返回的是要查找的字符串中第一个字符的索引。如果未出现该字符串,则返回 -1。

int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。如果未出现该字符串,则返回 -1。

int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。如果未出现该字符,则返回 -1。

int lastIndexOf(int ch, int fromIndex):返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。如果未出现该字符,则返回 -1。

int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引。如果未出现该字符串,则返回 -1。

int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。如果未出现该字符串,则返回 -1。

String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。从beginIndex索引开始截取到字符串最后,注意,包含beginIndex索引的字符

String substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。从beginIndex索引开始截取到endIndex索引处,注意,包含beginIndex索引的字符,不包含endIndex索引的字符

字符串的拆分

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

String[] split(String regex, int limit(分割次数)):根据匹配给定的正则表达式来拆分此字符串。

String类中其它需要注意的常用方法

static String copyValueOf(char[] data):返回指定数组中表示该字符序列的 String。

static String copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String。

boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束

boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始。

boolean startsWith(String prefix, int toffset) :测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

byte[] getBytes():使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

boolean isEmpty():当且仅当 length() 为 0 时返回 true。

String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

char[] toCharArray():将此字符串转换为一个新的字符数组。

static String valueOf(char c) : 返回 char 参数的字符串表示形式。

static String valueOf(char[] data):返回 char 数组参数的字符串表示形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值