Java学习笔记 02

一、String类一般字符串

  • 声明字符串

>>String str

  • 创建字符串

>>String(char a[])方法用于将一个字符数组创建为String对象

>>String(char a[],int offset,int length)方法用于提取字符数组a中的一部分创建一个字符串对象,参数offset表示开始截取字符串的位置,length表示截取字符串的长度

>>String(char a[] value)方法可用于分配一个新的String对象,使其表示字符数组参数中所有对象连接的结果

  • 连接字符串

>>使用“+”运算符可以实现连接多个字符串的功能,也可以连接多个运算符并产生一个String对象

>>使用“+”运算符也可同其他基本数据类型进行连接,将其他数据类型转换为字符串

  • 获取字符串信息

>>使用String类的length()方法可获取声明的字符串对象的长度

  • 字符串查找

>>indexOf(String s)方法用于返回参数字符串s在指定字符串中首次出现的索引位置。当执行该方法时会从字符串开始位置搜索s的位置,如果没有检索到字符串s,该方法的返回值是-1

>>lastIndexOf(String str)方法用于返回指定字符串最后一次出现的索引位置,调用过程与indexOf()相同

  • 获取指定索引位置的字符

>>charAt(int index)方法可将指定索引位置的字符返回

  • 获取子字符串

>>substring(int beginIndex)方法用于获取从指定索引位置开始截取到该字符串结尾的子串

>>substring(int beginIndex,int endIndex)方法用于获取从指定位置开始截取至某一索引位置结束的子串

  • 去除空格

>>trim()方法返回字符串的副本,忽略前导空格和尾部空格

  • 字符串替换

>>replace(char oldChar,char newChar)方法可将指定的字符或字符串替换成新的字符或字符串,如果没有目标字符串,则返回原字符串

  • 判断字符串的开始与结尾

>>startsWith(String prefix)方法与endsWith(String suffix)方法用于判断字符串是否以指定的内容开始或结束,返回值都为boolean类型

  • 判断字符串是否相等

>>“==”用于比较两个字符串的地址是否相同,即使内容长度完全一致,两个字符串的地址也可能不同

>>equals(String otherstr)方法用于比较两个字符串的内容和长度,完全相同时返回true

>>equalsIgnoreCase(String otherstr)方法用于比较两个忽略大小写的字符串的内容和长度,完全相同时返回true

  • 按字典顺序比较两个字符串

>>compareTo(String otherstr)方法会按照字典顺序比较两个字符串。从两个字符串的第一位开始比较,如果两个字符串第一位的字符相同,则继续向后比较,直至出现不同的字符为止。若比较到最后一位都相同(即equals(object)方法返回值为true),则结果为0;若不同,该String对象位于参数字符串之前,则比较结果为一个负整数,反之则为一个正整数

  • 字母大小转换

>>toLowerCase()方法用于将字符串转换为小写

>>toUpperCase()方法用于将字符串转换为大写

  • 字符串分割

>>split(String sign)方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中

>>split(String sign,int limit)方法作用与上相同,但可以限定拆分次数

二、日期和时间字符串格式化

  • 日期格式化
常用的日期格式化转换符
转换符 说明 示例
%te 一个月中的某一天(1~31) 2
%tb 指定语言环境的月份简称 Feb(英文)、二月(中文)
%tB 指定语言环境的月份全程 February(英文)、二月(中文)
%tA 指定语言环境的星期几全称 Monday(英文)、星期一(中文)
%ta 指定语言环境的星期几简称 Mon(英文)、星期一(中文)
%tc 包括全部日期和时间信息 星期二 三月 25 13:37:22 CST 2008
%tY 4位年份 2008
%tj 一年中的第几天(001~366) 085
%tm 月份 03
%td 一个月中的第几天(01~31) 02
%ty 2位年份 08
  • 时间格式化
时间格式化转换符
转换符 说明 示例
%tH 2位数字的24时制的小时(00~23) 14
%tI 2位数字的12时制的小时(01~12) 05
%tk 2位数字的24时制的小时(0~23) 5
%tl 2位数字的12时制的小时(1~12) 10
%tM 2位数字的分钟(00~59) 05
%tS 2位数字的秒数(00~60) 12
%tL 3位数字的毫秒数(000~999) 920
%tN 9位数字的微妙数(000000000~999999999) 062000000
%tp 指定语言环境的上午或下午标记 下午(中文)、pm(英文)
%tz 相对于GMT RFC 82 格式的数字时区偏移量 +0800
%tZ 时区缩写形式的字符串 CST
%ts 1970-01-01 00:00:00 至现在经过的秒数 1206426646
%tQ 1970-01-01 00:00:00 至现在经过的毫秒数 1206412131231
  • 格式化常见的日期时间组合
常见的日期和时间组合的格式
转换符 说明 示例
%tF “年-月-日”格式(4位年份) 2008-03-25
%tD “月/日/年”格式(2位年份) 03/25/08
%tc 全部日期和时间信息 星期二 三月 25 15:20:00 CST 2008
%tr “时:分:秒 PM(AM)”格式(12时制) 03:22:06 下午
%tT “时:分:秒”格式(24时制) 15:23:50
%tR “时:分”格式(24时制) 15:25

三、常规类型格式化

常规转换符
转换符 说明 示例
%b、%B 结果被格式化为布尔类型 true
%h、%H 结果被格式化为散步码 A05A5198
%s、%S 结果被格式化为字符串类型 "abcd"
%c、%C 结果被格式化为字符类型 ‘a‘
%d 结果被格式化为十进制整数 40
%o 结果被格式化为八进制整数 11
%x、%X 结果被格式化为十六进制整数 4b1
%e 结果被格式化为用计算机科学计数法表示的十进制数 1.700000e+01
%a 结果被格式化为带有效位数和指数的十六进制浮点值 0X1.C000000000001P4
%n 结果为特于与平台的行分隔符  
%% 结果为字面值% %

四、正则表达式

>>正则表达式通常被用于判断语句是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符统称为正则表达式的元字符

正则表达式中的元字符
元字符 正则表达式中的写法 意义
. . 代表任意一个字符
\d \\d 代表0~9的任何一个数字
\D \\D 代表任何一个非数字字符
\s \\s 代表空白字符,如‘\t‘、‘\n‘
\S \\S 代表非空白字符
\w \\w 代表可用作标识符的字符,但不包括“$”
\W \\W 代表不可用作标识符的字符
\p{Lower} \\p{Lower} 代表小写字母a~z
\p{Upper} \\p{Upper} 代表大写字母A~Z
\p{ASCII} \\p{ASCII} ASCII字符
\P{Alpha} \\P{Alpha} 字母字符
\p{Digit} \\p{Digit} 十进制数字,即0~9
\p{Alnum} \\p{Alnum} 数字或字母字符
\p{Punct} \\p{Punct} 标点符号:!"#$%&‘()*+,-;:<=>[email protected][\]^_`{|}~
\p{Graph} \\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} \\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} \\p{Blank} 空格或制表符:[\t]
\p{Cntrl} \\p{Cntrl} 控制字符:[\x00-\x1F\x7F]

>>限定修饰符用于限定正则表达式中元字符出现的次数

限定修饰符
限定修饰符 意义 示例
? 0次或1次 A?
* 0次或多次 A*
+ 1次或多次 A+
{n} 正好出现n次 A{2}
{n,} 至少出现n次 A{3,}
{n,m} 出现n~m次 A{2,6}

>>使用matches(String regex)方法来进行正则表达式匹配

五、StringBuilder类

>String类创建的对象,其长度是固定的,内容不能被改变和编译,虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,在内存中创建新的字符串对象。为解决这个问题,系统引入了可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率

>>append(content)方法用于向字符串生成器中追加内容,可实现接受任何类型的数据

>>insert(int offset arg)方法用于向字符串生成器指定位置插入数据内容

>>delete(int start,int end)方法用于移除指定位置开始到某一位置结束的字符串

时间: 2024-07-29 11:33:32

Java学习笔记 02的相关文章

【8-20】java学习笔记02

others 初始化块在构造器前执行: 静态初始化块和实例变量显示初始化执行顺序为各自定义的位置: final类不能派生子类,final方法不可覆盖,final变量不可重新赋值: 判定值相等,String类已经重写了equals方法,其它类的equals方法需要重写才能实现值相等的判定: 单例类,只创建一个对象的类,用private修饰隐藏其构造函数,成员和函数用static修饰,public static修饰的方法,确保只产生一个对象: 不可变类:类一旦创建,其实例变量值不可变:field用f

Android自定义view学习笔记02

Android自定义view学习笔记02 本文代码来自于张鸿洋老师的博客之Android 自定义View (二) 进阶 学习笔记,对代码进行些许修改,并补充一些在coding过程中遇到的问题.学习的新东西. 相关代码 //CustomImageView.java package mmrx.com.myuserdefinedview.textview; import android.content.Context; import android.content.res.TypedArray; im

java学习笔记(五)枚举

原文出处:http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html 在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数据集",春夏秋冬四个数据元素组成了四季的"数据集". 在java中如何更好的使用这些"数据集"呢?因此枚举便派上了用场,以

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

【OpenGL 学习笔记02】宽点画线

我们要知道,有三种绘图操作是最基本的:清除窗口,绘制几何图形,绘制光栅化对象. 光栅化对象后面再解释. 1.清除窗口 比如我们可以同时清除颜色缓冲区和深度缓冲区 glClearColor (0.0, 0.0, 0.0, 0.0);//指定颜色缓冲区清除为黑色 glClearDepth(1.0);//指定深度缓冲区的清除值为1.0 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//指定要清除的缓冲区并清除 2.绘制几何图形 先要设置绘制颜色,

SWIFT学习笔记02

1.//下面的这些浮点字面量都等于十进制的12.1875: let decimalDouble = 12.1875 let exponentDouble = 1.21875e1 let hexadecimalDouble = 0xC.3p0//==12+3*(1/16) 2.//类型别名,用typealias关键字来定义类型别名 typealias AudioSample = UInt16 var maxAmplitudeFound = AudioSample.min 3.//元组 let ht

Blender学习笔记 | 02 | 操作

Shift 点击不同图层 同时显示多图层物件 z 切换 Solid / Wireframe 视图模式 点选物件后M 移动到图层选项 Ctrl + 鼠标左键拖动 自由全选物件 B 方形区域圈选物件 Tab Object / Edit Mode 切换 T 开 / 关 侧栏 Ctrl + Tab 编辑状态下切换编辑对象 E Extrude Region 推挤区域.以发现为轴线. X 删除物件菜单 Blender学习笔记 | 02 | 操作,布布扣,bubuko.com

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi