java基础知识详细整理(图文并茂深入浅出)

上传人:第*** 文档编号:60804911 上传时间:2018-11-18 格式:PDF 页数:21 大小:1.57MB
返回 下载 相关 举报
java基础知识详细整理(图文并茂深入浅出)_第1页
第1页 / 共21页
java基础知识详细整理(图文并茂深入浅出)_第2页
第2页 / 共21页
java基础知识详细整理(图文并茂深入浅出)_第3页
第3页 / 共21页
java基础知识详细整理(图文并茂深入浅出)_第4页
第4页 / 共21页
java基础知识详细整理(图文并茂深入浅出)_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《java基础知识详细整理(图文并茂深入浅出)》由会员分享,可在线阅读,更多相关《java基础知识详细整理(图文并茂深入浅出)(21页珍藏版)》请在金锄头文库上搜索。

1、 JSE第一部分第一部分 分享者分享者:张振羽:张振羽 2017.6.30 JSE 第一部分 张振羽 2017 1.1.什么是什么是 JDK APIJDK API (1) Application Programming Interface ,应用程序编程接口 (2) 是一些预先定义的函数,开发人员可提供直接调用的功能。 2 2. .JDKJDK 包结构包结构 便于维护,按照功能划分,不同功能的累划分在不同功能的包中,常用的 包如下表: 包 功能 java.lang 基础类,字符串,多线程,这个包不用 import java.util 集合、随机数、日历、时钟等 java.io 文件操作,输入输

2、出流 网络操作 java.math 数学运算 java.security 安全相关 java.sql 数据库访问 java.text 处理文字、信息的格式 3.3.字符串的基本操作字符串的基本操作 3.13.1 String String 及其及其 APIAPI int indexOf(String str) 在字符串中检索 str,返回其第一次出现的位置如果找不到返回-1 int indexOf(String str,int a) 返回字符串 str 中从下标为 a 开始寻找,第一次出现 str 的下标; str.length(); 用于返回字符串 str 的长度,返回类型是 int 类型

3、,空格也是一个字 符 str.lastIndexOf(String str); 返回字符串 str 中最后一次出现 string 的下标; str.subString(int start,int end) 取出 str 中从下标为 start 开始,到 end 结束的字符串,返回的是一 个字符串类型 str.subString(int start,int end); 取出 str 中从下标为 start 开始,到 end 结束的字符串,返回的是一 个字符串类型; str.subString(int start); 字符串 str 中从 start 一直截取到结尾 str.trim(); 去掉字

4、符串开始和结尾的空字符串 str.CharAt(int index); 用于返回在 str 字符串中,指定下标 index 处的字符,返回的类型是 char;可以用来判断回文; str.starsWith(String string) 判断字符串 str 中是否是以 string 开始的,返回的类型是 boolean 类型; str.endsWith(String string); 判断字符串 str 中是否是以 string 结束的,返回的类型是 boolean 类型 str.toUpperCase(); 将字符串 str 所有字母都转换为大写,返回的类型为 String 类型; str.t

5、oLowerCase(); 将字符串 str 所有字母都转换为小写,返回的类型为 String 类型; String.valueOf(int value); 将基本类型的 value 转换为字符串类型,不只是 int 类型,其他的也 可以,这是一个静态方法,因此调用时使用类名来调用; JSE 第一部分 张振羽 2017 3.3.1.11.1 StringString (1) String是不可变对象 (2) java.lang.String使用了 final 修饰,不能被继承。 (3)字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中 (4) 任何一个字符对应 2个字节的长度,1个字

6、节 = 8位二进制。 3.3.1.21.2 String s=new String (String s=new String (“abcabc”) ) (1) 众所周知,答案是:创建两个对象 (2) why? 举例子: 分析步骤: a) 栈中开辟一块空间存放引用 str1(地址信息); b) String池中有一块空间,存放 String常量“abc“; c) 引用 str1指向池中 String常量“abc“; d) str1所指代的地址即常量“abc“所在地址,输出为 true; 结论:创建了一个引用对象 str1 JSE 第一部分 张振羽 2017 分析步骤: 1) 栈中开辟一块空间存放

7、引用 str3; 2) 堆中开辟一块空间存放一个新建的 String 对象“abc“; 3) 引用 str3指向堆中的新建的 String对象“abc“; 4) str3 所指代的对象地址为堆中地址,而常量“abc“地址在池中,输出 false; 3.3.2 2 StringBuilderStringBuilder 常见常见 APIAPI builder.append(String string) 追加 builder.insert(int num,String string) 插入 builder.delete(int start,int end) 删除 builder.replace(in

8、t start,int end,String string); 替换 StringBuffer reverse(); 字符串反转 注意:含头不含尾 JSE 第一部分 张振羽 2017 3.3.2 2.1 .1 StringBuilerStringBuiler 特点特点 (a) JDK1.5 出现 StringBuiler (b) StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用 (c) 线程不安全 3.2.23.2.2 String String 、StringBuilerStringBuiler、StrngBufferStrngBuffer 三者区别三者区别 (a)

9、String长度不可变,StringBuiler 和 StringBuiler 长度可变 (b) 每一次对 String操作改变,都会创建新的对象,而后两个不生成新的对 象 (c) StringBuiler 和 StringBuiler创建必须通过关键字 new来创建,String可 以不用 new,可以直接赋值 (d) StringBuffer 线程安全,多线程操作时,使用 StringBuffer 安全。 StringBuilder 线程不安全,单线程操作时,使用 StringBuilder 效率高。 3.3.3 3 基本数据类型包装类基本数据类型包装类 byte 1 字节 Byte Sh

10、ort 2 字节 Short int 4 字节 Integer long 8 字节 Long float 4 字节 Float double 8 字节 Double char 2 字节 Character Boolean 1 字节 Boolean 注意:基本数据类型对象包装类都有 XXX parseXXX 方法,只有一个类型没 有 parse 方法:Character 。 4.4.正则正则 4.14.1 正则正则 (1) 正则本身也是字符串 (2) 用于匹配字符串中字符次序的“规则字符串“ (3) 很多编程语言,包括 Java 都支持了正则表达式 JSE 第一部分 张振羽 2017 4.4.2

11、 2 字符集字符集 abc 表示 a,b,c 中的任意一个字符 abc 表示除了 a,b,c 以外的任意字符 a-z 表示 a,b,c,z 中的任意一个字符 a-zA-Z0-9 表示 az,AZ,09 中的任意一个字符 a-z 将字符串中符合正则表达式的字符串替换为 str 4.44.4 经典的正则经典的正则案例案例 匹配电话号码 (0086|+86)?s?1d10 匹配图片格式 w+.(png|jpg|jpeg|gif) 检查一个字符串是否是 整数 数组类型 ints* 注意: 在使用 时候要注意, 在 Java 字符串中需要转意为 5.5.ObjectObject 5.1 5.1 toSt

12、ringtoString (a) 该方法 java 希望我们重写时返回一个字符串,这个字符串的原则为: 用一个字符串来描述当前对象. (c) 因为 Object 实现的 toString()方法不具备什么实际开发意义,所 以若我们需要在子类中使用该方法时通常我们会重写它 JSE 第一部分 张振羽 2017 举例子: (3)重写 toString (a)没有重写结果 (a)重写后结果 5.5.2 2 equalsequals Object 提供了比较两个对象是否相等方法 equals: 1. 默认的 equals 不能比较对象中数据是否相等建议子类重写这个方法! 2. 重写时候, 按照关键数据比

13、较两个对象是否相等 举例: 不重写 equals 方法: JSE 第一部分 张振羽 2017 3重写 equals 方法应遵循几个规则: (a) 任何对象与 null 比较都应返回 false (b) 两个对象不属于同一个类时应返回 false (c) 同一个对象 equals 比较应当恒等为 true 5.5.3 3 equalsequals 与与 = = 的区别的区别 (1) “=“是变量值比较, (2) 对于引用类型变量而言,该变量保存的是对象的地址 (3 两个变量的地址是否相等,换句话说就是看两个变量引用的是否为同 一 个对象 (2) equals 是内容比较 (4) 对于两个引用变量

14、而言,是比较两个变量所引用的对象内容是否相同 举例:没有 toString 的情况下输出 p 和 p1 JSE 第一部分 张振羽 2017 6.6.日期日期及常用及常用 APIAPI 6.16.1 DateDate 及常用及常用 APIAPI 6.2 6.2 SimpleDateFormatSimpleDateFormat 6.6.3 3 CalendaCalenda (1) Calendar 本身是抽象类,规定了操作时间的方法定义. (2) 常用实现类 GregorianCalendar,即:阳历立法 (3) Calendar 提供了一个静态方法 getInstance 来根据 (4) 获取

15、和设置时间分量 注意:老外的周日是中国的周一 JSE 第一部分 张振羽 2017 7 .7 .集合集合 7.17.1 什么是集合什么是集合 (1) java 提供了一种可以存数一组数据的数据结构. (2) 集合,用来存储一组元素,提供了相关操作元素的方法. JSE 第一部分 张振羽 2017 (3) Collection(接口)有两个常见的子接口: List:可重复集,且有序. 常用的有:ArrayList 和 LinkedList 实现类 Set:不可重复集,大部分实现类是无序的. 7.27.2 集合和数组的区别集合和数组的区别 (1) 数组是固定长度的;集合可变长度的。 (2) 数组可以存

16、储基本数据类型,也可以存储引用数据类型;集合只能存储引 用数据类型。 (3) 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据 类型。 7.7.3 3 ArrayListArrayList 和和 LinkedListLinkedList 的区别的区别 1.ArrayList 是实现了基于动态数组的数据结构,LinkedList 基于链表的数结 构。 2.对于随机访问 get 和 set,ArrayList 觉得优于 LinkedList,因 LinkedLis 要移动指针。 3.对于新增和删除操作 add 和 remove,LinedList 比较占优势,因 ArrayList 要移动数据。 问题:为什么问题:为什么 ArrayListArrayList 随机访问快,而随机访问快,而 LinkedListLinkedList

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号