文章目录
实用类(一)
1. 掌握枚举的使用
枚举:
引用数据类型:数组、类(String)、接口、枚举
switch支持int String 枚举(enum)
public class Student{
private String name;
private int age;
private String gender;
public void setAge(int age){
if(age < 0 || age > 100){
syso("年龄非法!.....");
this.age = 60;
}else{
this.age = age;
}
}
public void setGender(String gender){
if(gender.equals("男") || gender.equals("女")){
this.gender = gender;
}else{
syso(xxxx);
}
}
}
public class Test{
main(){
Student stu = new Student();
// stu.age = -1000;(采用封装解决) 为了解决不合理赋值
stu.gender = "呵呵"; // 男 女 xx String类型 -> 性别类型呢?
}
}
枚举的使用
public enum Color {
// 定义枚举
RED, GREEN, BLANK, YELLOW
}
// 使用枚举
public class B {
public static void main(String[] args) {
showColor( Color.RED );
}
static void showColor(Color color){
switch ( color ) {
case BLANK:
System.out.println( color );
break;
case RED :
System.out.println( color );
break;
default:
System.out.println( color );
break;
}
}
}
2. 掌握包装类的使用
- 基本数据类型没有函数,所以在当你需要对基本数据类型进行函数操作时,那么可以使用对应的包装类型。
- 集合泛型要求数据类型必须是包装类型。
包装类都是在java.lang包中。
byte Byte
short Short
long Long
float Float
double Double
boolean Boolean
int Integer
char Character
包装类型的常用API
-
包装类型的创建( JDK10 作废)
// 给构造传输一个对应的基本数据类型值 Integer integer = new Integer(10); // 给构造传输一个字符串类型的值 但是字符串中的内容必须能够转换为对应的包装类 Integer integer2 = new Integer("10"); System.out.println(integer); System.out.println(integer2);
-
包装类型的转换(直接利用函数将基本数据类型值 转换为 包装类型)
// 可以通过静态函数 valueOf 将基本数据类型值转换为包装类型 Integer valueOf = Integer.valueOf(10); Character valueOf2 = Character.valueOf('h');
-
包装类型转换 -> 基本数据类型
Integer integer = Integer.valueOf(10); // 利用xxxValue() 可以将包装类型转换为对应的基本数据类型 int intValue = integer.intValue();
-
字符串 -> 基本数据类型/包装类型 (我们在网络数据传输中,你的数据表层会转换为字符串,服务器在接收时就是一些字符串而已,但是你也知道字符串对于有些数据的操控并不是太方便,所以需要进行转换)
// [记忆] String value = "10"; // 可以将字符串转换为对应的基本数据类型 int parseInt = Integer.parseInt(value); // 【常用】 // 可以将字符串转换为对应的包装类型 Integer valueOf = Integer.valueOf(value); // 【常用】
-
基本/包装类型 -> 字符串
int a = 10; // 凡是与字符串用+号拼接的都成为了字符串 String b = a +""; // 将基本数据类型转换为字符串 String string = Integer.toString(a); // 将包装类型转换为字符串 Integer c = Integer.valueOf(a); String string2 = c.toString(); // 【常用】
拆箱和装箱
“拆箱”:包装类型转换为基本数据类型
“装箱”:基本数据类型转换为包装类型
JDK5之后,Java支持了自动拆箱和装箱。
Integer a = 10; // 装箱
int b = a; // 拆箱
包装类和基本数据类型的使用注意事项
-
包装类是引用数据类型 所以它可以接收null值,而基本数据类型不可以。
public class Student{ // private Integer id; private Long id; }
-
包装类型不是用来替代基本数据类型的,而是用来弥补基本数据类型无法使用函数的问题。
基本数据类型可以用==比较值内容。 包装类型默认值为null,而基本数据类型默认值为0 false等等。
-
但是在数据参数传递时,大多数情况基本和包装可以混淆使用。
3. Math和Random类
Math数学类
// 圆周率 自然底数
// 求两者中的最小值
int min = Math.min(10, 9);
System.out.println(min); // 9
int max = Math.max(10, 9);
System.out.println(max); // 10
// 求绝对值
int abs = Math.abs(-10);
System.out.println(abs); // 10
// 求幂运算 2的3次方
double pow = Math.pow(2, 3);
System.out.println(pow); // 8
// 四舍五入
long round = Math.round(10.5);
System.out.println(round); // 11
// 向上取整
double ceil = Math.ceil(10.2);
System.out.println(ceil); // 11
// 向下取整
double floor = Math.floor(10.8);
System.out.println(floor); // 10
// 开平方
double sqrt = Math.sqrt(4);
System.out.println(sqrt); // 2
// 求随机数 [0.0,1.0)
double random = Math.random();
// 求范围内的随机整数[min,max)
// (int)(Math.random() * (max - min)) + min
Random随机数类
// [0,100) 的随机整数
Random rand =new Random();
int i;
i=rand.nextInt(100);
实用类(二)
1. 掌握字符串的常用API
System.out.println(“xxx”);
Scanner next();
1. 获取字符串的长度:int length();
2. 判断字符串内容是否相同:boolean equals(Object obj)
3. 不区分大小写的字符串内容比较:boolean equalsIgnoreCase(String str);
4. 将字母全部转换为大写/小写:String toUpperCase(); / String toLowerCase();
5. 字符串拼接:String concat(String anotherString);
6. 查找指定字符串第一次出现的位置:int indexOf(String subStr);
7. 从指定位置(包含)开始,查找指定字符串出现的位置:int indexOf(String subStr,int fromIndex);
8. 查找指定字符串最后一次出现的位置:int lastIndexOf(String subStr);
9. 从指定位置开始截取子字符串:String substring(int startIndex);
10. 从指定位置开始截取到指定位置结束的子字符串:String substring(int startIndex,int endIndex); [startIndex,endIndex)
11. 获取指定索引的字符:char charAt(int index);
12. 去除字符串两端空格:String trim();
13. 替换字符串:String replace(String oldStr,String newStr);
14. 拆分字符串:String[] split(String 正则表达式);
15. 将字符串转换为字符数组:char[] toCharArray();
2. 掌握StringBuffer的基本使用(常用)
String字符串 Buffer缓冲区
字符串String 引用数据类型,那么每一次使用字符串都需要创建对象(在方法区中存在一个字符串常量池,所以有些时候,它不会创建对象),字符串拼接的时候,每一次都在创建新的字符串对象,效率特别低!
循环中不要使用+号来拼接字符串,因为底层是使用StringBuffer/StringBuilder实现的。
循环外面,不推荐使用+号,虽然它不会转换为StringBuffer/StringBuilder但是会产生新的字符串对象。
构造方法:
StringBuffer();
StringBuffer(String str);
常用方法:
append(任意类型数据); 追加字符串
insert(int index,任意类型数据); 在指定位置插入任意数据 原有数据后移
reverse(); 字符串反转
toString(); 转换为字符串
掌握StringBuffer和String的区别
3. 掌握时间类型Date
java.util.Date
Date(); 会获取当前的系统时间进行赋值。
掌握时间格式转换SimpleDateFormat
SimpleDateFormat函数语法:
// 规范日期格式的语句
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日,HH:mm:ss");
// 获取本地时间
Date date = new Date;
sdf.format(date);
/* y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期 */
掌握日期类型的使用Calendar
// 基本用法,获取年月日时分秒星期
// 获取年
int year = calendar.get(Calendar.YEAR);
// 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值
int month = calendar.get(Calendar.MONTH) + 1;
// 获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 获取时
int hour = calendar.get(Calendar.HOUR);
// int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时表示
// 获取分
int minute = calendar.get(Calendar.MINUTE);
// 获取秒
int second = calendar.get(Calendar.SECOND);
// 星期,英语国家星期从星期日开始计算
int weekday = calendar.get(Calendar.DAY_OF_WEEK);