码迷,mamicode.com
首页 > 编程语言 > 详细

Java之字符串

时间:2016-05-24 22:52:00      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:package   字符串   public   hello   false   

  1. new Sting(“abc”)创建了几个对象?

    两个对象,一个对象是位于字符串常量池中,一个对象是位于堆内存中。

package cn.itcsat.string;
/*
 String 字符串类:
  
 笔试题目:new String("abc")创建了几个对象?
  两个对象, 一个对象是 位于字符串常量池中,一个对象是位于堆内存中。
  
  
  
  
 */


public class Demo1 {
	
	public static void main(String[] args) {
		
		String str1 = "hello";
		String str2 = "hello";
		String str3 = new String("hello");
		String str4 = new String("hello");
		System.out.println("str1==str2?"+(str1==str2));  // true  
		System.out.println("str2==str3?"+(str2==str3));  //false
		System.out.println("str3==str4?"+(str3==str4));  // false
		System.out.println("str3.equals(str2)?"+(str3.equals(str4))); //true
		//是String类重写了Object的equals方法,比较的是两个字符串对象 的内容 是否一致。
		// "=="用于比较 引用数据类型数据的时候比较的是两个对象 的内存地址,equals方法默认情况下比较也是两个对象 的内存地址。
		
		test(null);
	}
	
	public static void test(String str){
		if("中国".equals(str))
		{
			System.out.println("回答正确");
		}else{
			System.out.println("回答错误");
		}
	}
	
}

2.String的构造方法

package com.yuanzijian02;

public class Demo02 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		String str = new String();
		byte[] buf = {97,98,99};
		
		str = new String(buf); //使用一个字节数组构建一个字符串对象
		str = new String(buf,1,2);   //使用一个字节数组构建一个字符串对象,指定开始解码 的索引值和解码的个数。
		
		char[] arr = {‘明‘,‘天‘,‘是‘,‘圣‘,‘诞‘};
		str = new String(arr); //使用字符数组构建一个字符串
		str = new String(arr,3,2);
		
		int[] 	buf2 = {65,66,67};
		str = new String(buf2,0,3);
		
		str = new String("abc");
		
		
		System.out.println("字符串的内容:"+str);
	}

}

3.字符串的使用三

/*

2.2 获取方法

int length()  获取字符串的长度

char charAt(int index) 获取特定位置的字符 (角标越界)

int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。

int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示

*/

public class Demo3 {
	
	public static void main(String[] args) {
		String str = "abc中国ab中国";
		System.out.println("字符串的字符 个数: " + str.length() );
		System.out.println("根据索引值获取对应 的字符:"+ str.charAt(3));
		System.out.println("查找子串第一次出现的索引值:" + str.indexOf("中国"));
		System.out.println("查找子串最后一次出现的索引值:" + str.lastIndexOf("中国"));
		
	}
	

}

4.字符串的使用四

2.3 判断方法

boolean endsWith(String str) 是否以指定字符结束

boolean isEmpty()是否长度为0 如:“” null V1.6

boolean contains(CharSequences) 是否包含指定序列 应用:搜索

boolean equals(Object anObject) 是否相等

boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等


2.4 转换方法     

char[] toCharArray()  将字符串转换为字符数组

byte[] getBytes();


字节数组与字符数组、字符串他们三者之间是可以互相转换。

public class Demo4 {
	
	public static void main(String[] args) {
		String str = "Demo.java";
		System.out.println("是否以指定 的字符串结束:"+ str.endsWith("ja"));
		//str = "";
		System.out.println("判断字符串是否为空内容:"+str.isEmpty());
		System.out.println("判断字符串是否包含指定的内容:"+ str.contains("Demo"));
		System.out.println("判断两个 字符串的内容是否一致:"+ "DEMO.JAVA".equals(str));
		System.out.println("判断两个字符串的内容是否一致(忽略大小写比较):"+ "DEMO.JAVA".equalsIgnoreCase(str));
		
		
		//转换的方法
		char[] buf = str.toCharArray();  //把字符串转换字符数组
		System.out.println("字符数组:"+ Arrays.toString(buf));
		byte[] buf2 = str.getBytes();	//把字符串转字节数组
		System.out.println("字节数组:"+ Arrays.toString(buf2));
	}

}

5.字符串的使用五

String replace(String oldChar, String newChar) 替换

String[] split(String regex) 切割

String substring(int beginIndex)   指定开始 的索引值截取子串

String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串

String toUpperCase() 转大写

String toLowerCase() 转小写

String trim() 去除字符串首尾的空格

public class Demo5 {
	
	public static void main(String[] args) {
		String str = "今天晚上不考试";
		System.out.println("指定新内容替换旧 的内容:"+ str.replace("不", "要好好"));
		str = "大家-下-午-好";
		String[] arr = str.split("-"); //根据指定的字符进行切割 。
		System.out.println("字符串数组的内容:"+ Arrays.toString(arr));
		str = "广州传智播客";
		System.out.println("指定开始的索引值截取子串:"+ str.substring(2));
		System.out.println("指定开始的索引值截取子串:"+ str.substring(2,6)); //包头不包尾  注意:截取的内容是包括开始的索引值,不包括结束的索引值, 截取的位置是结束的索引值-1.
		
		str = "abC中国";
		System.out.println("转大写:" + str.toUpperCase());
		str = "AbdfSDD"; 
		System.out.println("转小写:"+ str.toLowerCase());
		
		str = "         大家最近        都非常努力            ";
		System.out.println("去除字符串首尾的空格:"+ str.trim());
		
	}


Java之字符串

标签:package   字符串   public   hello   false   

原文地址:http://hnyuanzijian.blog.51cto.com/8869344/1782666

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!