Java学习第一弹(常用类)

Java常用类

Java 类库提供了不少常用类,可以在编程中直接调用使用。介绍 Arrays、StringBuilder、Calendar、Date、Math、System、Random 类以及类的常用方法。

Arrays类

Arrays 类包含用于操作数组的各种方法(例如排序和搜索)。还包含一个静态工厂,允许将数组转为 List‘’
Arrays类的常用方法
Arrays类的常用方法

随机给数组赋值
Random random=new Random();
        for(int i=0;i<arr.length;i++){
            arr[i]=random.nextInt(100);
        }
copy数组
   int[] newarr=Arrays.copyOf(arr,arr.length);

StringBuilder类

StringBuilder 类是可变的。它是 String 的对等类,它可以增加和编写字符的可变序列,并且能够将字符插入到字符串中间或附加到字符串末尾(当然是不用创建其他对象的)
StringBuilder 的构造方法:
在这里插入图片描述
StringBuilder 类的常用方法:
在这里插入图片描述

Calendar类

在早期的 JDK 版本中,Date 类附有两大功能:

1,允许用年、月、日、时、分、秒来解释日期
2,允许对表示日期的字符串进行格式化和句法分析
在 JDK1.1 中提供了类 Calendar 来完成第一种功能,类 DateFormat 来完成第二项功能。DateFormat 是 java.text 包中的一个类。与 Date 类有所不同的是,DateFormat 类可以接受用各种语言和不同习惯表示的日期字符串。

但是 Calendar 类是一个抽象类,它完成 Date 类与普通日期表示法之间的转换,而我们更多的是使用 Calendar 类的子类 GregorianCalendar 类。它实现了世界上普遍使用的公历系统。当然我们也可以继承 Calendar 类,然后自己定义实现日历方法。

先来看一看 GregorianCalendar 类的构造函数:
在这里插入图片描述
TimeZone 是 java.util 包中的一个类,其中封装了有关时区的信息。每一个时区对应一组 ID。类 TimeZone 提供了一些方法完成时区与对应 ID 两者之间的转换。
eg:

//太平洋时区的 ID 为 PST
TimeZone tz0 = TimeZone.getTimeZone("PST")
//getDefault()可以获取主机所处时区的对象
TimeZone tz1 = TimeZone.getDefault()

Locale 只是一种机制,它用来标识一个特定的地理、政治或文化区域获取一个 Locale 对象的构造方法:

//调用Locale类的构造方法
Locale l0 = new Locale(String language)
Locale l1 = new Locale(String language, String country)
Locale l2 = new Locale(String languge, String country, String variant)

//调用Locale类中定义的常量
Locale  l1 = Locale.CHINA

Calendar 类详解
Calendar 类是一个抽象类,它为特定时间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

1、使用Calendar类别之前,要先知道Calendar的一些方法取回的数字是对应于Calendar本身的常数,也就是说并不是取回1 这个数字,就表示今天是星期一。
a、想要取得时间,首先使用Calendar的getInstance()取得一个Calendar的实例,例如:
Calendar rightNow = Calendar.getInstance();
b、如果现在您想知道是几年,则可以使用get()方法并指定常数,例如:
System.out.println(rightNow.get(Calendar.YEAR));
c、如果是2005年,则上例会显示2005的数字,依照这个例子,假设撰写本文的时间是5月份,而现在想使用程式取得月份,则下例可能会有些困惑:
System.out.println(rightNow.get(Calendar.MONTH));
d、程式会显示4这个数字,而不是预期的5,因为传回的4并不是代表月份,而是对应于Calendar.MAY常数的值, Calendar在月份上的常数值从Calendar.JANUARY开始是0,到Calendar.DECEMBER的11,所以如果想要显示传回值的真正意涵,可以如下撰写:
String[] months = {“一月”, “二月”, “三月”, “四月”,“五月”, “六月”, “七月”, “八月”,“九月”, “十月”, “十一月”, “十二月”};
Calendar rightNow = Calendar.getInstance();

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo{
    public static void main(String[] args){
        System.out.println("完整显示日期时间:");
        //字符串转换日期格式
        //向上转型
        DateFormat dataFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取当前时间并使用format将Data格式化为SimpleDategFormat定义的格式
        String str = dataFormat.format(new Date());
        System.out.println(str);
        //创建Calendar对象
         //创建一个 Calendar 用于比较时间
        /*getInstance是少部分类才有的一个方法,各自的实现也不同。getInstance在单例模式
        (保证一个类仅有一个实例,并提供一个访问它的全局访问点)的类中常见,
        用来生成唯一的实例,getInstance往往是static的*/
        //Calendar.getInstance()是获取一个Calendar对象并可以进行时间的计算,时区的指定


        Calendar calendar=Calendar.getInstance();
        //此方法用来设置日历时间为给定的日期
        calendar.setTime(new Date());
        System.out.println("年:"+calendar.get(calendar.YEAR));
        System.out.println("月:"+calendar.get(calendar.MONTH));
        System.out.println("min:"+calendar.get(calendar.MINUTE));
        //今年的第几天
        System.out.println("今年的第"+calendar.get(calendar.DAY_OF_YEAR)+"天");
        //本月的第几天
        System.out.println("本月的第几天"+calendar.get(calendar.DAY_OF_MONTH));
        //三个小时后的时间
        calendar.add(Calendar.HOUR_OF_DAY,3);
        //Calendar.getTime() 方法返回一个Date对象,它表示此Calendar的时间值
        System.out.println("三小时后的时间"+calendar.getTime());
        //格式化显示
        str=(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
        System.out.println(str);
        //重置当前calendar显示的时间
        calendar.setTime(new Date());
        str=(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
        System.out.println(str);
    }
}

Date类

Date 类表示日期和时间,里面封装了操作日期和时间的方法。Date 类经常用来获取系统当前时间。
来看看类 Date 中定义的未过时的构造方法:
在这里插入图片描述

import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo{
    public static void main(String[] args){
        String strDate,strTime;
        Date objDate=new Date();
        System.out.println("今天的日期是"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(objDate));

    }
}

Math类

Math 类在 java.lang 包中,包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常见方法:
在这里插入图片描述
在这里插入图片描述

System类

System 类提供了一下功能:

1.标准输入,标准输出和错误输出流;
2.访问外部定义的属性和环境变量;
3.加载文件和库的方法;
4.以及用于快速复制数组的实用方法。
System 不可以被实例化,只可以使用其静态方法。
在这里插入图片描述

import java.util.Arrays;

public class SystemDemo {
    public static void main(String[] args) {
        int[] a = {7, 8, 9, 10, 11};
        int[] b = {1, 2, 3, 4, 5, 6};
        //从数组a的第二个元素开始,复制到b数组的第三个位置 复制的元素长度为3
        System.arraycopy(a, 1, b, 2, 3);
        //输出结果
        System.out.println(Arrays.toString(b));
        System.out.println("当前时间:" + System.currentTimeMillis());
        System.out.println("java版本信息:" + System.getProperty("java.version"));
        //运行垃圾收集器
        System.gc();
        //退出
        System.exit(0);
    }
}

Random

Random 类用于生成伪随机数流,在java.util包下。

import java.util.Random;

public class RandomDemo {
    public static void main(String[] args) {
        Random random = new Random();
        //随机生成一个整数 int范围
        System.out.println(random.nextInt());
        //生成 [0,n] 范围的整数  设n=100
        System.out.println(random.nextInt(100 + 1));
        //生成 [0,n) 范围的整数  设n=100
        System.out.println(random.nextInt(100));
        //生成 [m,n] 范围的整数  设n=100 m=40
        System.out.println((random.nextInt(100 - 40 + 1) + 40));
        //随机生成一个整数 long范围
        System.out.print(random.nextLong());
        //生成[0,1.0)范围的float型小数
        System.out.println(random.nextFloat());
        //生成[0,1.0)范围的double型小数
        System.out.println(random.nextDouble());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值