什么是枚举

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

public enum CourseEnmu {//定义三个枚举常量
    L1,L2,L3
}
public class Test {
    private CourseEnmu en;

    public void course(CourseEnmu en) {
        switch (en) {
        case L1:
            System.out.println("大数据开发工程师");
            break;
        case L2:
            System.out.println("大数据挖掘工程师");
            break;
        case L3:
            System.out.println("大数据构架师");
            break;
        default:
            break;
        }

    }

    public static void main(String[] args) {
        Test t = new Test();//实例化方法
        //调用枚举里面的常量
        t.course(CourseEnmu.L1);
        t.course(CourseEnmu.L2);
        t.course(CourseEnmu.L3);
    }

}

常用Java API

  • java.lang

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

  • java.util
  • java.io
  • java.sql

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

 

 基本数据类型(值类型)  包装类型(引用类型)
int Integer
short Short
long Long
byte Byte
boolean Boolean
char Character
float Float
double Double

 

 

 

 

 

 

 

图结构

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

Integer i=new Integer(1);

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

Integer i=new Integer("123");

注意事项

Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false
当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常

 包装类转换为基本数据类型

  • 除了Character包装类之外,其他的包装类parseXXX的方法将String.变量转换为对应的基本类型 valueOf(String)
 i.parseInt("1234");//转换为基本数据类型
Integer s=Integer.valueOf(66);//基本数据类型转换为包装类型
  • 除了Character包装类之外,其他的包装类都提供了String类型的带参构造可自动将字符串转换为对应的包装类型
Integer i=new Integer("1234"); //自动转换
  • 所有的包装类都可以将对应的基本类型作为参数传递,包装为包装类类型
  • 将包装类转换为基本数据类型的操作: 包装类对象.XXXValue()
public class Test {
public static void main(String[] args) {
    //基本数据类型是"."不出内容的 可以将基本数据类型转换为对象
  
    int i=9;
    List list=new ArrayList();
    list.add(i);//本身集合中不能存放基本数据类型  但是在添加的时候有了jdk自动装箱的操作
    //所有的包装类都有构造方法  对应的数据类型做参数
    int j=9;
    
    Integer j1=new Integer(j);
    
    Double double1=new Double(9.8);
    //除Character之外的都有的构造方法 将字符串做参数    
    Integer j3=new Integer("9");
    //字符串必须符合定义的数据的格式否则会报错
    Double double2=new Double("9.8");
    //Character caCharacter=new Character("a");//编译报错
//valueof() 
    //(1)基本数据类型转包装类  
    Integer iiiInteger=Integer.valueOf(99);
    //(2)如何把字符串转成包装类
    Integer in=Integer.valueOf("99");//包装类转换基本类型
    Integer inte=new Integer(99);
    System.out.println(aaInteger.intValue());
    //基本类型转字符串
    int num=9;
    String ing=Integer.toString(9);//其他的类似
    //字符串转基本数据类型
    int num1=Integer.parseInt("99");

    }
}

Math类

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

Math常用方法

  • Math.random:生成0-1的随机数
System.out.println(Math.random());
  • Math.abs():获取数字的绝对值
System.out.println(Math.abs(-1000));
  • Math.max和Math.min
System.out.println(Math.max(1000, 2000));
System.out.println(Math.min(100, 1000));
  • Math.ceil 向上取整
System.out.println(Math.ceil(8.1));
  • Math.floor() 向下取整
System.out.println(Math.floor(8.1));
  • Math.round() 四舍五入
System.out.println(Math.round(8.4));

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);
    } 

String类

常用方法

 

        s.equals(a);//字符串精确比较
        s.equalsIgnoreCase(a);//字符串忽略大小写比较
        s.toLowerCase();//全部转换为小写
        s.toUpperCase();//全部转换为大写

         s.indexOf("b");//搜索第一次出现的字符位置
         s.lastIndexOf("c");//最后一次出现的位置
         s.substring(1);//在第几个位置截取字符
         s.substring(0, 2);//指定在第几个到第几个之间截取 前面包含当前位置的字符,后面不包含当前位置的字符
         s.trim();//去掉左右两端空格

         String s = word.concat("小鱼儿!");//连接字符  等同于+

         String word = "哈哈 嘿嘿 呵呵 哒哒";
         String[] a=word.split(" ");//拆分之后的元素放到数组里
         for (String string : a) {//循环遍历输出
             System.out.println(string);
         }

 

StringBuffer类

 

StringBuffer str=new StringBuffer("哈哈哈哈");//可以直接给值  直接可以修改字符串本身(用于频繁修改字符串使用)
        str.append("嘿嘿");//添加字符串
        str.insert(2, ",");//在某一个位置添加
        //String转StringBuffer需要调用toString()
        String s1=str.toString();

 

StringBuffer等同于StringBuilder

Date跟Calendar使用

        //第一种获得日期办法
Date date=new Date(); SimpleDateFormat formater=new SimpleDateFormat("yyyy年-MM月-dd日 HH时:mm分:ss秒");//修改成我们自己想要的格式 (M大小写表示的是不同的) String d=formater.format(date);//调用format方法改变格式 System.out.println(date); //另一种获得日期跟时间的办法 Calendar ca=Calendar.getInstance();//抽象类不能new,只能调用getInstance()静态方法 ca.get(Calendar.YEAR);//获得当前年 //ca.get(Calendar.MONTH)+1;//获得当前月 +1因为他默认从0月开始 ca.get(Calendar.DAY_OF_MONTH);//获得当前 ca.get(Calendar.DAY_OF_WEEK)-1;//获得当前是一周里的星期几 -1是因为西方周日为星期一

 

 

小练习

 1.实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同 

public class Login {
    private String user;//用户名
    private String pass;//密码
    private String passw;//确认密码
    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }
    public String getPass() {
        return pass;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
    public String getPassw() {
        return passw;
    }
    public void setPassw(String passw) {
        this.passw = passw;
    }
    public void login(){
        System.out.println("======欢迎进入注册系统======"+"\n");
        Scanner input=new Scanner(System.in);
        boolean flag=true;
        while (flag) {
        System.out.println("请输入用户名");
        String user=input.next();
        System.out.println("请输入密码");
        String pass=input.next();
        System.out.println("请再次输入密码");
        String passw=input.next();    
        if(user.length()>3 && (pass.length()>6 && pass.length()<16)){//字符串长度判断
            if(pass.equals(passw)){
                System.out.println("注册成功,请牢记用户名密码");
                flag=false;
            }else {
                System.out.println("两次输入的密码不相同");
                System.out.println("请重新输入:");
                flag=true;
            }
        }else {
            System.out.println("用户名长度不能小于3,密码长度不能小于6");
            System.out.println("请重新输入:");
            flag=true;
        }    
    }
    }

}
public class Text {
    public static void main(String[] args) {
        Login l=new Login();
        l.login();
    }

}

 2.实现提交作业功能,判断作业后缀名为.java,并判断邮箱名是否准确(邮箱名里有@和.并且@在.前面)

public class Zytj {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入您的文件名");
        String zy=input.next();
        System.out.print("请输入您的邮箱");
        String yx=input.next();
        int index=zy.indexOf(".");//检查是否有.元素
        boolean flag=false;
        if(index!=-1 && index!=0 && zy.substring(index).equals(".java")){//判断拥有.元素并且.不再第一个位置  然后截取.之后的元素跟要求格式比较
            flag=true;
        }else {
            System.out.println("作业格式不对");
        }
        int index1=yx.indexOf("@");//查找是否有@
        int index2=yx.indexOf(".");//查找是否有.
        boolean flag1=false;
        if(index1!=-1 && index2!=-1 && index1<index2){
            flag1=true;
        }else {
            System.out.println("邮箱格式不正确");
        }
        
        if (flag && flag1) {
            System.out.println("提交成功");
        }else {
            System.out.println("提交失败");
        }
    }

}

 

posted on 2019-06-10 16:29  灰色...天空  阅读(190)  评论(0编辑  收藏  举报