Java实用类

.枚举

  • 使用enum关键字来修饰是的它成为一个枚举类型
  • 由一组固定的常量组成的类型,可以视枚举为一组长量的集合
  • 枚举中不能存在普通函数与普通变量。
public enum WeekEnum{
    //表示周一到周日
    MON,THES,WEB,THUR,FRI,STA,SUN
}

.包装类

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

int —– Integer【特别】
char —– Character【特别】
byte —– Byte
short —– Short
long —– Long
float —– Float
double —— Double
boolean —– Boolean

拆箱和自动装箱:
        Integer integer=5;//装箱:基本类型转换为包装类型的对现
        int inValue =integer;//拆箱:包装类对象转换为基本类型的值
 1 package baoZhuangLei;
 2 
 3 public class Demo1 {
 4     public static void main(String[] args) {
 5         //包装类---》基本类型*****Value();
 6         Integer i= new Integer(9);
 7         int j = i.intValue();
 8         System.out.println(j);
 9         
10         
11         Boolean b = new Boolean(true);
12         boolean b1 =b.booleanValue();
13         System.out.println(b1);
14         
15         //基本类型---》字符串(1)toString()  (2) +""
16         int num = 9;
17         String strNum=Integer.toString(num);
18         String strNum2=num+"";
19         
20         //字符串--》基本类型    parse*****()Character类除外
21         String s = "89";
22         int num2= Integer.parseInt(s);
23         boolean bNum = Boolean.parseBoolean("true");
24         
25         //valueOf():(1)如何把基本数据类型变成包装类(所有包装类都有这个方法)
26         Integer iNum = Integer.valueOf(89);
27         Character cNum = Character.valueOf('z');
28         Boolean BNum =Boolean.valueOf(true);
29         //(2)如何把字符串变成包装类(除Character外)
30         Integer iNum2 =Integer.valueOf("89");
31         
32         Boolean bNum2 = Boolean.valueOf(true);
33         
34         
35         //拆箱和自动装箱
36         Integer integer=5;//装箱:基本类型转换为包装类型的对现
37         int inValue =integer;//拆箱:包装类对象转换为基本类型的值
38         
39         
40     }
41 
42 }

Math类常用方法:

  1. .random() :生成0~1的随机数
  2. .abs() :获取数值的绝对值
  3. .max() : 比较两个数字谁最大
  4. .min() : 比较两个数字谁最小
  5. .ceil() :向上取整
  6. .floor() : 向下取整
  7. .round() : 四舍五入
package cn.demo;

public class MathDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        
        
        Math.abs(-3.5);//返回3.5    
        Math.max(2.5, 5.3);//返回5.3
        int random= (int)(Math.random()*10);//生成一个0~9之间的随机数
                
    }

 Random可以用来产生随机数

1.种子每次都不一样
2.不同的种子构造的Random对象生成的随机数是不一样
3.相同的种子构造的Random对象生成的随机数都是相同的
  Random random=new Random(56);
  Random random2=new Random(56);
4.一般放时间毫秒
  Random random2=new Random(时间的毫秒);

package cn.Random;

import java.util.Random;

public class RandoDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //1.种子 每次都不一样
        //2.不同的种子构造的Random对象生成的随机数是不一样的
        /**
         * 3.相同的种子构造的Random对象生成的随机数都是相同的
         * Random random=new Random(56);
         * Random random2=new Random(56);
         * 4.一般放时间毫秒
         * Random random2=new Random(时间的毫秒);
         */
        
        Random random=new Random();//创建一个Random对象
        Random random2=new Random();
        for (int i = 0; i < 20; i++) {//随机生成20个随机数,并显示
            int num= random.nextInt(10);//返回下一个伪随机数,整型的
            System.out.println("第"+(i+1)+"个随机数是:"+num);
        }
        
    }

}

String()方法:

  • String类位于java.lang包中,具有丰富的方法
  • 计算字符串的长度、比较字符串、连接字符串、提取字符串
  • String类提供了length()方法,确定字符串的长度
  • 返回字符串中的字符数
  • String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致
  • equals()方法比较原理
  • 检查组成字符串内容的字符是否完全一致
  • ““和equals()的区别
  • “”判断两个字符串在内存中的地址,即判断是否是同一个字符串对象
  • 字符串比较的其他方法:忽略大小写的字符串比较
package cn.String;
//字符串连接:concat();
public class Concat {

    public static void main(String[] args) {
            int num=9;
            System.out.println("num的值是:"+num);
        String s="你好:";
        String s2="张三!";
        String newString=s.concat(s2);
        System.out.println(newString);
        

    }

}
package cn.String;

public class EqualsDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String str1="tom";
        String str2="TOM";
        System.out.println(str1.equals(str2));//false
        //不区分大小写
        System.out.println(str1.equalsIgnoreCase(str2));//true
        //全变为小写
        System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));//true
        //全变为大写
        System.out.println(str1.toUpperCase().equals(str1.toUpperCase()));//true
        
        
        String s= "   admin   ";
        System.out.println(s.trim());//输出admin 去掉两端的空格
        

    }

}

 字符串常用提取方法

搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
public int indexOf(int ch) 
public int indexOf(String value)
搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
public int lastIndexOf(int ch) 
public int lastIndexOf(String value)
提取从位置索引开始的字符串部分
public String substring(int index)
提取beginindex和endindex之间的字符串部分
public String substring(int beginindex, int endindex)
返回一个前后不含任何空格的调用字符串的副本
public String trim()

package cn.String;

import java.util.Scanner;

public class StrDemo {

    // 字符串截取:indexOf() lastIndexOf() substring(begin) substring(begin,end)
    public static void main(String[] args) {
        // String s ="hello,my name is yangFan!,ok";//空格也算位置
        // System.out.println(s.indexOf("o"));//4
        // System.out.println(s.lastIndexOf("o"));//26
        //
        // System.out.println(s.substring(4));//包含起始位置,到最后
        // System.out.println(s.substring(4,5));//包含起始位置,不包含结束位置

        // !!!!!String 的所有操作并不影响字符串本身,影响的是字符串的一个副本
        String s = "I love you!";
        System.out.println(s.substring(2, 6));// love
        System.out.println(s);// I love you!

        boolean nameFlag = false;
        Scanner inScanner = new Scanner(System.in);
        System.out.println("****************欢迎提交作业********************");
        System.out.println("请输入作业名:");
        String name = inScanner.next();
        System.out.println("请输入邮箱:");
        String email = inScanner.next();
        // 检查文件名:必须以.java为后缀
        int index = name.indexOf(".");
        if (index != -1 && index != 0 && name.substring(index).equals(".java")) {
            // 文件名正确
            nameFlag = true;

        } else {
            System.out.println("文件名无效");
        }
        boolean emailFlag = false;
        // 检查邮箱@
        int index1 = email.indexOf("@");
        int index2 = email.indexOf(".");
        if (index1 != -1 && index2 != -1 && index1 < index2) {

            emailFlag = true;

        } else {
            System.out.println("邮箱名无效");
        }

        if (nameFlag && emailFlag) {

            System.out.println("作业提交成功!");

        } else {
            System.out.println("作业提交失败");
        }

    }

}

StringBuffer

  • 在字符串拼接上,效果要比String高
  • toString() 将对象内容转成字符串
  • append() 追加和拼接字符串
  • insert() 在指定的位置插入指定的符号
  • StringBuffe是对原有字符串操作而String是不会对自己原有的字符串进行操作的

对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
StringBuffer声明

StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer("aaa");
StringBuffer的使用
sb.toString();           //转化为String类型
sb.append("**");      //追加字符串
sb.insert (1, "**");    //插入字符串
ackage stringbufferDemo;

import java.util.Scanner;

public class Demo1 {

    
    
    //对原有字符串操作
    public static void main(String[] args) {
    /*    
        //(1)string->stringBuffer
        StringBuffer s1=new StringBuffer("hello");
        //追加 append
        s1.append("world!");
        System.out.println(s1);//helloworld!
        //插入 insert
        s1.insert(1, ",");
        System.out.println(s1);//h,elloworld!
        
        System.out.println(s1);
        //(2)stringBuffer->string
        String s=s1.toString();*/
        
        Scanner inputScanner=new Scanner(System.in);
        System.out.println("请输入一串数字");
        String num=inputScanner.next();
        StringBuffer numsBuffer=new StringBuffer(num);
        
        for (int i = numsBuffer.length();i>0; i=i-3) {
            
            numsBuffer.insert(i, ",");
            
        }
        System.out.println(numsBuffer);
        
        
        
    }

}

日期类

java.util.Date类:表示日期和时间
提供操作日期和时间各组成部分的方法
java.text.SimpleDateFormat类
用于定制日期时间的格式
//创建日期对象
Date date = new Date(); 
//定制日期格式
SimpleDateFormat formater = new SimpleDateFormat("yyyy-         MM-dd HH:mm:ss");
String now = formater.format(date);
System.out.println(now);
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //当前的日期和时间
        Date date=new Date();
        System.out.println(date);
        //将日期和时间格式化变成我们要求的格式"年-月-日"
        SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间
        //用SimpleDateFormat对象的format方法去拿到一个字符串formater.format(date)
        //.format(date)参数为Date类返回String
        String sdateString=formater.format(date);
        System.out.println(sdateString);
    }

}

Calender类

  • 抽象类,java.util.Calendar
  • **用于设置和获取日期/时间数据的特定部分
package cn.date;

import java.util.Calendar;

public class CalendarDemo {

    
    public static void main(String[] args) {
        //Calendar是抽象类
        Calendar t=Calendar.getInstance();
        //月加1是因为他的一月是从0开始的
    System.out.println(t.get(Calendar.YEAR)+"-"+(t.get(Calendar.MONTH)+1)+"-"+t.get(Calendar.DAY_OF_MONTH));//月里的日
        //减去1一周是星期日开始的
    System.out.println("今天是星期"+(t.get(Calendar.DAY_OF_WEEK)-1));
    }

    

}
int get(int field)             返回给定日历字段的值
MONTH                          指示月
DAY_OF_MONTH            指示一个月中的某天
DAY_OF_WEEK              指示一个星期中的某天
原文地址:https://www.cnblogs.com/big-data-sky/p/11031412.html