(先说几个小问题 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和字符串的更多相关文章

  1. Java学习总结:飘逸的字符串

    Java学习:飘逸的字符串 前言 相信不管我们运用Java语言来开发项目还是进行数据分析处理,都要运用到和字符串相关的处理方法.这个社会处处有着和字符串相关的影子:日志.文档.书籍等.既然我们离不开字 ...

  2. Java学习2_一些基础2_字符串_16.5.5

    接上一次的博客. 不可变字符串: Java中String类没有提供用于修改字符串的方法.如果想将greeting中的“Hello”改为“Help!”需要先提取所需要的的字符,然后再拼接.即 greet ...

  3. Java学习日记-2 零零碎碎

    一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...

  4. Java学习日记——基础篇(二)基本语法

    变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...

  5. Java学习日记之 Java-其他类型

    OK , 就绪, 第一篇博客开撸 ~ 先听了毕姥爷激情澎湃的其他类型 ,从这里开始入手吧 : (一)System类  System类代表系统类,系统的属性和方法都放在该类.System类是一个fina ...

  6. Java学习日记之 Java-IO流

    Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节:  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...

  7. java学习笔记(三)字符串

    字符串String 创建方法: 一·通过new创建  String  str1= new String("abc"); 二 直接创建   String str2="abc ...

  8. Java学习日记——基本数据类型

    基本数据类型: byte 1个字节 正负都能表示2的8-1次方 -128~127(包括0) short 2个字节 2的16-1次 整数类型 (默认为int类型) int 4个字节 2的32-1次方 l ...

  9. java学习之—使用栈实现字符串数字四则运算

    /** * 使用栈存储后缀表达式 * Create by Administrator * 2018/6/13 0013 * 下午 2:25 **/ public class StackX { priv ...

随机推荐

  1. c++回调编程本质

    1. boost:bind获得一个函数对象,就像函数指针一样,这个行为可以作为回调 2. bosot:bind的函数对象可以保存别的对象的引用,回调对象的成员函数 3. boost:function是 ...

  2. 通过GitHub Pages建立个人站点(详细步骤)

    1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll ...

  3. 10 条提升 Android 性能的建议

    About the Speaker: Boris Farber 每个人都知道一个 App 的成功,更这个 App 的性能体验有着很密切的关系.但是如何让你的 App 拥有极致性能体验呢?在 Droid ...

  4. Android 用MediaCodec实现视频硬解码

    http://blog.csdn.net/halleyzhang3/article/details/11473961 http://www.360doc.com/content/14/0119/10/ ...

  5. HDU5301

    题意:给n*m的矩形区域,剔除其中1*1的方块,然后用不同矩形块填充整个矩形区域,求需要的矩形块最大面积的最小值. 思路:先判把矩形矫正,然后特殊处理边值为奇数,且在中心点的情况,最后处理障碍在其他位 ...

  6. 使用OpenFileDialog实现图片上传

    demo效果图:

  7. POJ3320 Jessica's Reading Problem(尺取+map+set)

    POJ3320 Jessica's Reading Problem set用来统计所有不重复的知识点的数,map用来维护区间[s,t]上每个知识点出现的次数,此题很好的体现了map的灵活应用 #inc ...

  8. Asp.net的IP地址屏蔽功能设计

    "IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开." 由此我们了解到,IP地址实际上是一个32位正整数,在C#中可以使 ...

  9. AutoIt3初探(1)

    AutoIt3可实现系统操作,键盘鼠标模拟,是自动化测试的一个好工具. 这个是在线帮助文档,http://www.jb51.net/shouce/autoit/ 需要先下载一个autoIt安装,然后将 ...

  10. javascript-Cookie的应用

    在我平时开发网页的过程中,可能涉及到浏览器本地的存储,现在主流的浏览器存储方式有:cookie,直接读取xml,userData,H5 的LocalStorage等,Cookie存储数据有限,但对于数 ...