第十九课:实用类

第十九课:实用类
一、能够定义并使用枚举类型
•基本数据类型:byte short int long float double boolean char
•引用数据类型:数组、类(String)、接口、枚举

switch(表达式) 支持int(byte short) String Enum枚举
案例演示:
/**
* 星期枚举类
* 枚举类型其实就是个已经将Java中被定义了父类的普通Class而已
* 它无法继承其它类,但是可以实现接口
* @author Raymond
* 2019年3月1日 下午5:45
*/
public enum DayOfWeek{
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;

      /*private String name;
      public void print() {
      }*/
  }

  public class Test1{
      public static void main(String[] args){
          /* 
           * 需求:当今天是周一到周五时,我们要好好学习!当今天是周六到周日时,我们要好好休息!
           */
           // 定义当前的星期
           DayOfWeek dayofWeek = DayofWeek.MONDAY;
           
           // 判断当前是要进行什么活动
           switch(dayofWeek){
               case MONDAY:
               case TUESDAY:
               case WEDNESDAY:
               case THURSDAY:
               case FRIDAY:
                   System.out.println(“好好学习!”);
                   break;
                   case SATURDAY:
                   case SUNDAY:
                   System.out.println(“好好休息!”);
                   break;
               default:
                   break;
           }
      }
  }

二、掌握包装类和自动拆箱 装箱
•包装类:引用数据类型
•基本数据类型 -> 引用数据类型
byte -> Byte
short -> Short
•int -> Integer
long -> Long
float -> Float
double -> Double
boolean -> Boolean
*char -> Character

•主要记住两个方法:
⑴字符串 -> 基本/包装
Integer parseInt(String str);
⑵包装/基本 -> 字符串
toString();

•Java中提供了一整套 自动 拆箱和装箱操作
⑴拆箱:将包装类型转换为基本类型 Interger i = new Integer(10); int a =i;
⑵装箱:将基本类型转换为包装类型 Integer i = 10;

•// 如果你需要直接拿一个数据去调用方法 可以直接用包装类型存储
Integer i =10;
i.xxxx
// 如果你需要将一个包装类型传入到一个需要对应基本类型的方法中 不需要任何考虑 是可以直接传入的
print(i);
public void print(int xxx){
}

•提醒:未来我们有些值需要定义为包装类型!因为它可以接受Null值
Integer i =null; (对的)
int a = null; // (X)

三、会使用Math类型进行数学运算
math.random(); 生成[0,1.0]之间的小数
•生成随机整数[min,max] : (int)(Math.random()*(max-min))+min
// 求绝对值
int abs = Math.abs(-1);
System.out.println(abs);

    // 求两个数的最大值max()  min()
    int max = Math.max(10,20);
    System.out.println(max);
    
    // 求几的几次方
    double pow = Math.Pow(3,24);
    System.out.println(pow);
    
    // 求平方根
    double sqrt = Math,sqrt(16);
    System.out.println(sqrt);
    
    // 四舍五入
    long round = Math.round(21.5);
    System.out.println(round);
    long round2 = Math.round(21.3);
    System.out.println(round2);
    // 向下取整 floor地板
    double floor = Math.floor(21.6);
    System.out.println(floor);
    // ceil 天花板
    double ceil = Math.ceil(21.2);
    System.out.println(ceil);

四、会使用Random类获取随机数
Random random = new Random();
random nextInt(int bound); //[0,bound]

五、会使用String类操作字符串(重要)
1.常用的API
⑴int length(); 获取字符串长度
⑵boolean equals(String str); 判断字符串是否相同
⑶boolean equalsIgnoreCase(String str); 不区分大小写进行相同比较
⑷String toUpperCase(); 转换为大写
⑸String toLowerCase(); 转换为小写
⑹String concat(String str); 拼接字符串
⑺int indexOf(String str); 获取从左到右中该字符/字符串第一次出现的位置
⑻int lastIndexOf(String str); 同上 反之
⑼String substring(int beginIndex); 从指定位置开始 截取到末尾
⑽String substring(int beginIndex,int endIndex); 从指定位置开始,指定位置结束
[beginIndex,endIndex]
⑾String trim(); 去除两端空格
⑿char charAt(int index); 获取指定索引的字符
⒀String[] split(String regex); 根据指定的正则表达式 截取成字符串数组
⒁char[] toCharArray(); 转换为字符数组
⒂boolean startsWith(String str); 判断是否以指定前缀开头
⒃boolean endsWith(String str); 同上
⒄String replace(String old,String new)替换字符串;
⒅boolean contains(String str); 判断是否包含指定字符串

六、会使用StringBuffer拼接字符串
•StringBuffer和String的区别:
⑴String是不可变字符串,在内容和长度发生改变时,将会产生新的字符串,所以在进
行字符串拼接是,容易引发性能损耗
⑵StringBuffer(StringBulider)是可变字符串,它内置了字符串缓冲区,在这一个对象
里可以实现字符串的追加等操作,如果涉及到比较高频的字符串拼接推荐采用它
•构造:
StringBuffer(String str);
StringBuffer();
•常用方法:
append(任何类型);
insert(int index,任何类型值);

七、会使用Date类和Calendar类
•java.util包 因为后面经常容易混淆另一个包中的java.sql
•Date它的好多方法在JDK1.1时代被废弃 转换为使用Calendar类中的方法
•new Date() 它会自动获取当前的系统时间
•Calendar:
○伪构造:
static Calendar getInstance();
○常用方法:
get(int 时间组成的代号); 这些代号可以用常量来表示 例如:Calendar.YEAR表
示年

八、会使用SimpleDateFormat解析/转换时间
java.text.SimpleDateFormat

•构造:
SimpleDateFormat(String pattern); 使用y m d h/H m s等来指定格式规则
例如:new SimpleDateFormat(”yyyy-MM-dd HH:mm:ss”)
•常用方法:
Date parse(String dateStr); 将符合格式的时间字符串转换为时间类型
String format(Date date); 将时间转换为指定格式的字符串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值