Java学习日记16——Java基础类的学习认识

Java学习日记16——Java基础类的学习认识

java.lang:Java语言的核心库language,所以Java是自动导入java.lang.*这个库的
java.util:实用工具
java.io:标准输入、输出类库
java.awt / javax.swing:图形用户界面(GUI)的类库
java.net:网络功能的类库
java.sql:数据库访问的类库

类太多了,所以一般很多类只能去查看JDK API文档:Java8文档

Java.lang.object类:

 所有的类直接或间接的父类都是object类,所以其中值得注意的是(= =)和equals的区别,简单来说,(= =)是判断引用是否相等,equals则是判断内容(含义)是否相等。

		Integer one = new Integer(10);
		Integer two = new Integer(10);
		System.out.println (one == two );//false
		System.out.println (one.equals(two));//true

 在例子中one 和two的值都是10,但是两个确实两个内存位置,所以当使用= =判断时,两者指向的不是同一个内存区域,所以返回值时false,但是equals判断两个内容相等,则返回的是true。
 getClass()方法是final方法,所以不能被重载
 toString()方法用来返回对象的字符串表示,常用于显示以及字符串连接的加号,例如:

System.out.println(person);
"hello!"+person;

 finalize()方法用于对象的清除。

包装类:对基本类型的数据包装成引用类型的数据,写法都是首字母大写的。例如Integer,Double等等。前面也讲过了点击包装类查看原文。

字符串

字符串可以分为两大类,即String类和String Buffer、StringBuilder类。
String:创建之后不会再做修改
String Buffer:允许修改
String Builder:允许修改,这个是JDK1.5后才增加的,是非线程安全的,不考虑线程因素
如果在循环里面使用String +=可能会带来使用的效率问题。对于String类对象的进行+=操作时,首先会建立String Builder类,进行+=操作,调用了String Builder的append()方法,最后再使用toString()方法转为String。所以相较于直接使用String Builder效率较低。
String Buffer的构造方法是:
StringBuffer();
StringBuffer(int capacity); //容量
StringBuffer(String initialString); //直接给出字符串

可用的操作方法:

append();inset(); reverse();setCharAt(); setLength();

对于字符串的分割:

使用的是java.util.StringToken类中的方法,其构造方法如下:

StringTokenizer(String str,String delim);//字符串,分隔符

简单来讲就是这个方法携带两个参数,第一个是需要进行分割的字符串,第二个是进行分割的字符串断点。
该类中还还有的重要方法有:

public int countTokens();//分割的字符串的数量
public boolean hasMoreTokens();//是否还有分割串
public String nextToken();//得到下一个分割串

给出一个例子:

		String a = "hello! I am is 张三";
		StringTokenizer s = new StringTokenizer(a,"!");
		while(s.hasMoreTokens()) {
			System.out.println(s.nextToken());
		}

程序的执行结果如下:

hello
 I am is 张三
在JDK1.5以后,增加了format函数,格式如下:
%1$,8.5f //%序号$标识,宽度及精度 转换方式

在Java中,同样的字符串是合并在一起的,即是使用相同的引用,用以确保“abc”= =“abc”。如果需要两个内存,那么需要重新new一个相同的字符串。

"abc" == "abc";
"abc" != new String ("abc");

这一点也就说明了,如果要判断两个字符串是否相等,最好是使用equals()方法。

日期类

日期类
日期类之间的关系如上图所示。里面包含的具体方法和意义都可以查询Java手册进行查看。在Java8中使用的是java.time.和java.time.format.。主要的类包括
Instant:时刻 Clock:时区 Duration:时间段
常用的类LocalDataTime, LocalData,LocalTime,DataTimeFormatter。

如果你对Java有兴趣,可以了解一下前面几期的基础知识!下面附上链接:

Java编程基础认知:Java学习日记1——基础认知
Java面向对象编程认识:Java学习日记2——面向对象编程认知
Java程序的基本结构认识:Java学习日记3——程序类型与构成认知
Java的输入输出方法总结:Java学习日记4——Java输入输出方法总结
Java的数据类型、变量、常量、运算符:Java学习日记5——数据类型、变量、常量、运算符、数组
Java学习日记6——类、字段、方法、this的使用:Java学习日记6——类、字段、方法、this的使用
Java学习日记7——类的继承、super使用规则:Java学习日记7——类的继承、super使用规则
Java学习日记8——修饰符:Java学习日记8——public、static、private、final、abstract、protected
Java学习日记9——接口(长文预警):Java学习日记9——接口(长文预警)
Java学习日记10——Java中的变量及其传递:Java学习日记10——Java中的变量及其传递
Java学习日记11——多态和虚方法调用:Java学习日记11——多态和虚方法调用
Java学习日记12——构造方法及其初始化、构造方法的执行过程——Java学习日记12——构造方法及其初始化、构造方法的执行过程
Java学习日记13——内部类和匿名类、以及垃圾回收机制——Java学习日记13——内部类和匿名类、以及垃圾回收机制
Java学习日记14——Lambda表达式以及一些高级语法——Java学习日记14——Lambda表达式以及一些高级语法
Java学习日记15——异常处理、断言、调试——Java学习日记15——异常处理、断言、调试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值