java视频笔记--------String

String的相关知识点:

1.String 的构造方法:

String()  创建一个空内容 的字符串对象。

String(byte[] bytes)  使用一个字节数组构建一个字符串对象

String(byte[] bytes, int offset, int length)

bytes :  要解码的数组

offset: 指定从数组中那个索引值开始解码。

length: 要解码多个元素。

String(char[] value)  使用一个字符数组构建一个字符串。

String(char[] value, int offset, int count)  使用一个字符数组构建一个字符串, 指定开始的索引值,与使用字符个数。

String(int[] codePoints,int offset,int count)

String(String original)

记住: 使用字节数组或者字符数组都可以构建一个字符串对象。

2.获取方法

int length()  获取字符串的长度

char charAt(int index) 获取特定位置的字符 (角标越界)

int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。

int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示

3判断方法

boolean endsWith(String str) 是否以指定字符结束

boolean isEmpty()是否长度为0 如:“” null V1.6

boolean contains(CharSequences) 是否包含指定序列 应用:搜索

boolean equals(Object anObject) 是否相等

boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等

4转换方法  

char[] toCharArray()  将字符串转换为字符数组

byte[] getBytes();

字节数组与字符数组、字符串他们三者之间是可以互相转换。

5. 其他方法

String replace(String oldChar, String newChar) 替换

String[] split(String regex) 切割

String substring(int beginIndex)   指定开始 的索引值截取子串

String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串

String toUpperCase() 转大写

String toLowerCase() 转小写

String trim() 去除字符串首尾的空格

6.字符串特点:

①字符串是常量;它们的值在创建之后不能更改.

② 字符串的内容一旦发生了变化,那么马上会创建一个新 的对象。

注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。

如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

③StringBuffer 其实就是一个存储字符 的容器。

如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

StringBuffer的相关知识点

1.  .StringBuffer 其实就是一个存储字符 的容器。

①笔试题目:使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?

StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16, 如果字符数组的长度不够使用时,自动增长1倍。

StringBuffer 是一个存储字符的容器

②容器的具备 的行为

String

增加

append(boolean b)    可以添加任意类型 的数据到容器中

insert(int offset, boolean b)  指定插入的索引值,插入对应 的内容。

删除

delete(int start, int end)  根据指定的开始与结束的索引值删除对应的内容。

deleteCharAt(int index)   根据指定 的索引值删除一个字符。

修改

replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。

reverse()   翻转字符串缓冲类的内容。  abc--->cba

setCharAt(int index, char ch)  把指定索引值的字符替换指定的字符。

substring(int start, int end)  根据指定的索引值截取子串。

ensureCapacity(int minimumCapacity)  指定StringBuffer内部的字符数组长度的。

查看

indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。

lastIndexOf(String str)

capacity() 查看当前字符数组的长度。

length()

charAt(int index)

toString()   把字符串缓冲类的内容转成字符串返回。

StringBuffer 与 StringBuilder的相同处与不同处:

相同点:

1. 两个类都是字符串缓冲类。

2. 两个类的方法都是一致的。

不同点:

1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。

2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。

推荐使用: StringBuilder,因为操作效率高。

Sytem类的相关知识点:

System  系统类 主要用于获取系统的属性数据。

1.System类常用的方法:

arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 一般

src - 源数组。

srcPos - 源数组中的起始位置。

dest - 目标数组。

destPos - 目标数据中的起始位置。

length - 要复制的数组元素的数量。

currentTimeMillis()  获取当前系统系统。       重点

exit(int status)  退出jvm  如果参数是0表示正常退出jvm,非0表示异常退出jvm。    一般

gc()    建议jvm赶快启动垃圾回收期回收垃圾。

getenv(String name) 根据环境变量的名字获取环境变量。

getProperty(key)

finalize()  如果一个对象被垃圾回收 器回收的时候,会先调用对象的finalize()方法。

时间: 2024-10-18 04:38:22

java视频笔记--------String的相关文章

Java基础笔记-String类

String 类(被final修饰) 字符串是一种特殊的对象,一旦字符串被初始化就不可以被改变了.(内容不变) 例如: String  s = “abc”; String  s1 = new String(“abc”); s在内存中有一个对象, s代表的是一个类类型变量,”abc”是一个对象. s1在内存中有两个对象,分别是new出来的和:  “abc” . s == s1;的结果是false.   因为s和s1它们所对应的地址不同,比较的两个地址,s和s1中存储的地址数值是不同的.因此是fal

java学习笔记——String类

一.概述 ·字符串是一个特殊的对象 ·字符串一旦初始化就不可以被改变 ·String str = "abc"; ·String str1 = new String("abc"); 有什么区别? package com.java.study.StringDemo; public class StringDemo { public static void main(String[] args) { String s1 = "abc"; //s1是一个

Java学习笔记--String StringBuffer StringBuilder

String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String str0 = "最正常的创建方法"; System.out.println(str0); char[] c1 = new char[3]; c1[0] = 'c'; c1[1]

java学习笔记-String源码分析(2)

承接上篇文章关于String源码的分析,我们继续总结String中的方法 方法汇总 4.subString方法 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) subString()有2个重载版本,beginIndex指定开始索引(包括),endIndex指定结束索引(不包括).两个方法实现类似,我们关注一个即可. public String substri

[Java视频笔记]day23

网络编程 网络模型:OSI参考模型,TCP/IP参考模型 网络通讯要素:IP地址,端口号,传输协议 IP地址(对应对象 InetAddress) 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1主机名:localhost import java.net.*; class day23 { public static void main(String[] args) throws Exception { InetAddress i = InetAddress.getLocal

[Java视频笔记]day16

集合Map: 该集合存储键值对,一对一对往里存,而且要保证键的唯一性. 1.添加 put(Kkey, V value) putAll(Map<?extends K,? extends V> m) 2.删除 clear() remove(Object key) 3.判断 containsValue(Object value) containsKey(Object key) isEmpty() 4.获取 get(Objectkey) size() values() entrySet()  返回此映

[Java视频笔记]day14

为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的,集合长度是可变的.数组中可以存储基本对象类型,集合只能存储对象,对象可以不同. 1. add方法的参数类型是Object,以便于接收任意类型对象. 2. 集合中存储的都是对象的引用(地址) 什么是迭代器呢? 其实就是集合的取出元素的方式. 共性方法代码: import java.

[Java视频笔记]day19

字符流的缓冲区 1. 缓冲区的出现提高了对数据的读写效率. 2. 对应类 BufferedWriter BufferedReader 3. 缓冲区要结合流才可以使用 4. 在流的基础上对流的功能进行了增强 缓冲区的出现是为了提高流的操作效率而出现的.所以在创建缓冲区之前,必须要先有流对象. 该缓冲区中提供了一个跨平台的换行符,newLine()方法. BufferedWriter import java.io.*; class day19 { public static void main(St

一名测试初学者听JAVA视频笔记(一)

搭建pho开发环境与框架图 韩顺平 第一章: No1  关于文件以及文件夹的管理 将生成的文本文档做成详细信息的形式,显示文件修改时间以及文件大小,便于文件查看和管理,也是对于一名IT人士高效能工作的专业素养要求.如下图所示: 为了方便Java文件能够及时正确的找到,需要对电脑进行环境配置,要注意一下四个问题: 1.在硬盘中对所有文件夹进行管理,全部设置.点击,工具 > 查看 2.勾选显示文件及所有文件夹 3.去掉隐藏已知文件拓展名,防止出现类如 xxx .java.java 4.显示文件的完全