实用类

21 篇文章 0 订阅
1 篇文章 0 订阅

枚举类型:由一组固定的常量组成的类型
关键词enum
特点 类型安全
易于输入
代码清晰

而且枚举类型可以用于swich语句中
例如以下代码
定义个枚举类:

public enum  Genders {
    U1,U2,U3
}

定义个学生类·, 用枚举类创建变量

public class Student {
    private Genders genders;
    private String name;

    public Student() {
    }

    public Student(Genders genders, String name) {
        this.genders = genders;
        this.name = name;
    }

    public Genders getGenders() {
        return genders;
    }

    public void setGenders(Genders genders) {
        this.genders = genders;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

利用get和set实现对其的赋值
编写测试类

public class Test {
    public static void main(String[] args) {
Student student=new Student();
student.setName("张三");
student.setGenders(Genders.U1);
switch (student.getGenders()){
    case U1:
        System.out.println("打");
        break;
    case U2:
        System.out.println("kaifa");
        break;
    case U3:
        System.out.println("胜任");
}
    }
}

这里赋的值为枚举类中的U1,带入swich语句中对应的"打"

在这里插入图片描述
包装类
包装类把基本类型数据转换为对象
每个基本类型在java.lang包中都有一个相应的包装类
作用:提供一系列实用方法。
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
所有包装类都可将与之对应的基本数据类型作为参数,
例如

 Integer num=new Integer("20");
        Integer num1=new Integer(10);
        System.out.println(num+num1);

以上代码第一个输出结果为20
第二个为10
所以输出结果为10+20=30
在这里插入图片描述

  Double  num3=new Double("2.1");
        Integer num4=6;
        System.out.println(num3+num4);

这里结果为8.1
valueOf()方法

XXXValue()方法:
包装类转换成基本类型

Integer num5=Integer.valueOf("6");
        Integer num6=num5.intValue();
        Double num7=num5.doubleValue();
        System.out.println(num6);
        System.out.println(num7);

num6为int输出为6
num7为double输出为6.0

在这里插入图片描述
注意
虽然可以用“123”但是不能用”abc“ ""里必须为数值类型
装箱:基本类型转换为包装类对象
例如:Integer in =5
Integer为包装类的对象
5为基本类型int的值
拆箱:包装类对象转换为基本类型的值
例如int in1=in
in1 为基本类型的值
in为包装类对象

所有包装类都是final类型不能创建自己的子类

String类
length()方法,确定字符串长度,返回的是字符串中的字符数

例如注册账号要求密码长度不能小于6

public class iiiii {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名");
        String name=input.next();
        System.out.println("请输入密码");
        String pwd=input.next();
        if (pwd.length()<6){
            System.out.println("注册失败");
        }else {
            System.out.println("注册成功");
        }
    }
}

如果长度小于6输出失败,否则输出成功
在这里插入图片描述
equals()方法,比较存储的字符串对象的内容是否一致

public class iiiii {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名");
        String name=input.next();
        System.out.println("请输入密码");
        String pwd=input.next();
        if (name.equals("TOM")&&pwd.equals("1234567")){
            System.out.println("登陆成功");
        }else {
            System.out.println("用户名或密码不对");
        }
    }
}

输入的用户名为TOM
密码为1234567时输出成功
在这里插入图片描述

==判断两个字符串在内存中的地址

而equals检查组成的字符串内容是否完全一致

如何实现不考虑大小写的问题应使用以下方法
equalsIgnoreCase()不区分大小写
toLowerCase()全部转换为小写
toUpperCase()全部转换为大写

public class iiiii {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名");
        String name=input.next();
        System.out.println("请输入密码");
        String pwd=input.next();
         String s=pwd.toLowerCase();
         String s1=pwd.toUpperCase();
        System.out.println(s);
        System.out.println(s1);
        if (name.equalsIgnoreCase("TOM")&&pwd.equals("1234567")){
            System.out.println("登陆成功");
        }else {
            System.out.println("用户名或密码不对");
        }
    }
}

这里方便显示方法效果定义了String 类型的变量来接收
因为用了不区分大小写
输入tom也可以输出登陆成功
在这里插入图片描述
字符串连接:
1可用连接符“+”
2可用concat()方法
字符串提取:

int indexOf()搜索第一个出现的字符或者字符串如果没有返回-1

public class iiiii {
    public static void main(String[] args) {
        String a="你好啊,我叫啊啊啊啊";
        int i=a.indexOf("啊");
        System.out.println(i);
    }
        }

返回值为2
因为从0开始而不是从1开始
在这里插入图片描述

int lastIndexOf()搜索最后一个出现的字符或者字符串如果没有返回-1

public class iiiii {
    public static void main(String[] args) {
        String a="你好啊,我叫啊啊啊啊";
        int i=a.lastIndexOf("啊");
        System.out.println(i);
    }
        }

返回值为9
在这里插入图片描述

String substring()提取从索引下标开始的字符串部分

public class iiiii {
    public static void main(String[] args) {
        String a="你好啊,我叫啊啊啊啊";
        String b=a.substring(2);
        System.out.println(b);
    }
        }

返回为字符串从 索引下标2开始
应为啊,我叫啊啊啊
在这里插入图片描述

也可以提取起始下标和结束下标的字符串部分

public class iiiii {
    public static void main(String[] args) {
        String a="你好啊,我叫啊啊啊啊";
        String b=a.substring(2,6);
        System.out.println(b);
    }
        }

起始下标包括在里面而结束下标不包括
所以输出结果为
啊,我叫
在这里插入图片描述

String trim()返回一个前后不含空格的字符串副本

public class iiiii {
    public static void main(String[] args) {
        String a=" 张三 ";
       Scanner input=new Scanner(System.in);
        System.out.println("请输入");
        String b=input.next();
       if (a.trim().equals(b)){
           System.out.println("输入正确");
       }else {
           System.out.println("输入错误");
       }
    }
        }

因为trim方法去除了a中的空格,所以输入正确
在这里插入图片描述
split() 将一个字符串分割为子字符串,结果作为字符串数组返回

public class iiiii {
    public static void main(String[] args) {
     String a="长亭外 古道边 芳草碧连天";
      String[] as=a.split(" ");
      int num=0;
        for (String s : as) {
            System.out.println(s);
            num++;
        }
        System.out.println(num);
    }

}

以" "分割 字符串有两个空格所以分割成三个元素
num循环次数为3
在这里插入图片描述
StringBuffer类:
对字符串频繁修改使用StringBUffer类可以大大提高程序执行效率
声明
StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer(“aaa”);
方法

toString()转换为Stringl类型
append()追加字符串
insert(index,"**") 插入字符串index为字符串的索引下标位置,**为插入字符串的内容

将一个数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔

public class iiiii {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一串数字");
        String s=input.next();
        StringBuffer sbf=new StringBuffer(s);
        for (int i=sbf.length()-3;i>0;i=i-3){
            sbf.insert(i,",");
        }
        System.out.println(sbf
        );

    }

}

分析以上代码
首先声明StringBuffer
然后for循环
因为是从右边开始每3个数字分隔,所以应从最大长度-3的位置开始,然后大于0的时候结束,每次都是三个数字,每次都-3
再利用insert方法,在索引下标为i的时候加入“,”
在这里插入图片描述

经常改变内容的字符串最好不要使用String
字符串经常改变可使用StringBuffer,更高效

Math类:
里面有许多数学的计算方法
例如最大值最小值
向上取整
向下取整
四舍五入
正弦余弦等等

Radom类:
生成随机数

 for (int i=0;i<20;i++){
            int num7=random.nextInt(9);
            System.out.println(num7);
        }

这段代码的意思是从0-8中生成20个整数类型
在这里插入图片描述
日期类
Date表示日期和时间
创建日期对象
定制日期格式
因为默认格式比较复杂

public class iiiii {
    public static void main(String[] args) {
        Date date=new Date();
        System.out.println(date);
        SimpleDateFormat s=new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        String now=s.format(date);
        System.out.println(now);
    }
    }

在这里插入图片描述
SimpleDateFormat修改日期格式

Calendar类:
用于设置和获取日期/时间数据的特定部分
int get(int field)返回给定日历字段的值
MONTH 指示月
DAY_OF_MONTH月中的某一天
等许多方法
例如
计算2015年4月6日是一年中的第几星期

public class iiiii {
    public static void main(String[] args) {

        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, 2015);
        c.set(Calendar.MONTH, 4);
        c.set(Calendar.DAY_OF_MONTH, 6);
        int a = c.get(Calendar.WEEK_OF_YEAR);
        System.out.println(a);

    }
}

set方法指定日期年为2015
月为4
日为6
get方法获取当天在一年中是第几个星期返回值为int
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值