• 初学者——实用类


    什么是枚举

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

    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("======欢迎进入注册系统======"+"
    ");
            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("提交失败");
            }
        }
    
    }
    努力到无能为力,拼搏到感动自己
  • 相关阅读:
    Java for LeetCode 025 Reverse Nodes in k-Group
    Java for LeetCode 024 Swap Nodes in Pairs
    Java for LeetCode 023 Merge k Sorted Lists
    【JAVA、C++】LeetCode 022 Generate Parentheses
    【JAVA、C++】LeetCode 021 Merge Two Sorted Lists
    【JAVA、C++】LeetCode 020 Valid Parentheses
    【JAVA、C++】LeetCode 019 Remove Nth Node From End of List
    9-[记录操作]--数据的增删改,权限管理
    8-[表操作]--foreign key、表与表的关系
    7-[表操作]--完整性约束
  • 原文地址:https://www.cnblogs.com/tkzm/p/10997630.html
Copyright © 2020-2023  润新知