本课目标
能够定义并使用枚举类型
掌握包装类及装箱、拆箱概念
会使用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 数组参数的字符串表示形式。