Java---->String的基本操作
2016-08-01 19:49
302 查看
<pre name="code" class="java">public class Demo1 { public static void main(String[] args) { // TODO Auto-generated method stub new Demo1(); } public Demo1(){ // //String 实例化的两种方法 // String s = "You are the best"; // String ss = new String("you are the best"); // String sss = "you are" + " the best"; // // System.out.println("s : " + s); // System.out.println("ss :" + ss); // System.out.println("sss : " + sss); // // //判断字符串是否相等用 equals // System.out.println("调用 equals 的执行结果"); // boolean b1 = (s.equals(ss)); // System.out.println("b1 == " + b1); // boolean b2 = (ss.equals(sss)); // System.out.println("b2 == " + b2); // // //equalsIgnoreCase 不区分大小写比较 // System.out.println("调用 equalsIgnoreCase 的执行结果"); // boolean b5 = (s.equalsIgnoreCase(ss)); // System.out.println("b5 == " + b5); // boolean b6 = (ss.equalsIgnoreCase(sss)); // System.out.println("b6 == " + b6); // // //使用比较运算符 == // //java中 == 是判断两个对象的堆内存是否相等,属于地址的数值相等的比较,并不是关于字符串内容 // boolean b3 = (s == ss); // System.out.println("b3 == " + b3); // boolean b4 = (s == sss); // System.out.println("b4 == " + b4); // // //引用匿名对象 // String str = "Hello"; // //采用"字符串".equals(字符串对象);此时的equals()可以自动区里null问题,正常判断 // System.out.println("Hello".equals(str)); //注意与上一个的区别 //如果st中没有输入用户名,则会提示NullPointerException警告 // String st = null; // System.out.println(st.equals("Hello")); /* * String类的对象在实例化的时候采用不同的方式,开辟的内在空间也不同 * 直接赋值:只开辟一块堆内存空间,而且保存的字符串内容自动入池,以供其他内容相同的字符串使用 * 构造方法:开辟两块堆内存空间,有一块将变成垃圾,并且字符串的内容无法自动入池,但是可以使用String类的intern()方法手工入池 */ //采用直接赋值法创建字符串时的内存分配 // String a = null,b = null,c = null; // a = "Hello"; // //如果已经采用直接复制方式开辟了内存空间,再次采用同一方式的时候会指向同一块内存 // b = "Hello"; // c = a; // System.out.println(a == b); // System.out.println(a == c); // System.out.println(b == c); // String a = "Hello"; // String b = new String("Hello").intern(); // String c = "Hello"; // String d = new String("Hello"); // System.out.println(a == b); // System.out.println(a == c); // System.out.println(b == c); // System.out.println(a == d); //String对象一旦声明则不可改变 //由下面的例子可以看出。输出的内容改变了,但是字符串中的内容并没有变化,改变的只是String类对象的引用,并且会产生大量的垃圾,这种方法应该尽量避免,少使用 // String str = "Hello"; // str += " World"; // str += "!!"; // System.out.println(str); /* * 字符串与字符数组之间的转化及相关操作 * charAt();返回指定索引位置上的字符串内容 * toChatArray();将字符串变为字符数组 * new String();将字符数组转化为字符串 * new String(a,b,c);将字符数组a从第b号元素开始,输出连续的c个(注意一定不要越界) */ String str = "helloworld"; //输出字符串中第4个位置的元素,从0开始计数 System.out.println(str.charAt(4)); //将字符串转化为字符数组 char a[] = str.toCharArray(); for(int i = 0;i < a.length;i ++) { System.out.print(a[i] + ","); //小写和大写的ASCII值差32 a[i] -= 32; } System.out.println(); System.out.println("将全部字符数组转化为字符串" + new String(a)); //取得部分内容的时候需要设置起始点和取得的长度,注意字符串是从0开始计数的 System.out.println("将部分字符数组变为字符串" + new String(a,5,4)); } }
package Test1;
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Demo2();
}
public Demo2(){
String str = "hellojava";
//将字符串转化为byte数组
byte[] a = str.getBytes();
//小写变大写
for(int i = 0;i < a.length;i ++)
a[i] -= 32;
//将字节数组转化为字符串输出
System.out.println(new String(a));
//将字节数组a从第2个元素开始的3个元素转化为字符串输出
System.out.println(new String(a,2,3));
}
}
/* * 注意在访问的时候一定要防止数组越界 * 1.字符串查找方法 * 判断字符串中子串是否存在时,返回的是boolean值, * 判读某字符出现的位置时,返回字符在字符串中出现的第一个位置的索引值,如果没有找到,则返回-1 * * 2.字符串替换 * * 3.字符串截取 * 从一个指定的字符串中取出部分的内容 * * 4.字符串拆分 * 将一个字符串按照指定的字符串拆分成若干个字符串,返回的是一个字符型数组 * 注意下面几种特殊的用字符串拆分的方法 * str.split("\\."); * str.split("\\|"); * str.split("\\\\");//用\作为分隔符 * 有多个分隔符的时候 * str.split("a|b");//以字符串a或者b进行分割 * * 5.补加 * s.length(); * s.trim.length();//取出字符串前后的空格后字符串的长度 * s.toUpperCase();//全部变为大写 * s.toLowerCase()//所有字母都转化为小写 * s.concat(str);//字符串连接 */ public class Demo3 { public static void main(String[] args) { // TODO Auto-generated method stub new Demo3(); } public Demo3(){ String str = "**Hello$$World##"; // 1. //查找字符串是否存在 if(str.contains("Hello")){ System.out.println("存在"); } //查找某一个字符是否存在 if(str.indexOf("r") != -1){ System.out.println("内容存在,字符串位置:" + str.indexOf("r")); } //从指定位置开始查找,判断某个字符是否存在 if(str.indexOf("o", 6) != -1) System.out.println("内容存在,字符串位置为:" + str.indexOf("o", 6)); //从结尾位置开始从后往前查找 if(str.lastIndexOf("W") != -1) System.out.println("存在" + str.lastIndexOf("W")); if(str.lastIndexOf("W",12) != -1) System.out.println("存在::" + str.lastIndexOf("W",12)); //判断字符串是否依指定位置开头 System.out.println(str.startsWith("**")); //从指定位置开始判断是否以指定位置开头 System.out.println(str.startsWith("$$", 7)); //判断是否以指定位置结尾 System.out.println(str.endsWith("##")); // 2. //替换字符串中出现的所有的指定字符 System.out.println(str.replace("o", "O")); //替换字符串中出现的所有子串 System.out.println(str.replaceAll("o", "&&&&&&")); //替换字符串中第一次出现的字符子串 System.out.println(str.replaceFirst("o", "O")); // 3. //截取从第5号位置开始到结尾的子串 System.out.println(str.substring(5)); //截取从5位置到8位置的字符串 System.out.println(str.substring(5,8)); System.out.println(); System.out.println(); System.out.println(); // 4. String s = "hello world hello java"; //将字符串按照空格拆分 String []a = s.split(" "); for(int i = 0;i < a.length; ++ i) System.out.println(a[i]); System.out.println("----------"); //将字符串拆分成指定元素个数的字符数组 String []aa = s.split(" ", 3); for(int i = 0;i < aa.length;i ++) System.out.println(aa[i]); String ss = "Hello Java..... "; //判断字符串的长度 System.out.println(ss.length()); System.out.println(ss.trim().length()); //判断字符串是否为空 System.out.println("".isEmpty()); System.out.println(ss.isEmpty()); //字符串字符全部变为大写 System.out.println(ss.toUpperCase()); //所有字母都转化为小写 System.out.println(ss.toLowerCase()); //字符串连接 System.out.println(ss.concat("Hello World.....")); } }
相关文章推荐
- JAVA IO流 <一>文件基本操作
- 学习笔记——JAVA反射<1>反射机制的介绍和基本操作
- JAVA中String字符串的各种基本操作
- 【java】String的基本操作
- Spark基本操作SparkSession,Dataset<Row>,JavaRDD<Row>
- LDAP学习笔记<四>jldap实现Java对LDAP的基本操作
- JAVA中String字符串的各种基本操作
- JAVA中String字符串的各种基本操作
- java对redis的基本操作<转>
- java对redis的基本操作<转>
- java基本入门-----String的基本操作
- java 数据库基本操作及ResultSet高级应用
- java数据库操作基本流程
- java对基本数据类型的流的操作
- Java 数据库基本操作
- Java数据库基本操作
- java 数据库基本操作
- JAVA数据库基本操作
- String 基本操作补充
- 用char*实现的一个完整的类,包含类的基本操作:一般构造、拷贝构造、赋值转换、重载 > >,< <