实用类介绍+jar包

枚举

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

定义枚举语法

[Modifier] enum enumName{
	enumConstantName1[, enumConstantName2...[;]]
	//[field, method]
}
  • Modifier是访问修饰符
  • enum是关键字
  • enumConstantName1[, enumConstantName2…[;]]表示枚举常量列表,枚举常量之间以逗号隔开
  • [field, method]表示其他成员,包括构造方法,置于枚举常量的后面
  • 在枚举中,如果除了定义枚举常量,还定义了其他成员,则枚举常量列表必须以分号(;)结尾

枚举性别

public enum Sex { //枚举类型,, value;
    String sex;

    Sex() {}

    public void setSex(String sex){
        this.sex=sex;
    }

    public String getSex(){
        return this.sex;
    }
}

class  TestSex{
    public static void main(String[] args) {
        Sex man = Sex.;
        man.setSex("male");
        System.out.println(man.getSex()); //不是字符串
        if (man==Sex.valueOf("男")){
            System.out.println("这是个男性");
        }
    }
}

枚举实例

public class Test1 {
    public enum Study {
        l1,l2,l3
    }


    public static void main(String[] args) {
        HashMap<Study, String> map = new HashMap<>();
        map.put(Study.l1,"大数据开发工程师");
        map.put(Study.l2,"大数据挖掘工程师");
        map.put(Study.l3,"大数据架构师");

        Iterator<Map.Entry<Study, String>> itr = map.entrySet().iterator();
        while (itr.hasNext()){
            System.out.println(itr.next().toString());
        }
    }
}

枚举的优点

类型安全
易于输入
代码清晰

课堂笔记

枚举:可以认为是类的变种
里面直接写的值都是该类的公共静态常量,可以用类型.值的方式调用
可以和普通类一样定义属性和方法
valueOf方法常用来将该类的枚举类型与字符串类型比较

常用JavaAPI

包装类

包装类把基本类型数据转换为对象,每个基本类型在java.lang包中都有一个相应的包装类

包装类的作用

提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
在这里插入图片描述
byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean

包装类的目的

可以把基本数据类型转成对象
也可以把字符串转成相应的基本数据类型
泛型是不可以放基本数据类型的

装箱和拆箱

把基本数据类型赋值给包装类型叫装箱,反之叫拆箱

以Integer为例:几种赋值方法
new Integer(整形)
new Integer(字符串)
Interger.valueOf(字符串/整形)
Integer.paraseInt(字符串)

public class TestInteger {
    public static void main(String[] args) {
        Integer num = new Integer(123);
        Integer a=128;
        //用字符串的构造方法时,必须是数字,否则会抛异常
        int b = new Integer("113"); //自动拆箱
        Integer c=128;
        Integer d=new Integer(128);
        Integer e=Integer.valueOf("111");
        System.out.println(a==c);
        System.out.println(a==d);

        String str = "123";
        int num1=Integer.valueOf(str);
        Character ch = 'l'; // Character没有String类型的构造方法
        Character ch1='a';

        Boolean flag = new Boolean("tRUe");
        System.out.println(flag);

        Double dou = new Double("111.11");
        System.out.println(dou.intValue());

        Integer i = Integer.parseInt("1234");
    }
}

包装类的常用方法

XXXValue():包装类转换成基本类型
在这里插入图片描述
toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)

String sex=Character.toString('男');
String id=Integer.toString(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")

Math类

Math类常用方法介绍:

ceil 向上取整
floor 向下取整
round 四舍五入

public class TestMath {
    public static void main(String[] args) {
        System.out.println(Math.round(1.49));
        System.out.println(Math.round((2.4495+1.3305)*100)/100.0);
        double pi = Math.PI;
        double e = Math.E;
    }
}

导Jar包

file --> New --> Project
如果有配置好的maven,可以直接使用
否则选java --> next --> next --> Test_Jar (project名) --> Finish
src -->new package --> testJar(package名)
testJar --> new java class --> test_Jar(class名)
编入代码:

public class test_Jar {
    public void sayHi(){
        System.out.println("Hi");
    }
}

File --> Project Structure --> Modules --> Dependencies --> +
+号在页面靠右上,或者用alt+insert
选择第一个 1.JARs or directories
然后选择需要配置的jar包
我这里是图里的两个:
在这里插入图片描述
导入后打钩,但是不要急着点apply或者ok
回到sources里,在src文件夹底下创建一个新的名为test的文件夹
然后点上面一栏绿色的Tests按钮,最后点apply和ok

到这里就算配置好了

在test_Jar里随意写一个方法,

public void sayHi(){
        System.out.println("Hi");
    }

然后ctrl+shift+t,弹出create new test对话框,把这个方法勾选上,点ok,之后会自动test文件夹底下生成对应的可运行的文件
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Helltaker/article/details/107696788