String类:

String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。String类对象创建后不能修改,StringBuffer & StringBuilder 类。这时我们会问,给String变量赋值不就是改变了吗?其实不是的,赋值后将会生成新的对像来存放新的内容,原先的对象依旧在内存中,但是s不在指向它,此时这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收。

String字符串变量的创建:

声明:     String 变量名;

  1.  String str;

声明并初始化:  String 变量名="初始值";

  1. String str = "挨点博客";

String常用方法:

1、int length();  语法:字符串变量名.length();  返回值为 int 类型。得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)

  1. String a="挨点aidian \t\n";
  2. int l = a.length();
  3. System.out.println(l);
  4. 运行结果:11

2、char charAt(值);  语法 :字符串名.charAt(值);  返回值为 char 类型。从字符串中取出指定位置的字符

  1.      String str="张三疯";
  2. char c = str.charAt(2);
  3. System.out.println("指定字符为:" + c);
  4. 运行结果:指定字符为:疯

3、char  toCharArray();  语法 :字符串名.toCharArray();  返回值为 char 数组类型。将字符串变成一个字符数组

  1. String str="张三疯"
  2. char c[] = str.toCharArray(); 
  3. for (int i = 0; i < c.length; i++)
  4. System.out.println("转为数组输出:" + c[i]);
  5.       运行结果:
  6. 转为数组输出:张
  7. 转为数组输出:三
  8. 转为数组输出:疯

4、int indexOf("字符")  语法 :字符串名.indexOf("字符");字符串名.indexOf("字符",值);查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1 。

in lastIndexOf("字符") 得到指定内容最后一次出现的下标

  1. String str="只为挨你近一点";
  2. int a1 = str.indexOf("你");// 查找字符你的位置 
  3. int a2 = str.indexOf("为", 2);// 查找为的位置,从第3个开始查找
  4. int a3 = str.lastIndexOf("点"); 
  5. System.out.println("你的位置为:" + a1); 
  6. System.out.println("为的位置为:" + a2);
  7. System.out.println("点最后出现的位置为:" + a3);
  8. 运行结果:
  9. 你的位置为:3
  10. 为的位置为:-1
  11. 点最后出现的位置为:7

5、toUpperCase();  toLowerCase();字符串大小写的转换

  1. String str="hello world";
  2. System.out.println("将字符串转大写为:" + str.toUpperCase());
  3. System.out.println("将字符串转换成小写为:" + str.toUpperCase().toLowerCase());
  4. 运算结果:
  5. 将字符串转大写为:HELLO WORLD
  6. 将字符串转换成小写为:hello world

6、String[] split("字符")  根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。

  1. String str = "boo:and:foo";
  2. String[] arr1 = str.split(":");
  3. String[] arr2 = str.split("o");
  4. 运行结果:
  5.   arr1  //{ "boo", "and", "foo" }
  6.   arr2  //{ "b", "", ":and:f" }

7、boolean equals(Object anObject)  语法 :字符串变量名.wquals(字符串变量名);  返回值为布尔类型。所以这里用 if 演示。比较两个字符串是否相等,返回布尔值

  1.                String str = "hello";
  2. String str1="world";
  3. if(str.equals(str1))
  4. {
  5. System.out.println("这俩字符串值相等");
  6. }
  7. else
  8. {
  9. System.out.println("这俩字符串值不相等");
  10. }
  11.       运行结果:
  12.           这俩字符串值不相等

8、trim();  去掉字符串左右空格  replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。

  1. String str = " 挨点博客 ";
  2. System.out.println("去掉左右空格后:" + str.trim());
  3. 运行结果:
  4.   去掉左右空格后:挨点博客
  5. 第二种:
  6. String str = " 挨点博客 ";
  7. System.out.println("去掉左右空格后:" + str.replace(" ",""));
  8. 运行结果:
  9.   去掉左右空格后:挨点博客

9、String substring(int beginIndex,int endIndex)  截取字符串 

  1.     String str = "123挨点博客456";
  2. System.out.println("截取后的字符为:" + str.substring(0,3));// 截取0-3个位置的内容 不含3
  3. System.out.println("截取后字符为:" + str.substring(2));// 从第3个位置开始截取 含2
  4.   运行结果:
  5.     截取后的字符为:123
  6.     截取后字符为:3挨点博客456

10、boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值

  1.      String str = "HELLO WORLd";
  2. String str1 = "hello world";
  3. if(str.equalsIgnoreCase(str1))
  4. {
  5. System.out.println("两个字符串相等");
  6. }
  7. else
  8. {
  9. System.out.println("两个字符串不相等");
  10. }
  11. 运行结果:
  12.     两个字符串相等

11、boolean contains(String) 判断一个字符串里面是否包含指定的内容,返回一个布尔值

  1. String str = "HELLO WORLd";
  2. String str1 = "WO";
  3. if(str.contains(str1))
  4. {
  5. System.out.println("str内容中存在WO");
  6. }
  7. else
  8. {
  9. System.out.println("抱歉没找着");
  10. }
  11. 运行结果:
  12.   str内容中存在WO

12、boolean startsWith(String)  测试此字符串是否以指定的前缀开始。返回一个布尔值


  1.      String str = "HELLO WORLd";
  2. String str1 = "HE";
  3. if(str.startsWith(str1))
  4. {
  5. System.out.println("str内容中存在HE前缀开头");
  6. }
  7. else
  8. {
  9. System.out.println("抱歉没找着");
  10. }
  11. 运行结果:
  12.   str内容中存在HE前缀开头

13、boolean endsWith(String)  测试此字符串是否以指定的后缀结束。返回一个布尔值

  1. String str = "挨点博客";
  2. String str1 = "博客";
  3. if(str.endsWith(str1))
  4. {
  5. System.out.println("str内容中存在\'博客\'后缀结束");
  6. }
  7. else
  8. {
  9. System.out.println("抱歉没找着");
  10. }
  11. 运行结果:
  12.   str内容中存在'博客'后缀结束

14、上面提到了replace方法,接下继续补充一下  String replaceAll(String,String) 将某个内容全部替换成指定内容,   String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容

  1. String str = ",,,,,,挨点博客,,,,, ";
  2. System.out.println("改变后:" + str.replaceAll(",","a"));
  3. 运行结果:改变后:a,,,,,挨点博客,,,,, 
  4. String str = ",,,,,,挨点博客,帅吗,帅吗,,,,, ";
  5. System.out.println("改变后:" + str.replaceFirst("帅吗","很帅哦"));
  6. 运行结果:改变后:,,,,,,挨点博客,很帅哦,帅吗,,,,,

巩固的时候查阅了很多资料。如何有错误的、或者有补充的请在评论区评论、我再改正与补充。

java 中String类的常用方法总结,玩转String类的更多相关文章

  1. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  2. Java中带包(创建及引用)的类的编译

    Java中带包(创建及引用)的类的编译与调试 java源程序的编译大家都知道,也就是cmd中到源文件所在目录下javac **.java即可,当程序中有包声明还能简简单单的直接javac **.jav ...

  3. Java基础(30):String对象的常用方法与实例(String类)

    Java 中 String 类的常用方法 Ⅰ String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之 ...

  4. Java中的io流学习(了解四大基类和基本步骤)

    Java中io流四大基类及io流操作四大基本步骤 io流:(input/output)即输入输出流.面向对象的思想之一是面向接口编程,面向父类编程,也就是多态.所以学好基类(父类)很重要. 分类 按处 ...

  5. Java中JNI的使用详解第二篇:JNIEnv类型和jobject类型的解释

    上一篇说的是一个简单的应用,说明JNI是怎么工作的,这一篇主要来说一下,那个本地方法sayHello的参数的说明,以及其中方法的使用 首先来看一下C++中的sayHello方法的实现: JNIEXPO ...

  6. java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定

    一. 计算机的小数计算一定范围内精确,超过范围只能取近似值: 计算机存储的浮点数受存储bit位数影响,只能保证一定范围内精准,超过bit范围的只能取近似值. java中各类型的精度范围参见:http: ...

  7. JAVA中Collection接口和Map接口的主要实现类

    Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素 ...

  8. 2017.12.13 Java中是怎样通过类名,创建一个这个类的数组

    先在类方法中定义数组的方法: public int[] method6(int[] arr){ for(int i = 0; i<arr.length;i++){ arr[i] = (int)( ...

  9. Java中lang包的常用方法介绍

    JAVA API(图片来源:实验楼) 包装类 Integer包装类 方法 返回值 功能描述 byteValue() byte 以 byte 类型返回该 Integer 的值 intValue() in ...

  10. Java中常用的加密方式(附多个工具类)

    一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类按加密算法是否需要key被分为两类 ...

随机推荐

  1. 将一个对象赋值给另一个对象(使用element CheckBox中length报错)

    注意两个对象相似(比如form表单),千万不要直接赋值(会把对象的属性也变化),很容易漏掉一些属性.比如此次CheckBox报length的错误,就是因为用于存放checkbox复选框选项的数组进过赋 ...

  2. Droppable(放置组件)

    一.class加载方式 <div id="pop" class="easyui-droppable" style="width: 400px;h ...

  3. getCss函数

    var box=document.getElementById('box'); function getCss(curEle,attr){ var val=null; //去单位 var reg=/^ ...

  4. jackson的readTree有坑

    {"}] readTree认为上面的字符是json,坑啊 alibaba的fastjson 无论JSONObject.parseObject还是JSONObject.parseObject ...

  5. 使用while循环实现菜单

  6. docker 安装nexus

    1.查找镜像 docker search nexus 2.拉取镜像 docker pull sonatype/nexus3 3.启动容器 docker run -d -p 8081:8081 -p 8 ...

  7. 五、通过密码访问API

    通过密码访问API 一.客户端 图: 客户端请求代码: static void Main(string[] args) { Console.WriteLine("确定三个项目都已经启动&qu ...

  8. jvm加载包名和类名相同的类的规则,以及如何加载包名和类名相同的类(转)

    jvm包括三种类加载器: 第一种:bootstrap classloader:加载java的核心类. 第二种:extension classloader:负责加载jre的扩展目录中的jar包. 第三种 ...

  9. Java虚拟机解析篇之---垃圾回收器

    上一篇说了虚拟机的内存模型,在说到堆内存的时候我们提到了,堆内存是Java内存中区域最大的一部分,而且垃圾回收器主要就是回收这部分的内容.那么这篇就来介绍一下垃圾回收器的原理以及回收的算法. Java ...

  10. PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项

    我们都知道,只要合理正确使用PDO(PDO一是PHP数据对象(PHP Data Object)的缩写),可以基本上防止SQL注入的产生,本文主要回答以下几个问题: 为什么要使用PDO而不是mysql_ ...