JAVA常用类库


常用的String类,Date类,DateFormat类,Candendar类,System类;

String类

String类表示字符串;Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。String对象是不可变的,它们可以被共享。

String创建对象的方式

(1)使用构造方法创建对象;
(2)使用""创建对象;

String对象的特点:
(1)使用new关键字创建的String对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同;

(2)以"“方式给出的字符串,只要字符序列相同,无论代码中出现几次,JVM都只会建立一个Strng对象,并在字符串池中维护;
字符串常量池:当使用双引号创建字符串对象的时候,系统会检查字符串是否在字符串常量池中存在:
不存在,就创建;
存在,不会重新创建,而是直接复用;
String s1 = “abc”;
String s2 = “ab”;
String s3 = s2 + “c”;
Systrm.out.println(s1 == s3);//false
解释:
当字符串之间使用+号串联的时候,系统底层会创建一个StringBulider对象,
然后再调用append()方法完成拼接;
拼接后,再调用其toString()方法转换成String类型;
String s1 = “abc”;
String s2 = “a” + “b” + “c”;
Systrm.out.println(s1 == s2);//true
解释:
java存在常量优化机制,在编译的时候,就会将"a”+ “b” + “c"拼接为"abc”;

字符串的比较:
使用==做比较:
基本类型:比较的是数据值是否相同;
引用类型:比较的是地址值是否相同;
字符串是对象,它比较内容是否相同,是通过一个方法来实现,这个方法叫:public boolean equals();

获取数组的长度:数组名.length;

获取字符串的长度: 使用public int length();
字符串对象.length();

获取字符串的指定索引处的值: 使用public int charAt(int index);
字符串对象.charAt(int index);
遍历字符串的通用格式:
for (int i = 0; i <s.length(); i++) {
s.charAt(i);
}
将字符串拆分为字符数组:public char[] toCharArray();
String scanner = new Scanner(System.in);
String s = scanner.nextLine();
char[] chars = s.toCharString();
for(int i = 0; i < chars.length; i++) {
chars[i];
}

统计字符次数:

手机号屏蔽案例-字符串截取:
需求:以字符串的形式从键盘接收一个手机号,将中间思维号码屏蔽;
思路:
1.键盘录入一个字符串,用Scanner实现;
2.截取字符串前三位;
调用String substring(int beginIndex, int endIndex);
String start = telString.substring(0, 3);
3.截取字符串后四位;
String substring(int beginIndex);
String end = telString.substring(7);
4.将截取后的两个字符串,中间加上进行拼接,输出结果;
sout(start + "
" + end);

Date类

Date

public Date();//创建一个日期对象,该对象表示当前系统的时间;

Date date = new Date();//创建对象
System.out.println(date);//打印date,重写了toString();

public Date(long time);/以指定的毫秒值创建一个Date对象,毫秒值代表距离标准时间的毫秒值;

Date date2 = new Date(1000);//这个日期对象date2,该对象距离标准时间(1970年1月1日0:0:0)1000毫秒

Date常用成员方法

public String toString();//将此 Date对象转换为 String的形式:
public long getTime();//返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒 数 。
注意:public Date()把毫秒值转换成了对象;public long getTime()把对象转换成了毫秒值;

Date date3 = new Date();//创建日期对象date3
date3.getTime();//date3调用成员方法getTime();

DateFormat类

DateFormat类是一个抽象类,不能直接创建对象;只能使用它的子类来创建对象(多态的方式创建对象);DateFormat的直接子类是SimpleDateFormat类(简单的日期格式化类).

SimpleDateFormat构造方法

public SimpleDateFormat(String pattern);//以指定的模式创建一个日期格式化对象;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");//创建日期格式化对象

SimpleDateFormat常用成员方法

public String format(Date d);//格式化一个日期对象,返回格式化后的一个字符串;

public static void demo1() {
	SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");//创建日期格式化对象
	Date date = new Date();//创建日期对象date
	String time = simpleDateFormat1.format(date);//格式化一个日期对象,返回一个字符串;
	System.out.println(time);
	}

public Date parse(String s);//解析一个字符串形式的日期,并返回一个Date对象;

public static void demo() {
	SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");//创建日期格式化对象
	Date date2 = simpleDateFormat2.parse("2020年10月8日8时42分30秒");//
	System.out.println(date2);
}

Calendar类

Calendar是日历类,该类将所有可能用到的时间信息封装成静态成员变量,方便获取;
Calendar类是抽象类,Calendar类在创建对象是并非直接通过new创建对象,而是通过静态方法创建对象,将语言敏感内容处理好,再返回子类对象.

Calnedar的静态方法获取子类对象

public static Calendar getInstance();//Calendar类作为静态方法的返回值,返回该子类的对象;

Calendar calendar = Calendar.getInstance();//通过Calendar的静态方法返回该子类的对象;

System.out.println(calendar);//重写了toString();

Calnedar类的成员方法

(1)public int get(int filed);//获取Calendar对象中的某一个字段/成员变量的值;

public static void getTimeDemo() {
	Calendar calendar1 = Calendar.getInstance();
	int year = calendar.get(Calendar.YEAR);//获取年份
	int month = calendar.get(Calendar.MONTH);//获取一年中的月份(0-11)
	int day = calendar.get(Calendar.DAY_OF_MONTH);//获取一个月中的天数
	int hour = calendar.get(Calendar.HOUR_OF_DAY);//一小时的分钟数
	int minute = calendar.get(Calendar.MINUTE);//一小时的分钟数
	int second = calendar.get(Calendar.SECOND);//一分内的秒数
	System.out.println("时间:" + year + "年" + month + "月" + day + "日" hour + ":" + minute + ":" + second);
}

(2)public void add(int filed, int amount);//给指定的对象的字段添加指定的值;

public static void addFiledDemo() {
	Calendar calendar = Calendar.getInstance();
	calendar.add(Calendar.YEAR, 1);//年份加了1;
	calendar.add(Calendar.Month, 2);//月份加了2;
	calendar.add(Calendar.DAY_OF_MONTH, 2);//天数加了2天
	...
}

(3)public void set(int filed,int value);//直接修改指定的对象的字段的值;

public void setFiledDemo() {
	Calendar calendar2 = Calendar.getInstance();
	calendar.set(Calendar.YEAR, 2018);//年份直接修改成了2018
	calendar.set(Calendar.MONTH, 3);
	calendar.set(Calendar.DAY_OF_MONTH, 12);
	System.out.println(calendar.set(Calendar.YEAR, 2018) + "年" + calendar.set(Calendar.MONTH, 3) + "月" + calendar.set(Calendar.DAY_OF_MONTH, 12) + "日");//输出的结果是2018年3月12日
}

(4)public Date getTime();//返回该Calendar对象对应的Date对象;

public static void getTimeDemo() {
	Calendar calendar3 = Calendar.getInstance();
	Date date3 = calendar3.getTime();
	System.out.println(date3);//输出系统当前时间
}

(5)getActualMaximum():获取某字段的最大值;

System类

System类代表程序所在系统;System类不能被实例化;因为构造方法私有化了.

System类的常用方法

public static void exit(int code);//退出JVM;参数用作状态码,根据惯例,非0的状态码表示异常终止;
调用System.exit()有效地等效于Runtime.getRuntime().exit(n);

for(int i = 0; i < 10; i++) {
	System.out.println(i);//输出了0就退出类
	System.exit(0);
}

public static long currentTimeMillis();//获取当前系统时间的毫秒数;

long time = System.currentTimeMillis();
System.out.println(time);//获取毫秒数

public static void gc();//运行java的垃圾回收器;

public static String getProoerty(String propertyName);获取某一个属性的值;

System.getProperty(java.version);//java运行时环境版本
System.getProperty(java.home);//java的安装目录
System.getProperty(java.class.path);//java类路径

Math类

Math类包含执行基本数学运算的方法
Math构造方法私有化了,不能被继承;
所有的方法都是静态方法;直接使用类名来调用这些方法.

Math类的常用方法

public static 返回值类型 abs();//返回值为(int,float,long,double)的绝对值;

int abs = Math.abs(-100);
System.out.println(abs);//100
double abs1 = Math.abs(-1200.7);
System.out.println(abs1);//1200.7
float abs2 = Math.abs(120.1f);
System.out.println(abs2);//120.1
long abs3 = Math.abs(1234L);
System.out.println(abs3);1234

public static 返回值类型 max(返回值类型 a, 返回值类型 b);//返回两个(int,long,float,double)值中的较大者

int max = Math.max(10, 12);
long max1 = Math.max(120L, 1211);
double max2 = Math.max(120.3, 189);
float max3 = Math.max(123.f, 156);
System.out.println(max);//12
System.out.println(max1);//1211
System.out.println(max2);//189.0
System.out.println(max3);//156.0

public static 返回值类型 min(返回值类型 a, 返回值类型 b);//返回两个值中的较小值;

int min= Math.min(10, 8);//8

public static double ceil(double a);
返回大于或者等于参数a的最小double值,等于一个数学整数;

double ceil = Math.ceil(12);
double ceil1 = Math.ceil(12.3);
double ceil2 = Math.ceil(-13);
double ceil3 = Math.ceil(-12.5);
System.out.println(ceil);//12.0
System.out.println(ceil1);//13.0
System.out.println(ceil2);//-13.0
System.out.println(ceil3);//-12.0

public static double random();//返回一个随机数,值的范围[0.0,1);

//获取伪随机数
double random = Math.random();//0.8

public static double floor(double a);
//返回小于或等于参数的最大(最接近正无穷大) double值,等于一个数学整数。

double floor = Math.floor(12);
double floor1 = Math.floor(13.8);
double floor2 = Math.floor(-12);
double floor3 = Math.floor(-13.8);
System.out.println(floor);//12.0
System.out.println(floor1);//13.0
System.out.println(floor2);//-12.0
System.out.println(floor3);//-14.0

public static long round(double a);//四舍五入

long round = Math.round(12.0);
        long round2 = Math.round(12.5);
        int round4 = Math.round(15);
        int round1 = Math.round(135);
        long round3 = Math.round(12.3);
        long round5 = Math.round(-12.3);
        long round6 = Math.round(12.9);

        System.out.println(round);//12
        System.out.println(round1);//135
        System.out.println(round2);//13
        System.out.println(round3);//12
        System.out.println(round4);//15
        System.out.println(round5);//-12
        System.out.println(round6);//-13

public static double pow(double a, double b);//求次幂

double pow = Math.pow(4, 2);//16.0

Arrays

Arrays:该类包含用操作数组的各种方法。

Arrays常用方法

static void toString();返回指定数组的内容的字符串表示形式。
static void sort();按照数字顺序排列指定的数组。
static int[] copyOf(int[] original, int newLength) //数组扩容

int[] array = {1,3,5,2,4,9,7,8};
Arrays.toString(array);
Arrays.aort(array);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值