(先说几个小问题 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. java多态---ABC案列

    class A{ public void show(){ show2(); } public void show2(){ System.out.println("我"); } } ...

  2. mcrypt.h not found. Please reinstall libmcrypt

    在centos上对php5.6进行源码安装的时候, 出现了如题所示错误提示, 原因是由于centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 解决办法使用php ...

  3. 关于AuthorizeAttribute使用

    在开发中,假如你只对一个角色进行权限处理,你可以这么写 class ActionAuthAttribute : AuthorizeAttribute { private RoleType _roleT ...

  4. 5事件DOM零级事件跟DOM二级事件

    事件的行为传播,行为本身跟事件绑定没有关系:1.全新认识事件(某一个具体的行为)->行为本身:浏览器天生自带的一些行为操作->click,mouseover(mouseenter),mou ...

  5. Oracle11G 数据库 expdp、impdp使用示例

    expdp 备份数据库.expdp/impdp简单测试 操作系统层面创建目录 [root@Oracle11g ~]# mkdir -p /home/oracle/db_back/ 修改目录的所属用户. ...

  6. UITableView 的使用总结

    确定单元格的位置:首先要知道分区号,在知道行号. UITableView:API文档的总结:1.UITableView的父类是:UIScrollview,所以他是能滚动的,但是只能在竖直方向滚动.2. ...

  7. Mysql软删除

    所谓软删除(Soft Deleting),即在删除数据表中的数据时,并不直接将其从数据表中删除,而是将其标志为删除,即在每张表中设置一个删除字段(如:IsDeleted)等,默认情况下其值为0,及未删 ...

  8. C++ Primer 5th 第11章 关联容器

    练习11.1:描述map 和 vector 的不同. map是关联容器,vector是顺序容器,关联容器与值无关,vector则与值密切相关 练习11.2:分别给出最适合使用 list.vector. ...

  9. Python正则表达式+自创口诀

    重新学习了Python正则表达式,看了一些很好的学习博客,向大家推荐这个. 感谢作者@AstralWind 博客地址:http://www.cnblogs.com/huxi/archive/2010/ ...

  10. 纯js制作遮罩层对话框 -- g皓皓

    //本文支持js在线工具测试.转载请注明出处. <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> < ...