Lesson_13_Note_lang包(上)

package lesson_13;

import java.util.Scanner;
/**************************************************************
 * 				     		2013.3.2
 * 				 	      java.lang包(上)
 * 					  		@author Gavin
 **************************************************************/

/**************************课堂内容*****************************
 * 1、lang包:java.lang包是java内置的一个基础包,其中包含了一系列程序中经常要用到的类
 * 			 在默认情况下,每个java程序都会自动导入该包,因此无需在程序中显式地声明
 * 2、包装类:
 * 		Java提供一系列包装类,以便将原始数据类型当作对象进行操作
 * 		boolean-->Boolean  byte-->Byte   char-->Charcter   short-->Short
 * 		int-->Integer   long-->Long  float-->Float  double-->Double
 * 3、包装类中的静态valueOf方法:用于将字符串转换成相应包装类的对象
 * 4、包装类中的parseXxx方法:
 * 		除了Boolean类和Character类以外,其它的包装类都有静态的parseXxx方法
 * 		用于将字符串转换成相对应的原始数据类型值
 * 			---->*即vauleOf方法是将字符串转换成对象,而parseXxx方法是转换成原始数据类型值!
 * 5、Character类中的常用方法:
 * 		--->boolean isLetter(char ch)   	判断字符ch是否为英文字母
 * 		--->boolean isDigit(char ch)    	判断字符ch是否为0~9之间的数字
 * 		--->boolean isUpperCase(char ch) 	判断字符ch是否为大写形式
 * 		--->boolean isLowerCase(char ch) 	判断字符ch是否为小写形式
 * 		--->boolean isWhitespace(char ch) 	判断字符ch是否为空格或换行符
 * 			以上方法都是静态方法,可以直接通过类名调用,返回值均为boolean类型,如果是返回true,否则返回false
 * 6、String类:(1) 字符串是String类的对象
 * 			       (2)创建一个字符串对象之后,将不能更改构成字符串的字符,更改了字符串的版本时,就会创建一个新
 * 				字符串对象,并在其内包含所做的修改,原始字符串保持不变
 * 				str="abc";
 * 				str2="abc";   此时,str=str2,即两者指向同一字符串;
 * 				String  str3=new String("abc");   此时,str3!=str,因为此时是new了一个新的对象
 * 				若 str="bcd";此时创建了一个新的对象,内容是“abc”,但原来的字符串保持不变
 * 		(3)String类共有13中构造方法,常用的是:
 * 			--->String()  将创建一个空字符串
 * 			--->String(String original) 将新建一个字符串作为指定字符串的副本
 * 			--->String(char[] value)   将根据字符数组构造一个新字符串
 * 			--->String(byte[] tytes)    将通过转换指定的字节数组新建一个字符串
 * 		(4)String类中提供length成员方法,获取字符串长度,示例:str.length();
 * 		(5)字符串的比较:== 号是比较对象是否是同一个对象,即内存地址是否是一样
 * 						 equals是比较内容是否相等
 * 		(6)其他的比较方法:
 * 			--->booleanequalsIgnoreCase(String anotherString)
 * 						判断字符串anotherString是否与当前字符串相等,忽略大小写形式
 * 			--->int compareTo(String anotherString)
 * 						根据ASCII码比较字符串anoterString和当前字符串的大小,比较方式类似于C语言中的strcmp函数
 * 			--->boolean startsWith(String prefix)
 * 						判断当前字符串是否以字符串prefix为开头
 * 			--->boolean endsWith(String suffix)
 * 						判断当前字符串是否以字符串suffix为后缀
 * 		(7)字符串搜索:
 * 			--->int indexOf(int ch)
 * 					搜索字符ch在当前字符串中第一次出现的索引,没有出现则返回-1
 * 			--->int indexOf(String str)
 * 					搜索字符串str在当前字符串中第一次出现的索引,没有出现则返回-1
 * 			--->int lastIndexOf(int ch)
 * 					搜索字符ch在当前字符串中最后一次出现的索引,没有出现则返回-1
 * 			--->int lastIndexOf(String str)
 * 					搜索字符串str在当前字符串中最后一次出现的索引,没有出现则返回-1
 * 		(8)提取字符串
 * 			--->char charAt(int index)用于从指定位置提取单个字符,该位置由index指定,索引值必须为非负
 * 			--->String substring(int index)用于提取从index指定的位置开始的字符串部分
 * 			--->String substring(int begin, int end)用于提取 begin 和 end 位置之间的字符串部分
 * 			--->String concat(String str)用于连接两个字符串,并新建一个包含调用字符串的字符串对象
 * 			--->String replace(char oldChar, char newChar)
 * 					用于将调用字符串中出现oldChar指定的字符全部都替换为newChar指定的字符
 * 			--->replaceAll(String regex, String replacement)
 * 					用于将调用字符串中出现或者匹配regex的字符串全部都替换为replacement指定的字符
 * 			--->String trim()用于返回一个前后不含任何空格的调用字符串的副本
 * 		(9)更换字符串的大小写形式
 * 			--->String toUpperCase()  返回当前字符串的全大写形式
 * 			--->String toLowerCase()  返回当前字符串的全小写形式
 * 		(10)数据格式转化
 * 			--->byte[] getBytes() 
 * 				返回当前字符串转化成byte型数组的形式(即字符串在内存中保存的最原始的二进制形态)
 * 			--->char[] toCharArray()
 * 				返回当前字符串的字符数组形式,类似于C语言中字符串的保存形式
 ******************************************************************/
public class Day3_2 {
	public static void main(String[] args) {
		boolean flag=false;//falg是变量
		Boolean f=new Boolean(false);//而f是对象
		System.out.println(flag);
		System.out.println(f);
		String value="120";
		int n=Integer.valueOf(value);	//将字符串转化成Integer包装类的对象
		System.out.println(n);			//输出n的值
		
//		String value2="b";
//		int m=Integer.valueOf(value2, 16);
//		System.out.println(n);
		
		System.out.println("请输入您的电话号码:");
		Scanner sc=new Scanner(System.in);
		String  tel=sc.next();
		telValitor(tel);			//调用telValitor方法
		
		System.out.println("请输入一个字符:");
		char  ch=sc.next().charAt(0);//输入一个字符,由于Scanner返回的是一个字符串,故用String类中的
									//charAt方法,提取一个单个字符。。有其他直接的方法么??
		System.out.println(isUpperCase(ch));			//调用isUpperCase方法
	}
	
	public static void telValitor(String tel){		//判断电话号码是否有效的方法
		String message=null;
		try {
			if(Integer.valueOf(tel)>=0){			//这里为甚么将tel换成整型数据,只要数据大于零就有效?!
				message="是一个有效的数字!";
			}else{
				message="输入的内容不是一个有效的电话号码";
			}
		} catch (Exception e) {
			System.out.println("错误!请输入一个有效的电话号码!");
			return;
		}
		
		System.out.println(message);
	}
	
	public static boolean isLetter(char ch){//实现是否是字符的判断方法,其实sun公司已经写了,在Character类中
		//字符的范围是:a(97)-z,A(65)-Z
		int n=ch;
		if (n>=65&&n<=90||n>=97&&n<=122){
			return true;
		}else 
			return false;
	}
	
	public static boolean isUpperCase(char ch){		//判断是否是大写字母的方法
		int n=ch;
		if(n>=65&&n<=90)
			return true;
		else 
			return false;
	}
	
	public static boolean isLowerCase(char ch){		//判断是否是小写字母的方法
		int n=ch;
		if(n>=97&&n<=122)
			return true;
		else 
			return false;
	}
}

package lesson_13;

public class StringTest {

	public static void main(String[] args) {
			//String 类
		String str="abc";
		String str2="abc";
		String str3=new String ("abc");
		
		System.out.println(str==str2);		//输出为true,因为两者指向同一对象
		System.out.println(str==str3);		//输出为false,因为str3为新创建的对象
		System.out.println(str.equals(str2));//输出为true,因为equals表示比较内容
		
		System.out.println("CSU202001236".startsWith("CSU"));//判断是否是有效的学号,有效的学生号是CSU开头
															//故输出为true
		System.out.println("一生所爱.mp3".endsWith(".mp3"));  //判断是否是MP3音乐文件
		
		String  str5="我们的领导人胡锦涛同志是个好同志!";
		if(str5.indexOf("胡锦涛")!=-1){
			System.out.println("...");
		}else{
			System.out.println(str5);
		}
		System.out.println(str5.indexOf("胡锦涛")); //输出结果是6,因为”胡锦涛“是从第6个数开始的,从0开始数
		
		System.out.println(str5.substring(6));//从第6个字截取,并输出
		
		System.out.println(str5.substring(6, 9));//从第6个字到第8个字
		
		System.out.println(str5.charAt(6));//提取第6个字,输出
		
		System.out.println(str5.replace("胡锦涛", "江泽民"));//将”胡锦涛“三个字换成”江泽民“
	}
	

}

你可能感兴趣的:(Lesson_13_Note_lang包(上))