RE:JAVA学习-步入String
来源:互联网 发布:java开发文档怎么写 编辑:程序博客网 时间:2024/06/05 02:15
一.文档注释
1.用法:
类 方法 常量
2.作用:
文档注释可以被javadoc翻译并生成为手册
文档注释是功能级注释,用来说明整体功能
二.String有关
1>String是不可变对象
1.1>使用final修饰,不能被继承
1.2>字符串一旦创建,对象无法改变,但字符串引用可以重新赋值
1.3> JVM对字符串有一个优化,字符串常量池
字符串常量池中会缓存所有使用字面量形式创建的字符串
对象,一旦发现再次使用已有的字面量创建字符串时会直接重用已
创建对象.避免内存中出现大量内存一样的字符串对象,
减小内存开销
String str1=”aaa”;
String str2=”aaa”;
System.out.println(str1==str2);
2>indexOf 2.1>int indexOf(String str) 返回值 方法名(参数) 2.2>作用: 查找给定字符串在当前字符串中的位置,若当前字符串 不含有给定内容则返回值为-1
public class String_indexOf { public static void main(String[] args) { // 0123456789012345 String str="thinking in JAVA"; System.out.println(str.indexOf("in"));//2 //从指定的位置开始查找 System.out.println(str.indexOf("in",str.indexOf("in")+1));//5 //从后往前找(检索最后一次出现的位置) System.out.println(str.lastIndexOf("in"));//9 }}
3>substring 3.1>String substring(int start,int end) 3.2>作用: 截取当前字符串的部分内容 (需要注意 java api中有一个特点,通常使用两个数字 表示一个范围时都是"含头不含尾"的.)
public class String_substring { public static void main(String[] args) { // 0123456789012 String str="www.baidu.com"; //截取指定区间[前闭后开) System.out.println(str.substring(4,9)); //从指定位置开始截取 System.out.println(str.substring(4)); System.out.println(getHost(str)); System.out.println(getHost("www.baidu.com.cn")); String str2="someapp/manager/emplist.action"; System.out.println(str2.substring(str2.lastIndexOf("/")+1)); } /** * 返回给定地址的域名 * @param url * @return */ public static String getHost(String url){ String str="."; return url.substring(url.indexOf(str)+1,url.indexOf(str,url.indexOf(str)+1)); }}
4>trim 4.1>void String trim() 4.2>作用: 去除字符串两边的空白字符5>chatAt 5.1>char charAt(int index) 5.2>返回指定下标处对应的字符6>startsWith和endsWith 6.1>boolean startsWith(String str) boolean endsWith(String str) 6.2>判断当前字符串是否以给定的字符串开始或结尾
public class String_startsWith_endsWith { public static void main(String[] args) { String str="thinking in JAVA"; boolean starts=str.startsWith("th"); System.out.println("starts:"+starts);//true boolean ends=str.endsWith("a"); System.out.println("ends:"+ends);//false }}
7>toUpperCase和toLowerCase 7.1>String toUpperCase() String toLowerCase() 7.2>将当前字符串中的英文部分转换为全大写和全小写 String str="只对英文有效javaJAVA"; String upper=str.toUpperCase(); System.out.println(upper);8>valueOf:String 提供一系列重载的valueOf方法(静态方法) 8.1>String String.valueOf(Object o) 8.2>将java其他类型转换为字符串PS:int length()
三.StringBuilder
1>作用:专门用来修改字符串内容的类
2>意义:StringBuilder内部维护一个可变的字符数组,所有操作
均在该数组中完成.速度快,内存消耗小
3>常用方法:
3.1>append(String str) 追加字符串
3.2>insert(int dstOffset,String s) 插入字符串
3.3>delete(int start,int end) 删除字符串
3.4>replace(int start,int end,String str) 替换字符串
3.5>reverse() 字符串反转
4.StringBuffer:
和StringBuilder功能相同,但性能不同
StringBuffer是线程安全的,同步处理的,性能稍慢
StringBuilder是非线程安全的,并发处理的,性能稍快
public class StringBuilderDemo { public static void main(String[] args) { String str="Hello"; StringBuilder builder=new StringBuilder(str); builder.append(",world"); str=builder.toString(); System.out.println(str); /* * 01234567890 * Hello,world */ builder.replace(6,11,"JAVA"); System.out.println(builder.toString()); /* * 0123456789 * Hello,JAVA */ builder.delete(0,6); System.out.println(builder.toString()); builder.insert(0, "what is "); System.out.println(builder.toString()); builder.reverse(); System.out.println(builder.toString()); if(isHuiWen("radar"))System.out.println("yes"); chineseCharacters(); } public static boolean isHuiWen(String str){ StringBuilder builder=new StringBuilder(str); builder.reverse(); if(str.equals(builder.toString())){ return true; } return false; } public static void chineseCharacters(){ StringBuilder builder=new StringBuilder(); for (char c = '\u4e00', i = 1; c <= '\u9fa5'; c++, i++){ builder.append(c); if(i%50==0){ builder.append("\n"); } } System.out.println(builder.length());// System.out.println(builder.length()+"\n"+builder.toString()); }}
- RE:JAVA学习-步入String
- RE:JAVA学习-步入抽象
- RE:JAVA学习-日期操作+步入集合
- 步入Java。。。
- 步入java
- RE:JAVA学习-方法调用
- RE:JAVA学习-集合操作
- RE:JAVA学习-HashMap用法
- RE:JAVA学习-了解线程
- RE:0 JAVA学习----(一) 对象
- RE:JAVA学习-变量,基本数据类型,Scanner
- RE:JAVA学习-初入循环
- RE:JAVA学习-循环应用和数组
- RE:JAVA学习-初访 对象与类
- RE:JAVA学习-深入继承+访问控制
- RE:JAVA学习-文件操作-File
- 又步入大学学习模式
- RE:JAVA学习-运算符和分支结构
- java 批量添加数据
- 机器学习入门笔记(二)----线性回归
- MAT使用进阶
- HDU 6161
- C#基础之迷你电话博
- RE:JAVA学习-步入String
- Linux Makefile文件编写与使用学习
- 定时器
- 使用反射技术封装JDBC
- mysql中JDBC相关知识
- Java 的引用传递与值传递
- Rxjava2从入门到源码(一)
- 关系映射,多对多的帮助理解
- 【线段树,Treap】CodeChef COT5 Count on a Treap