Java学习日记-3 Character和字符串
(先说几个小问题 1.在main方法中调用主类的其他方法时,必须先生成主类的对象 2.String s = new String("Hello") 生成了两个对象 3.熟用布尔+for+if的组合)
一、Character类
1.构造函数 public Character(char)
2.常用方法
public int compareTo(Character) 等于返回0,小于参数则返回小于0的值,大于参数则返回大于0的值。
public boolean equals(Object obj) 判断两个对象是否值相等
public char charValue() 返回Character对象的字符值
public static boolean isUpperCase(char) 判断是否大写
public static String toString(char c) 返回长度为1的字符串
二、字符串
String类为字符串常量,StringBuffer类为字符串变量。Java将所有字符串作为对象处理。
2.1 字符串常量和String类
2.1.1构造函数
public String()
public String(String str)
public String(char value[])
public String(StringBuffer buffer)
2.1.2 String类常用方法
(1)字符串的连接 public String concat(String str)
(2)求字符串长度 public int length()
(3)求字符串某一位置的字符 public char charAt(int index)
(4)字符串的比较
1)public int compareTo(String anotherString)
两个字符串中相同位置上的字符按Unicode中排列顺序逐个比较。
如果一个字符串是另一个的子串(从首字符起),则返回两者的字符数差;否则返回首个不匹配字符的unicode值的差。
2)public boolean equals(Object obj) 重载Object类的方法
3)public boolean equalsIgnoreCase (String anotherString)
(5)提取子串
1)public String substring(int beginIndex)
2) public String substring(int beginIndex,int endIndex)
(6)判断字符串的前缀和后缀
1)public boolean startsWith(String prefix)
判断当前字符串前缀是否和prefix一致
2)public boolean startsWith(String prefix,int toffset)
判断从toffset开始当前字符串是否匹配prefix
3)public boolean endsWith(String suffix)
判断后缀是否匹配
(7)字符串中单个字符的查找
1)public int indexOf(int ch) ch为unicode值,也可以用 char ch
2)public int indexOf(int ch,int fromIndex) fromIndex为搜索起点
3)public int lastIndexOf(int ch) //从后往前找,返回找到的第一个位置的索引
4)public int lastIndexOf(int ch,int fromIndex) //从fromIndex开始往前找
(8)查找子串
public int indexOf(String str)
public int indexOf(String str,int fromIndex)
public int lastIndexOf(String str)
public int lastIndexOf(String str,int fromIndex)
(查找失败返回-1)
(9)字符串中字符大小写转换
public String toLowerCase()
public String toUpperCase()
(10)去除头尾的空格(String 是常量,这里返回的是另一个字符串,原字符串不变)
public String trim()
(11)字符替换
public String replace(char oldChar,char newChar)
public String replaceFirst(String regex,String replacement) 用replacement的内容替换当前字符串中遇到的第一个与regex相一致的子串
public String replaceAll(String regex,char replacement) 替换所有
(12)字符串与基本数据类型间的转换
1)其他->String
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(char[] data)
static String valueOf(double d)
static String valueOf(float f)
static String valueOf(int i)
但是实际中有更简便的方法,比如 String num = "" + int
2)String->int
int i = Integer.parseInt(String);
System.out.println("1"+2+3+4); //输出1234
System.out.println(4+3+2+"1"); //输出91
2.2 关于字符串和常量池
当程序第一次使用某个字符串直接量时,Java会使用常量池(constant pool)来缓存该字符串直接量,如果程序后面的部分需要用到该字符串直接量时,Java会直接使用常量池中的字符串直接量。
常量池:指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括关于类、方法、接口中的常量,也包括字符串直接量。
Java学习日记-3 Character和字符串的更多相关文章
- Java学习总结:飘逸的字符串
Java学习:飘逸的字符串 前言 相信不管我们运用Java语言来开发项目还是进行数据分析处理,都要运用到和字符串相关的处理方法.这个社会处处有着和字符串相关的影子:日志.文档.书籍等.既然我们离不开字 ...
- Java学习2_一些基础2_字符串_16.5.5
接上一次的博客. 不可变字符串: Java中String类没有提供用于修改字符串的方法.如果想将greeting中的“Hello”改为“Help!”需要先提取所需要的的字符,然后再拼接.即 greet ...
- Java学习日记-2 零零碎碎
一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...
- Java学习日记——基础篇(二)基本语法
变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...
- Java学习日记之 Java-其他类型
OK , 就绪, 第一篇博客开撸 ~ 先听了毕姥爷激情澎湃的其他类型 ,从这里开始入手吧 : (一)System类 System类代表系统类,系统的属性和方法都放在该类.System类是一个fina ...
- Java学习日记之 Java-IO流
Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节: 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...
- java学习笔记(三)字符串
字符串String 创建方法: 一·通过new创建 String str1= new String("abc"); 二 直接创建 String str2="abc ...
- Java学习日记——基本数据类型
基本数据类型: byte 1个字节 正负都能表示2的8-1次方 -128~127(包括0) short 2个字节 2的16-1次 整数类型 (默认为int类型) int 4个字节 2的32-1次方 l ...
- java学习之—使用栈实现字符串数字四则运算
/** * 使用栈存储后缀表达式 * Create by Administrator * 2018/6/13 0013 * 下午 2:25 **/ public class StackX { priv ...
随机推荐
- 【分享】w32service table XPsp2
Ord Address fnAddr Symbols-------------------------------- [ 0] BF999280: BF93569A (win32k!Nt ...
- webpack 配置 (支持 React SCSS ES6 编译打包 和 模块热更新 / 生成SourceMap)
1.首先是目录结构 |-node_modules/ #包文件 |-build/ #静态资源生成目录 |-src/ #开发目录 |-js/ |-index.js #入口文件 |-app.js #Reac ...
- WEB前端开发规范文档(转)
http://codeguide.bootcss.com/ 编写灵活.稳定.高质量的 HTML 和 CSS 代码的规范上面的文档 再结合下面的规范: 无论是从技术角度还是开发视角,对于web前端开发 ...
- ASP.NET MVC 几种 Filter 的执行过程源码解析
一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多 人觉得平时根本不需要知道这些,会用就行了.其实阅读 ...
- Python sys.path.append
python sys.path.append 对于模块和自己写的程序不在同一个目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中. 在程序开头加上: import syss ...
- 局部线性嵌入(LLE)原理总结
局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法.和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由 ...
- tomcat中有关配置文件的说明
在以往的tomcat使用中本人一直都没有注意到tomcat的conf目录下配置文件的作用,都是"拿来主义"的思想,从未深究.但是最近遇到很多有关tomcat配置的问题,很是头大,所 ...
- cas配置全攻略(转)
转:http://www.blogjava.net/tufanshu/archive/2011/01/21/343290.html 经过将近两天的测试,参考众多网友的贡献,终于完成了对cas的主要配置 ...
- java中的浮点计算
记得很久以前编写测试用例,无意间发现 double c=2.31;double d=0.1; System.out.println(c/d); 最后输出的竟然是23.099999999999998,而 ...
- javascript 常用array类型方法
concat:基于当前数组中的所有项创建一个新数据,会创建当前数组一个副本,然后将接受到的参数放到数组末尾,最后返回新数组.如果没有参数,则复制当前数组并返回副本. slice:基于当前数组中一个或多 ...