package StringDemo;

import java.util.Arrays;

/*
* 常用String、StringBufer类的方法
*/
public class Demo1 {
public static void main(String[] args) {
StringDemo();
StringBufferDemo();
} private static void StringBufferDemo() {
/*
* public StringBuffer append()的参数种类繁杂,包括6种内置的基本数据类型
* 参数是对象时,添加的是类全名和哈希值,返回的都是一个StringBuffer对象
*/
StringBuffer sbf=new StringBuffer("Hello");
sbf.append(",World!");
System.out.println(sbf);//Hello,World!
sbf.append('H');
System.out.println(sbf);//Hello,World!H
sbf.append(10086);
System.out.println(sbf);//Hello,World!H10086
sbf.append(false);
System.out.println(sbf);//Hello,World!H10086false
char []cha= {'a','p','p','l','e'};
sbf.append(cha);
System.out.println(sbf);//Hello,World!H10086falseapple
sbf.append(1.0402);
System.out.println(sbf);//Hello,World!H10086falseapple1.0402
Object obj=new Object();
sbf.append(obj);
System.out.println(sbf);//Hello,World!H10086falseapple1.0402java.lang.Object@7852e922 System.out.println(sbf.charAt(1));//e
/*
* public StringBuffer deleteCharAt(int index)
* 移除此序列指定位置的 char
*/
System.out.println(sbf.deleteCharAt(1));//Hllo,World!H10086falseapple1.0402java.lang.Object@7852e922
/*
* public StringBuffer delete(int start,int end)
* 移除此序列的子字符串中的字符,【start,end),左开右闭
*/
System.out.println(sbf.delete(0, 5));//World!H10086falseapple1.0402java.lang.Object@7852e922
/*
* public int indexOf(String str)
* public int indexOf(String str,int fromIndex)
* 与String不同的是,StringBuffer只有两个indexOf(),参数是String系
*/
System.out.println(sbf.indexOf("W"));//0
System.out.println(sbf.indexOf("H1",1));//6
/*
* public StringBuffer insert(int offset,xxx b)
* insert()方法带一个参数叫做偏移量,即offset,applend()中可以把offset看作为end-1,
* xxx表示类型很多,与applend相似
*/
System.out.println(sbf.insert(1, false));//Wfalseorld!H10086falseapple1.0402java.lang.Object@7852e922
/*
* public StringBuffer reverse()
* 将此字符序列用其反转形式取代
*/
System.out.println(sbf.reverse());//229e2587@tcejbO.gnal.avaj2040.1elppaeslaf68001H!dlroeslafW
/*
* public void setCharAt(int index,char ch)
* 将给定索引处的字符设置为 ch,即修改功能
*/
sbf.setCharAt(0, 'H');
System.out.println(sbf);//H29e2587@tcejbO.gnal.avaj2040.1elppaeslaf68001H!dlroeslafW
/*
* replace、subString方法不再演示,与String相似
*/
} private static void StringDemo() {
String str1=new String("ABCDEFG");
/*
* charAt(int)方法返回char,根据下标查找相应字符
* 有一个对应的StringIndexOutOfBoundsException
*/
System.out.println(str1.charAt(1));//B
/*
* indexOf(int),注意,参数为char是自动转换对应的ASCII码值
* 根据参数,返回参数对应的下标值
* 平时,我们多用char,但是其实没有对应的参数类型
* public int indexOf(int ch,int fromIndex)
* 返回从后一个参数开始计数,前一个参数的位置,indexOf(int)中默认第二个参数为0
* public int indexOf(String str)
* 返回str第一次出现的位置
* public int indexOf(String str,int fromIndex)
* 该方法返回值暂且不讨论
*/
System.out.println(str1.indexOf('B'));//1
System.out.println(str1.indexOf(66));//1,效果个'B'一样,猜测是因为'B'自动转化int
System.out.println(str1.indexOf('C',1));//2
System.out.println(str1.indexOf("EF"));//4
System.out.println(str1.indexOf("EF",2));//4
/*
* public int length()
* 返回此对象表示的字符序列的长度。与数组不同的是,这是方法,数组,如array.length是成员
*/
System.out.println(str1.length());//7 /*
* public byte[] getBytes()
* 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中
*/
System.out.println(Arrays.toString(str1.getBytes()));//[65, 66, 67, 68, 69, 70, 71]
/*
* public String(byte[] bytes)
* 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
*/
System.out.println(new String(str1.getBytes()));//ABCDEFG
/*
* public String replace(char oldChar,char newChar)
* 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
*/
System.out.println(str1.replace("ABC", "CBA"));//CBADEFG
/*
* public String[] split(String regex)
* 根据给定正则表达式的匹配拆分此字符串。,返回一个String数组
*/
System.out.println(Arrays.toString(str1.split("")));//[A, B, C, D, E, F, G],""空串将每一个字符都拆开
/*
* public boolean contains(CharSequence s)
* 判断是否含有指定的字符串,CharSequence是一个接口,String实现了这个接口
*/
System.out.println(str1.contains("BC"));//true
/*
* public String substring(int beginIndex)
* 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
* 默认从beginIndex到最后的坐标
* public String substring(int beginIndex,int endIndex)
* 【beginIndex,endIndex),左开右闭
*/
System.out.println(str1.substring(4));//EFG
System.out.println(str1.substring(1, 5));//1,2,3,4--->BCDE
/*
* public String trim()
* 返回字符串的副本,忽略前导空白和尾部空白。 即开头和结尾的空白不做处理
*/
System.out.println(" abc ed gd d ".trim());//abc ed gd d
/*
* public String toLowerCase()
* 将此 String 中的所有字符都转换为小写
* 相应的也存在一个toUpperCase把所有字符转化为大写
*/
System.out.println(str1.toLowerCase());//abcdefg
/*
* public char[] toCharArray()
* 将此字符串转换为一个新的字符数组。
*/
System.out.println(Arrays.toString(str1.toCharArray()));//[A, B, C, D, E, F, G]
/*
* public boolean equals(Object anObject)
* 将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
*/
System.out.println(str1.equals("BCDEF"));//false
} }

java基础学习日志--String、StringBuffer方法案例的更多相关文章

  1. JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)

    主函数类MainDemo.java package com.itcast.test20140109; import java.util.ArrayList; import java.util.Coll ...

  2. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  3. java基础学习日志---File方法分析

    package FunDemo; import java.io.File; import java.io.IOException; import java.util.Arrays; public cl ...

  4. java基础学习日志--异常案例

    package test7; public class InvalidScroreException extends Exception { public InvalidScroreException ...

  5. java基础学习日志--Stirng内存案例

    案例一: public class test1 { public static void mb_swap(String Str1,String Str2) { String temp=Str1; St ...

  6. Java基础学习篇---------String、集合的学习

    一.String常用的方法: 1. == 实质比较两个对象的地址数值 String a = "hello"  (hello为匿名对象) String a1 = "hell ...

  7. java===java基础学习(12)---方法的重写和重载

    覆盖 / 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也 ...

  8. java===java基础学习(9)---方法参数

    方法参数注意三要点: 一个方法不能修改一个基本数据类型的参数(数值型或者布尔型). 一个方法可以改变一个对象参数的状态. 一个方法不能让对象参数引用一个新的对象. package testbotoo; ...

  9. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

随机推荐

  1. 【bzoj1787】&【bzoj1832】[Ahoi2008]Meet 紧急集合 & 聚会

    bzoj1787就是bzoj1832 bzoj1832 空间和时间少了一些... 求三个结点到一个结点距离之和最小的结点以及距离和 求出两两lca,其中有两个相同,答案则为另一个 感觉就是一大暴力.. ...

  2. Android合并两个APP的详细做法(掌握)

    有时候因公司需求,要求合并两个APP 使用里面的功能. 平台:Studio 小白鼠:二维码扫描 和自己项目 详细步骤: /**  * 1.将解压后的android/assets目录复制到项目中的mai ...

  3. 编译android的一些坑

    1 降级gcc g++到4.4 2 参考:http://source.android.com/source/initializing.html来配置环境 3 使用jdk1.6 包括 java java ...

  4. 51Nod 1450 闯关游戏 —— 期望DP

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 期望DP: INF 表示这种情况不行,转移时把不行的概率也转 ...

  5. ELK Stack总结

    目录 ELK Stack 介绍 Elasticsearch 概念1(基础) CRUD基本用法 概念2(文本解析器) 查询 分析/聚合 概念3(架构原理的补充) Logstash基础 Kibana的数据 ...

  6. CodeForces 731C Socks (DFS或并查集)

    题意:有n只袜子,k种颜色,在m天中,问最少修改几只袜子的颜色,可以使每天穿的袜子左右两只都同颜色. 析:很明显,每个连通块都必须是同一种颜色,然后再统计最多颜色的就好了,即可以用并查集也可以用DFS ...

  7. (快排)51NOD 1018 排序

    给出N个整数,对着N个整数进行排序   Input 第1行:整数的数量N(1 <= N <= 50000) 第2 - N + 1行:待排序的整数(-10^9 <= A[i] < ...

  8. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

  9. [CREC2007/CQOI2014]robotic sort

    Description 一个实验室里有n个长短不一的试管.你的任务是编写一段程序,用机器臂把它们按照高度从小到大的顺序排列. 对于高度相同的试管,排序前后的相对位置应保持不变.排序方法如图所示. 排序 ...

  10. 371 Sum of Two Integers 两整数之和

    不使用运算符 + 和-,计算两整数a .b之和.示例:若 a = 1 ,b = 2,返回 3. 详见:https://leetcode.com/problems/sum-of-two-integers ...