Java学习日记-3 Character和字符串

时间:2022-09-20 16:47:06

(先说几个小问题 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. BP神经网络

    秋招刚结束,这俩月没事就学习下斯坦福大学公开课,想学习一下深度学习(这年头不会DL,都不敢说自己懂机器学习),目前学到了神经网络部分,学习起来有点吃力,把之前学的BP(back-progagation ...

  2. FIREDAC直连ORACLE数据库

    UniDac对Oracle的Direct连接,不需要套Oracle客户端dll,deploy时真的时 方便又快捷.FireDac连接Oracle,在没有Oracle Client的情况下,是可以连接上 ...

  3. js控制 点一下增加一个输入框,点一下增加一个输入框……

    <div> <div> 附件1:<input type="file" id="file1" name="file1&qu ...

  4. 一些使用Android设备调试功能的注意事项(挖职位)

    华为3C Activity切换动画过热. 当显示器是不是大图easy显现OOM(应用最大大于其他手机内容).因此,调试OOM不要当问题用这个手机,否则,很难发现问题. 小米3 不要调用系统的裁图功能. ...

  5. 自测-5 Shuffling Machine

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...

  6. qt关键字高亮

    qt的高亮显示主要是使用qsyntaxhighlighter类,由于qsyntaxhighlighter是抽象基类,所以需要继承并自己实现 //头文件 #ifndef MARKDOWN_HIGHLIG ...

  7. 接入天猫精灵auth2授权页面https发送ajax请求

    已存在一个应用A,采用的是http交互, 在接入天猫精灵时,要求请求类型是https,所以在应用服务前加了个nginx转发https请求.在绑定授权页面,会发送ajax请求验证用户名和密码,采用htt ...

  8. C语言----管道

    一.管道的概念 管道是一种队列类型的数据结构,它的数据从一端输入,另一端输出.管道最常见的应用是连接两个进程的输入输出,即把一个进程的输出编程另一个进程的输入.shell中存在专门的管道运算符&quo ...

  9. 【原】Dubbo 多版本号过渡

    之前发过一篇因为接口规范的问题导致其它端出现服务不可用的文章(http://www.cnblogs.com/zdd-java/p/8612763.html),然而最近在查阅了dubbo官方指南文档才知 ...

  10. cannot ignore cache if it is not cached &lbrack;ArcGIS Catalog 10&rsqb;

    由于我把缓存重命名,重启地图服务,再Caching中不再显示地图缓存了,我直接创建新的地图缓存,没想到出现了: 不知道怎么回事. 只好,把缓存 重新改名成原来的名字,然后,删除缓存,再建立缓存.