初始JAVA第十五章String的总结

  1 字符串的概述
  2 1.什么是字符串:零个或多个字符组成的有限序列
  3 2.如何使用字符串:(使用字符串分为两步)
  4     1)定义并初始化字符串
  5     2)使用字符,对字符串进行一些处理
  6     // 穿件一个字符串
  7     // 语法
  8     String arhs = “abc”;
  9     // 创建一个空的字符串
 10     String string = new String();
 11     // 创建一个字符串对象Demo
 12     String string = new String(“Demo”);
 13     System.out.println(string);
 14 3.字符串的长度(常用到的地方:密码不能小于n位)
 15     语法:字符串.length();返回字符串的长度
 16         String name = "tom";
 17         if(name.length() > 2){
 18             System.out.println("T");
 19         }else{
 20             System.out.println("F");
 21         }
 22 4.字符串的比较
 23 语法:字符串1.equals(字符串2);
 24         比较两个字字符串是否相等,返回boolean类型的值true  or  false
 25         String name1 = "tom";
 26         String name2 = "Jie";
 27         if(name1.equals(name2)){
 28             System.out.println("匹配成功!");
 29         }else{
 30             System.out.println("匹配失败!");
 31         }
 32         字符串1 == 字符串2
 33         // name1 = A    name2 = A   true
 34         // name1 = A    name2 = a   false
 35         String name1 = "A";
 36         String name2 = "A";
 37         if(name1 == name2){
 38             System.out.println("true");
 39         }else{
 40             System.out.println("false");
 41         }
 42
 43
 44 5.字符串忽略大小写的比较
 45 字符串1.equalsIgnoreCase(字符串2);忽略掉字符串的大小写,相同返回true否则false
 46         String name1 = "ABC";
 47         String name2 = "abc";
 48         if(name1.equalsIgnoreCase(name2)){
 49             System.out.println("true");
 50         }else{
 51             System.out.println("false");
 52         }
 53 6.字符串中大小写的转换
 54 大写转换位小写toLowerCase()方法
 55 // 定义ABC字符串
 56 String name1 = "ABC";
 57 // 使用toLowerCase()方法转换位小写
 58 System.out.println(name1.toLowerCase());
 59 小写转换位大写toUpperCase()方法
 60 // 定义ABC字符串
 61 String name1 = "ABC";
 62 // 使用toUpperCase()方法转换位小写
 63 System.out.println(name1.toUpperCase());
 64
 65 复杂字符串的处理
 66 1.字符串的链接
 67 使用拼接符“+“
 68   System.out.println(“这是”+”Java”);
 69 2.concat()方法:将一个字符串链接带另一个字符串的后面
 70 语法:字符串1.concat(字符串2)
 71 // 定义字符串ABC
 72 String string1 = "ABC";
 73 // 定义字符串DEF
 74 String string2 = "DEF";
 75 // 使用concat()方法将字符串进行拼接
 76 System.out.println(string1.concat(string2));
 77
 78 字符串的提取和查询
 79 语法:public int indexOf(int ch): 返回指定字符在字符串中第一次出现的字符,如果此字符串中没有这样的字符,则返回 -1
 80 语法:int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
 81 // 总字符串
 82         String Str = new String("Hello World!java");
 83         // 第一个字符串
 84         String SubStr1 = new String("Hello");
 85         // 第二个字符串
 86         String SubStr2 = new String("java");
 87         System.out.print("查找字符 o 第一次出现的位置 :");
 88         System.out.println(Str.indexOf(‘o‘));
 89         System.out.print("子字符串 SubStr1 第一次出现的位置:");
 90         System.out.println(Str.indexOf(SubStr1));
 91         System.out.print("子字符串 SubStr2 第一次出现的位置 :");
 92         System.out.println(Str.indexOf(SubStr2));
 93 public int lastIndexOf(int ch): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
 94 public int lastIndexOf(String str): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
 95 String Str = new String("Hello World!Java");
 96         String SubStr1 = new String("Hello");
 97         String SubStr2 = new String("Java");
 98         System.out.print("查找字符 o 最后出现的位置 :");
 99         System.out.println(Str.lastIndexOf(‘o‘));
100         System.out.print("子字符串 SubStr1 最后出现的位置:");
101         System.out.println(Str.lastIndexOf(SubStr1));
102         System.out.print("子字符串 SubStr2 最后出现的位置 :");
103         System.out.println(Str.lastIndexOf(SubStr2));
104 substring() 方法返回字符串的子字符串
105 语法:public String substring(int beginIndex)
106 或
107 public String substring(int beginIndex, int endIndex)
108 参数
109 beginIndex -- 起始索引(包括)。
110 endIndex -- 结束索引(不包括)。
111 返回值:子字符串
112 String Str = new String("Hello World !!! Hello Java");
113         System.out.print("返回值 :");
114         System.out.println(Str.substring(4));
115         System.out.print("返回值 :");
116     System.out.println(Str.substring(4, 10));
117
118 trim() 方法用于删除字符串的头尾空白符。
119 语法
120 publicString trim()
121 参数
122 无
123 返回值
124 删除头尾空白符的字符串
125 String Str = new String("    Hello World!!!    ");
126         System.out.print("原始值 :" );
127         System.out.println( Str );
128
129         System.out.print("删除头尾空白 :" );
130         System.out.println( Str.trim() );
131
132 字符串的拆分
133 语法:字符串1.split(String separator,int limit);
134         Separator:可选,标识拆分字符串是使用一个或多个字符8
135         Limit:可选,该值用来限制返回数组中的元素个数
136 String words="长亭外古道边芳草碧连天晚风扶柳笛声残夕阳山外山";
137         String[] printword=new String[100];//接收数组
138
139         System.out.println("***原歌词格式***\n"+words);
140         System.out.println("\n***拆分后歌词格式***");
141         printword=words.split(" ");//按照空格进行拆分
142         for(int i=0;i<printword.length;i++){
143             System.out.println(printword[i]);//打印输出
144     }
145
146
147 如何使用StringBuffer类
148 1.生命StringBuffer对象并初始化
149 //生命一个空的StringBuffer对象
150 StringBuffer sb = new StringBuffer();
151 // 生命一个字符串
152 StringBuffer sb = new StringBuffer(“好好学习,天天向上”);
153
154 常用的StringBuffer 类的方法
155 字符串.toString();将StringBuffe类型的字符串转换位String类型的对象并返回
156 String sb1 = sb2.toString();
157
158 字符串1.append(字符串2);
159 将字符串2链接到字符串1后面
160
161 字符串1.insert(位置,参数)将参数插入到字符串1的制定位置(int类型)后并返回
162 参数可以位String的任何类型
163
164
165
166
167
168 String与StringBuffer的区别
169 简单地说,就是一个变量和常量的关系。
170 StringBuffer对象的内容可以修改;
171 而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
172 StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
173 String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。
174 StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符比 String使用 + 操作符添加字符到一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。
175 StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。
时间: 2024-10-11 06:33:01

初始JAVA第十五章String的总结的相关文章

java(第十五章)

第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new String("值"); 3.字符串的常用方法 3.1 字符串长度--length() 3.2 判断值是否相等 equals() 3.3 判断字符串对象地址是否相同 == 3.4 忽略 大小写 判断 equalsIgnoreCase() 3.5 大小写转换 toLowerCase(

java:第十五章

第十五章 字符串 1.字符串(String)的定义 String str="内容"; String str=new String(); //内容为null String str=new String("内容"); 2.java.lang.* 字符串所在的包是java.lang. 注意:所有在java.lang包下的类,我们使用时,不需要import. 3.常用方法 str.length();//字符串的长度 str.indexOf(str1);//子串str1出现的

Java(第十五章)

第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new String("值"); 3.字符串的常用方法 3.1 字符串长度--length() 3.2 判断值是否相等 equals() 3.3 判断字符串对象地址是否相同 == 3.4 忽略 大小写 判断 equalsIgnoreCase() 3.5 大小写转换 toLowerCase(

《Java并发编程实战》第十五章 原子变量与非阻塞同步机制 读书笔记

一.锁的劣势 锁定后如果未释放,再次请求锁时会造成阻塞,多线程调度通常遇到阻塞会进行上下文切换,造成更多的开销. 在挂起与恢复线程等过程中存在着很大的开销,并且通常存在着较长时间的中断. 锁可能导致优先级反转,即使较高优先级的线程可以抢先执行,但仍然需要等待锁被释放,从而导致它的优先级会降至低优先级线程的级别. 二.硬件对并发的支持 处理器填写了一些特殊指令,例如:比较并交换.关联加载/条件存储. 1 比较并交换 CAS的含义是:"我认为V的值应该为A,如果是,那么将V的值更新为B,否则不需要修

“全栈2019”Java第五十五章:方法的静态绑定与动态绑定

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第五十五章:方法的静态绑定与动态绑定 下一章 "全栈2019"Java第五十六章:多态与字段详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&q

“全栈2019”Java第七十五章:内部类持有外部类对象

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第七十五章:内部类持有外部类对象 下一章 "全栈2019"Java第七十六章:静态.非静态内部类访问权限 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习

“全栈2019”Java第八十五章:实现接口中的嵌套接口

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第八十五章:实现接口中的嵌套接口 下一章 "全栈2019"Java第八十六章:嵌套接口可以多继承吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组

“全栈2019”Java多线程第二十五章:生产者与消费者线程详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第二十五章:生产者与消费者线程详解 下一章 "全栈2019"Java多线程第二十六章:同步方法生产者与消费者线程 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"

“全栈2019”Java多线程第三十五章:如何获取线程被等待的时间?

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第三十五章:如何获取线程被等待的时间? 下一章 "全栈2019"Java多线程第三十六章:如何设置线程的等待截止时间 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&qu