Java实用类

枚举:

什么是枚举?

答:枚举指由一组固定的常量组成的类型,使用关键字enum定义;

是java.lang.Enum类的子类,继承了Enum类的许多有用的方法。

 

使用枚举的好处?使用后保证了属性的正确赋值;类型安全、易于输出和赋值,代码清楚,

答:枚举可以使代码更易于维护,有助于确保为变量指定合法的、期望的值

枚举更易于编程时输入,使用枚举赋值,只需要输入枚举名,然后属于一个 点(.)就能将所有的值显示出来

枚举使代码更清晰,允许用描述性的名称表示数据,使用时更直观方便

 

在java中,通常使用枚举表示一组个数有限的值,用于实现对输出的值进行约束检查。

 

package cn.kgc.kgc67.demo4;

public enum Course {   //enum是关键字
    L1,L2,L3;    //表示枚举常量,枚举常量之间用逗号隔开

}

package cn.kgc.kgc67.demo4; 

public class Test {
    public static void main(String[] args) {
        Course course=Course.L1;
        switch (course) {  //可用于switch结构的变量类型:int、short、byte、char、 枚举类型、String
        case L1:
            System.out.println("大数据开发工程师");
            break;
        case L2:
            System.out.println("大数据挖掘工程师");
            break;
        case L3:
            System.out.println("大数据架构师");
            break;

        default:
            break;
        }
    }
 

包装类

包装类把基本类型数据转换为对象

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

 

包装类的主要用途

1:作为和基本数据类型对应的类存在,方便对象的操作

2:包装类包含每种基本数据类型的相关属性,如最大值 最小值等,以及相关的操作方法

 

包装类的作用

提供了一系列实用的方法

集合不允许存放基本数据类型数据,存放数字时,要用包装类型

 

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

public Type(type value)

如:Integer i=new Integer(1);

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

public Type(String value)

如:Integer i=new Integer("123");

 

注意事项

Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false

当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,

否则编译不通过,运行时会抛出NumberFormatException异常

 

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


XXXValue():包装类转换成基本类型
byteValue()、intValue()
longValue()、shortValue()
doubleValue()、floatValue()
charValue()、booleanValue()

Integer integerId=new Integer(25);

int intId=integerId.intValue();

 

// 字符串转基本类型
        String str = "100";
        int a = Integer.parseInt(str);
        double b = Double.parseDouble(str);
        byte c = Byte.parseByte(str);
        short d = Short.parseShort(str);
        char e = str.charAt(0);
 

// 基本类型转字符串
    private static void method1() {
        int a = 10;
        String str1 = a + "";

        double b = 100;
        String str2 = b + "";

        boolean c = true;
        String str3 = c + "";

        /*
         * Integer d=new Integer(a); String str4 =d.toString();
         * 
         * Boolean temp=new Boolean(c); String str5=temp.toString();
         */

toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
String sex=‘男’+"";
String id=25+"";


parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)
int num=Integer.parseInt(“36”);
boolean bool=Boolean.parseBoolean(“false”);


valueOf()  除Character类外,其他包装类都有该方法(字符串->包装类)

所有包装类都有如下方法(基本类型->包装类)    

public static Type valueOf(type value)

如:Integer intValue = Integer.valueOf(21);

除Character类外,其他包装类都有如下方法(字符串->包装类)    

 public static Type valueOf(String s)

如:Integer intValue = Integer.valueOf("21");

 

装箱和拆箱

基本类型和包装类的自动转换

Integer intObject = 5; int intValue = intObject;

装箱:基本类型转换为包装类的对象   拆箱:包装类对象转换为基本类型的值

 

 

math类


常用方法
int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数

 

Random类


java.util.Random类
Random rand=new Random(); //创建一个Random对象
int num=rand.nextInt(10); //生成一个0-9之间的随机数
 

 

String类

使用String对象存储字符串

String类位于java.lang包中,具有丰富的方法 计算字符串的长度、比较字符串、连接字符串、提取字符串

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

String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致

== 与 equals的区别
(1) == 与 equals 比较两个对象是否是同一个对象。
(2) String类重写equals方法,比较字符串的值

使用equalsIgnoreCase()方法 //忽略大小写

使用toLowerCase()方法 //全部小写

使用toUpperCase()方法//全部大写

 

字符串连接
1:使用“+”
2:使用String类的concat()方法
2:示例
String str=“123”;
str=str.concat(“456”);输出结果为123456

 

方法名

说明

public int indexOf(int ch) 

搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1

public int indexOf(String value)

public int lastIndexOf(int ch) 

搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1

public int lastIndexOf(String value)

public String substring(int index)

提取从位置索引开始的字符串部分

public String substring(int beginindex, int endindex)

提取beginindex和endindex之间的字符串部分

public String trim()

返回一个前后不含任何空格的调用字符串的副本

 

public class demo1 {
    public static void main(String[] args) {
        String str, str2;
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        str = input.next();
        System.out.println("请输入你要查找的字符:");
        str2 = input.next();
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            char temp = str.charAt(i);
            String temp2 = temp + "";
            if (temp2.equals(str2)) {
                count++;
            }
        }
        System.out.println(str + "中包含" + count + "个" + str2);
    }

    private static void method4() {
        String words = "长亭外 古道边 芳草碧连天 晚风扶 柳笛声残 夕阳山外山";
        System.out.println("***原歌词格式***");
        System.out.println(words);

        String[] printWords = words.split(" ");
        System.out.println("***拆分后歌词格式***");
        for (String temp : printWords) {
            System.out.println(temp);
        }
    }

    private static void method3() {
        String word = "hello.txt";
        if (word.endsWith(".java")) {
            System.out.println("该件文是一个java文件");
        } else {
            System.out.println("该件文不是一个java文件");
        }
    }

 

StringBuffer


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

常用方法:

toString() 方法;转化为String类型的语法格式如下:例如:字符串1.toString();

将StringBuffer类型的字符串1转换成String类型的字符串并返回;例如:String s1=sb2.toString();


append(参数) 追加字符串,将参数连接到字符串后并返回;和cancat()方法不同的是,String类中只能将String类型的字符串追加到一个字符串之后,StringBuffer类可以将任何类型的的值 追加到字符串之后


insert(位置,参数 )将参数插入到字符串指定位置后并返回,参数值可以包括String的任何类型

 

java.util.Date类:表示日期和时间,提供操作日期和时间各组成部分的方法
java.text.SimpleDateFormat类

package cn.kgc.kgc67;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class demo2 {
    public static void main(String[] args) {
        Calendar calendar=Calendar.getInstance();
        calendar.set(Calendar.YEAR, 2015);
        calendar.set(Calendar.MONTH, 3);
        calendar.set(Calendar.DAY_OF_MONTH, 6);
        
        int weekOfYear=calendar.get(Calendar.WEEK_OF_YEAR);
        System.out.println("第几周"+weekOfYear);
        
        Date date=calendar.getTime();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
        String times=sdf.format(date);
        System.out.println(times);
                

    }

}

Calendar类是抽象类,java.util.Calendar
用于设置和获取日期/时间数据的特定部分

package cn.kgc.kgc67;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FileTest {
    public static void main(String[] args) throws Exception {
        File parentFile=new File("D:" + File.separator + "Test1");
        File helloWorldFile = new File(parentFile,"helloWorld.java");
        
        if (!helloWorldFile.exists()) {
            helloWorldFile.delete();
        } else {
            System.out.println("文件夹不存在");
        }
    }

    private static void method2() throws IOException {
        File helloWorldFile = new File("D:" + File.separator + "Test1"
                + File.separator + "helloWorld.java");
        if (!helloWorldFile.exists()) {//判断文件是否存在
            helloWorldFile.createNewFile();//创建文件

        } else {
            boolean canRead = helloWorldFile.canRead();
            boolean canWrite = helloWorldFile.canWrite();
            boolean canExecute = helloWorldFile.canExecute();
            long size = helloWorldFile.length();
            System.out.println(canRead + "==" + canWrite + "==" + canExecute);
            System.out.println("文件大小:" + size);

        }
    }

    private static void method1() {
        // 在D:/盘创建Test1
        File file = new File("D:" + File.separator + "Test1");
        // 判断文件夹是否存在,如果文件夹不存在,创建文件夹
        if (!file.exists()) {
            file.mkdir();
        } else {// 如果存在,获得文件夹的最后修改时间
            long misSeconds = file.lastModified();
            Date date = new Date(misSeconds);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
            String modifiedTime = sdf.format(date);
            System.out.println(modifiedTime);
        }
    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值