栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的常用类

string类

面试题:String Stringbuffer StringBuilder区别:

1.String为固定长度的字符串,StringBuilder和StringBuffer为变长字符串;2.stringBuffer是线程安全的,StringBuilder是非线程安全的;3.StringBuffer和StringBuilder的默认初始容量是16,可以提前预估好字符串的长度,进一步减少扩容带来的额外开销

package com.qfedu.a_stringbuffer;
​
public class Test {
​
    public static void main(String[] args) {
        //String 连接10000次消耗1127ms
        //StringBuffer 连接10000次消耗5ms
        //StringBuilder 连接10000次消耗3ms
        StringTest(10000);
        StringBufferTest(10000);
        StringBuilderTest(10000);
    }
    public static void StringTest(int n){
        String str = "";
        //获取当前系统的时间  还没有执行下面for循环的时候的时间
        Long startTime = System.currentTimeMillis();
        //使用for循环来拼接!!!
        for(int i=0;i 
枚举类(enum) 

枚举就是用来表示常量的,只不过是常量的换一种写法而已!!!

public enum 枚举类名 {
    //下面写常量,常量之间使用逗号隔开/
    //一般都是大写的  没有任何数据类型的!!!
    //而且常量是static修饰的!!!
    
}
switch (表达式){
​
}
表达式数据类型有哪些:
    byte  short  int char  String  enum

枚举如何在switch中使用看案例:

package com.qfedu.b_enum;
​
enum Color3 {
    RED, GREEN, BLUE
}
//可以通过switch-case将咱们的常量变成咱们所数据类型
//RED===》红色
//只是一个用判断的一个东西
pu blic class Demo3 {
    public static void main(String[] args) {
        Color3 red = Color3.RED;
        switch (red) {
            case RED:
                System.out.println("红色");
                break;
            case GREEN:
                System.out.println("绿色");
                break;
            case BLUE:
                System.out.println("蓝色");
                break;
        }
    }

枚举类中的几个方法:

values();枚举类中所有的值
ordinal();可以找到每个枚举类中常量的索引
valueOf();返回值的是指定字符串的枚举常量

包装类

包装类能被实例化,封装了很多方法,可以使用,这样操作八大基本数据类型就比较方便了

int->Integer

byte->Byte

short->Short

long->Long

float->Float

double->Double

boolean->Boolean

char->Character

1.自从JDK1.5之后,有拆箱和装箱

​ 自动装箱:将基本数据类型转为包装类

​ 自动拆箱:将包装类转为基本数据类型

​2.***Value();将包装类转为基本数据类型

​3.toString();将基本数据类型转为字符串

​4.parse***();将字符串类型的数据转为基本数据类型【以后开发用】

​5.valueOf();将基本数据类型转为包装类类似手动装箱

面试题:

Integer i1 = 10;
Intger i2 = 10;
sout(i1 == i2);//true  不会创建新的对象,直接从常量池
Integer i3 = 1000;
Integer i4 = 1000;
sout(i3 == i4);//false 已经超过缓存数组的容量了-128~127 ,就要在堆区去创建新的对象了
​
​

总结:

int类型赋值:不管值的大小,都在常量池中!!!

int a=  128;  int a = 8999;   都在常量池中!!!

Integer类型赋值:

Integer i1 = 10;//不会在堆区创建对象
Integer i2 = 1000;//堆区会创建对象,值会指向常量池中的那个值!!!
若值的范围在-128~127之间,在常量池中!!!
如值的范围不在-128~127之间,在堆区创建对象,进行赋值了

实例化Integer对象:

Integer i1 = new Integer(12);
只要是new的Integer  使用== 都是false

Math类

Math类中包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。

专门处理数学运算的一个类

绝对值 abs()

最大值 max()

最小值 min()

向上取整 ceil()

向下取整floor()

四舍五入round()

随机数random()

案例:
package com.qfedu.d_math;
​
public class Demo1 {
    public static void main(String[] args) {
        System.out.println(Math.PI);
        System.out.println(Math.E);
        //以上是两个常量
        System.out.println(Math.abs(-89));//绝对值 89
        System.out.println(Math.max(34, 56));//最大值 56
        //求三个数的最大值?咋办?
        System.out.println(Math.max(23, Math.max(45,12)));//45
​
        //最小值
        System.out.println(Math.min(34, 12));//12
        //向上取整
        System.out.println(Math.ceil(45.2));//46.0
        //向下取整
        System.out.println(Math.floor(89.8));//89.0
        //四舍五入
        System.out.println(Math.round(45.5));//46
        //随机数大于等于 0.0 ,小于 1.0   double
        System.out.println(Math.random());
        //随机1-100之间的整数int 0.45 * 100=45 int
        int i1 = (int)(Math.random() * 100);
        System.out.println(i1);
    }
}

Random类

专门处理随机数的类

package com.qfedu.e_random;
​
import java.util.Random;
​
public class Demo1 {
    public static void main(String[] args) {
        Random random = new Random();
        System.out.println(random.nextInt());
        System.out.println(random.nextInt(100));//[0,100);
        System.out.println(random.nextFloat());
        System.out.println(random.nextDouble());
        System.out.println(random.nextBoolean());
    }
}

System类

案例:

package com.qfedu.f_system;
​
import java.io.PrintStream;
import java.util.Properties;
import java.util.Scanner;
​
public class Demo1 {
    public static void main(String[] args) {
​
        PrintStream out = System.out;//是一个流 PrintStream 打印流
        out.println("goudan");
        System.out.println("goudan");//标准输出流打印的东西
        System.err.println("xixi");//错误输出流打印的东西
        new Scanner(System.in);//输入流
        //你把控制台想象成一个磁盘。就是输入流和输出流
        //用的很多
        // 在1970年1月1日UTC之间的当前时间和午夜之间的差异,以毫秒为单位
        long l = System.currentTimeMillis();
        //2022年到1970年 是不是52
        System.out.println(l/1000/60/60/24/365);
​
        //获取系统的东西  System 英文单词就是系统的意思
        Properties properties = System.getProperties();
        //os.name 系统的名字
        System.out.println(properties.get("os.name"));
        System.out.println(properties.get("os.version"));
        System.out.println(properties.get("user.name"));
        System.out.println(properties.get("user.dir"));
        System.out.println(properties.get("java.version"));
      //Windows 10
      //10.0
      //bowang
      //C:UsersbowangIdeaProjectsday21_wb
      //1.8.0_241
​
    }
}

Runtime类

package com.qfedu.g_runtime;
​
import java.io.IOException;
​
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //1.获取runtime对象
        Runtime runtime = Runtime.getRuntime();
        //runtime对象可以启动咱们电脑上面任意的一个软件
        //使用代码启动软件
        runtime.exec("C:\Program Files (x86)\Notepad++\notepad++.exe");
        //返回Java虚拟机将尝试使用的最大内存量。字节数
        System.out.println(runtime.maxMemory() / 1024 / 1024);//MB
        //返回Java虚拟机中的可用内存量 字节数
        System.out.println(runtime.freeMemory()/1024/1024);
        //返回Java虚拟机中的内存总量 字节数
        System.out.println(runtime.totalMemory()/1024/1024);
    }
}

Calendar类

是现在国际通用处理日期的一个类

案例:

package com.qfedu.h_date;
​
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();
        //获取当前的年份
        int i = calendar.get(Calendar.YEAR);
        System.out.println(i);//2022
        //获取月份  需要加1的
        System.out.println(calendar.get(Calendar.MONTH) + 1);//8
        //获取当月的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//9
        //获取这周的第几天  漂亮国的周日是第1天
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//3
        //获取这一年的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//221
        //获取时
        System.out.println(calendar.get(Calendar.HOUR));//4
        System.out.println(calendar.get(Calendar.MINUTE));//39
        System.out.println(calendar.get(Calendar.SECOND));//3
​
        //重要的方法  获取当前的时间的 返回值是Date类型的数据
        //可以转为Date类型的数据
        Date time = calendar.getTime();
        System.out.println(time);
        //Tue Aug 09 16:40:21 IRKT 2022
        //这上面时间 对程序员相当不友好!!!
        //通过一个类将日期格式转换一下
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy—MM-dd HH:mm:ss");
        //yyyy-MM-dd HH:mm:ss
        //年-月-天 时:分:秒
        //2022-08-09  16:43:32
        //将这个格式Tue Aug 09 16:40:21 IRKT 2022
        //转换为2022-08-09  16:43:32
        String format = sdf.format(time);
        System.out.println(format);
  
    }
}
​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1041130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号