一 字符串

  Java字符串关键字是String,是一个类,创建新的字符串即创建一个新的对象。

1.字符串的声明及初始化。

  String str;       //只做声明

  String str1="aaaa";  //声明并赋值,注意此时是在字符串常量池中创建对象,并将对象的内存地址赋值给str1

  String str2=new String("aaaa");  //aaaa已在常量池中存在,将常量池中的字符串赋值给新的对象

  String str3=new String();

  str3="bb";            //在常量池中创建新的字符串"bb",并将其赋值给str3

  注意:1.对于java程序中的字符串直接常量,JVM会使用一个字符串缓存池来保存它们。当第一次使用某个字符串直接常量时,JVM会将它放入字符串池中进行缓存。

     2.使用new操作创建的字符串对象不指向字符串池中的对象。

2.字符串类String是Object下的直接子类,并且是final的,意味着不可继承。

3.字符串构造方法有很多,常用的有无参的和传一个字符串的构造方法,另外也有传一个字符型数组,byte型数组等等的构造方法。

3.常用方法。

    charAt(int index),返回索引下标位子的字符。(字符串底层是一个char类型的数组,下表从0开始)

    compareTo(String anotherString),返回比较的长度之差。

    concat(String str),连接一个字符串,并将连接后的新串返回,不改变原来的字符串。

    contains(CharSequence s),判断字符串中是否含有某一个字符,返回true或false。

    copyValueOf(char[] data),是一个静态的方法,将一个字符数组转化为一个字符串返回回来。

    endsWith(String suffix),判断是否以某字符串结尾。

    equals(Object anObject),判断两个字符串是否相等,区分大小写,为真返回true。

    equalsIgnoreCase(String anotherString),判断两个字符串是否相等,忽略大小写,为真返回true。

    hashCode(),返回字符串的哈希码,对两个同值的字符串来说,hash码都是一样的,用equals方法比较时返回是true

    indexOf(String str) ,返回某个子串在字符串中第一次出现的位子。

    intern(),返回该字符串在字符串缓存池中相同值的对象,若没有回创建一个再返回。

    isEmpty(),判断是否为空,是返回true。

    lastIndexOf(String str),返回某个子串在该字符串中最后出现的位子。

    length(),返回该字符串的长度。

    replace(char oldChar, char newChar),替换字符串中的字符,并返回一个新串,不会对原来的字符串进行改变。

    replaceAll(String regex, String replacement),替换字符串中的字符串,并返回一个新串,不会对原来的字符串进行改变。

    split(String regex),按某字符串为界限左右拆分,分为多个子串后返回一个字符串数组 String[]。

    startsWith(String prefix),判断是否以某个子串开头。

    substring(int beginIndex, int endIndex),截取子串。

    toCharArray(),将该字符串作为一个字符型数组返回。

    toLowerCase(),将字符串中的字母变成小写输出。

    toUpperCase(),将字符串中的字母变成大写输出。

    trim(),去掉前后空格后返回,不会对原来的字符串进行改变。

    valueOf(),是一个静态的方法,将其他类型转化为字符串类型,有多个重载的方法,参数可以是基本数据类型,字符串数组以及对象类型。

    

    

    

    

java基础4_字符串的更多相关文章

  1. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  2. 再回首,Java温故知新(八):Java基础之字符串

    字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...

  3. JAVA基础之字符串和面向对象

    * [String 类] * 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入. * * 2.拿到一个字符串对象: * ①字面量声明:St ...

  4. Java基础 -- 连接字符串时,使用+还是StringBuilder

    结论 1-源代码中使用的+连接,实际上都使用的是StringBuilder. 2-用jad工具反编译,好处之一就是可以同时生成字节码和源代码.这样可以进行对照研究. ----------------- ...

  5. java基础知识—字符串

    1.声明字符串的方法: String s ="你好" String s=new String("你好"); 2.字符串的长度: 字符串.length(); 3. ...

  6. Java基础篇--字符串处理(StringBuffer)

    字符串处理 在Java中最常将字符串作为String类型对象来处理.同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串. String ...

  7. JAVA基础补漏--字符串

    字符串常量池 String a="abc"; String b="abc"; char[] str = {"a","b" ...

  8. Java基础中字符串与字符的注意点!

    在Java中,字符的表达与字符串的表达是不一样的!话不多说,直接上代码!!! String  a="a"; char a='a'; 其中他们的引号是不一样的

  9. java基础之字符串

    以下内容摘自<java编程思想>第十三章. 1. 不可变 String String 对象是不可变对象,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全 ...

随机推荐

  1. Observer(观察者)-对象行为型模式

    1.意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 2.别名 依赖(Depenents),发布-订阅(Publish-subscribe ...

  2. System.load(PWConnector.dll)加载异常 Can't find dependent libraries

    System.load(PWConnector.dll)加载异常 Can't find dependent libraries 错误信息:D:\PWAdapter\PWConnector.dll: C ...

  3. html只给自己

    //另外一个 height:400px; weight:400px; border-top-left-radius: 10px; border-top-right-radius: 10px; bord ...

  4. 【译】RabbitMQ:发布-订阅(Publish/Subscribe)

    在前一篇教程中,我们创建了一个工作队列,我们假设在工作队列后的每一个任务都只被调度给一个消费者.在这一部分,我们将做一些完全不一样的事情,调度同一条消息给多个消费者,也就是有名的“发布-订阅”模式.为 ...

  5. 给div设置background-color: rgba(0, 0, 0, 0.2)属性,并加了css3动画--opacity动画淡出动画,之后div子元素的字体会抖一下

    问题:给div设置background-color: rgba(0, 0, 0, 0.2)属性,并加了css3动画--opacity动画淡出动画,之后div子元素的字体会抖一下: 解决:animati ...

  6. JavaScript 对象的创建和对6种继承模式的理解和遐想

      JS中总共有六种继承模式,包括原型链.借用构造函数.组合继承.原型式继承寄生式继承和寄生组合式继承.为了便于理解记忆,我遐想了一个过程,对6中模式进行了简单的阐述. 很长的一个故事,姑且起个名字叫 ...

  7. python学习笔记(一):作图

    1.需要导入的包 import seaborn as sns import numpy as np from numpy.random import randn import matplotlib a ...

  8. 记录第一次搭建svn服务器

    搭建svn服务器需要另外的软件, 在此以32位的为例: 安装过程非常简单, 一直下一步下一步确定就好了, svn安装完毕再安装中文语言包, 安装完成后可以在设置里面找到中文简体选择就OK了 主要记录一 ...

  9. django TEMPLATES

    ?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dic ...

  10. .NET entityframework for mysql ,datetime字段存储值时有误差

    昨天Tester发现数据有问题,大部分时间“datetime类型”都多了一秒,很少一部分数据的时间能完全对上(年月日时分秒),因为缺少关键日志,就各种排查,最后发现在调用Savechange方法前一刻 ...