Java 常用类(4)

第六章 01_String_1

(http://blog.csdn.net/jinhongliang123/article/details/7915338)

1   字符串相关类(String,StringBuffer)

Java.lang.String 类代表  不可变  的字符序列 

Java.lang.StringBuffer代表可变的字符序列
StringBuffer和String类似,但StringBuffer可以对其字符串进行改变

2   基本数据类型包装类

包装类(如:Integer,Double等)这些类封装了一个相应的基本数据类型数值,并为其提供了一系列操作。

Java.lang.Integer类为例,构造方法
        Integer(int value)
        Integer(String s)

3   Math类

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double类型

4   File类

Java.io.File类代表系统文件名(路径和文件名) (读写文件通过IO类来操作)
File类的常见构造方法:
              public  File(String pathname)
              以pathname为路径创建File对象,如果pathname为相对路径,则默认的当前路径在系统属性user.dir中存储
             
              public File(String parent, String child)
              以parent为父路径,child为子路径创建File对象。
File的静态属性String separator存储了当前系统的路径分隔符

5   枚举类

枚举类型: 

       只能够取特定值中的一个
        使用enum关键字

       是java.lang.Enum类型

[java]  view plain  copy
  1. //TestString.java  
  2.   
  3. public class TestString {  
  4.     public static void main(String args[]) {  
  5.         String s1 = "hello";    //hello在datasegment区域,  
  6.         String s2 = "world";  
  7.         String s3 = "hello";    //s3和s1指向同一个"hello"  
  8.         System.out.println( s1 == s3);  
  9.   
  10.         s1 = new String("hello");        //hello在heap区域  
  11.         s2 = new String("hello");        //new 出一个新hello  
  12.         System.out.println(s1 == s2);  
  13.         System.out.println(s1.equals(s2));     //String重写了equals方法  
  14.   
  15.         char c[] = {'s''u''n'' ''j''a''v''a'};  
  16.         String s4 = new String(c);  
  17.         String s5 = new String(c, 44);  
  18.         System.out.println(s4);  
  19.         System.out.println(s5);  
  20.   
  21.         //String s1 = "java sun";     已经定义过啦  
  22.         //String s2 = "Java Sun";  
  23.         s1 = "java sun";  
  24.         s2 = "Java Sun";  
  25.         System.out.println(s1.charAt(1));  
  26.         System.out.println(s2.length());  
  27.         System.out.println(s1.indexOf("java"));  
  28.         System.out.println(s1.indexOf("Java"));  
  29.         System.out.println(s1.equals(s2));  
  30.         System.out.println(s1.equalsIgnoreCase(s2));  
  31.   
  32.         String s = "我是程序员,我在学java";  
  33.         String sr = s.replace("我""你");  
  34.         System.out.println(sr);  
  35.           
  36.                 s = "Welcome to Java World!";  
  37.         s1 = "   sun java     ";  
  38.         System.out.println(s.startsWith("Welcome"));     //注意是starts和ends  
  39.         System.out.println(s.endsWith("!"));             //!和 World! 都是true  
  40.   
  41.         String sL = s.toLowerCase();  
  42.         String sU = s.toUpperCase();  
  43.         System.out.println(sL);  
  44.         System.out.println(sU);  
  45.   
  46.         String subS = s.substring(11);  
  47.         System.out.println(subS);  
  48.   
  49.         String sp = s1.trim();  
  50.         System.out.println(sp);  
  51.     }  
  52. }  


实例:(马士兵)

/*范例名称:
 * 原文件名称:
 * 要点:
 * 1. 字符串测试String
 * 2. 测试File类
 */

import java.io.*;//File

public class TestString {
	public static void main(String[] args){
		String s="AdsdfdadfiwioAGDAG32432_jla";
		
		int lCount=0,uCount=0,oCount=0;
		
		//记录字符串里边大写字母、小写字母、非字符的个数
		for(int i=0;i<s.length();i++){
			char c=s.charAt(i);
			if(c>='a' && c<='z'){
				lCount++;
			}else if(c>='A' && c<='Z'){
				uCount++;
			}else{
				oCount++;
			}
		}
		System.out.println(s+"含有"+lCount+"个小写字母");
		System.out.println(s+"含有"+uCount+"个大写字母");
		System.out.println(s+"含有"+oCount+"个非字母");
		
		String s2="sunjavaphpcjavagoodjavaddd";
		String sTemp=s2;
		
		String sToFind="java";
		int count=0;
		int index=-1;
		
		//找出包含指定字符串的个数
		while((index=s2.indexOf(sToFind))!=-1){
			s2=s2.substring(index+sToFind.length());
			count++;
		}
		System.out.println(sTemp+"包含"+count+"个"+sToFind);
		
		//file使用:创建文件
		String separator=File.separator;//分隔符
		String filename="myfile.txt";
		String directory="mydir1"+separator+"mydir2";
		File f=new File(directory,filename);
		if(f.exists()){
			
			System.out.println("文件名:"+f.getAbsolutePath());
			System.out.println("文件大小:"+f.length());
		}else{
			//注意:当 class文件位于package里边时,父目录是package所在的目录
			f.getParentFile().mkdirs();
			try{
				f.createNewFile();
			}catch (IOException e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		//列出目录、文件
		File f2=new File("D:/51VPN_2015/");
		System.out.println(f2.getName());
		listTree(f2,1);
	}
	//通过递归的方法列出目录or子目录下所有文件(以树的形式),用变量level标识所在层级
	private static void listTree(File f, int level){
		
		String preStr="";//前导字符串
		for(int i=0;i<level;i++){
			preStr+="   ";
		}
		
		File[] childs=f.listFiles();
		for(int i=0;i<childs.length;i++){
			//System.out.print(preStr+childs[i].getAbsolutePath());
			System.out.print(preStr);
			System.out.println(childs[i].getName());
			if(childs[i].isDirectory()){
				listTree(childs[i],level+1);
			}
		}
	}
}

结果:

AdsdfdadfiwioAGDAG32432_jla含有15个小写字母
AdsdfdadfiwioAGDAG32432_jla含有6个大写字母
AdsdfdadfiwioAGDAG32432_jla含有6个非字母
sunjavaphpcjavagoodjavaddd包含3个java
文件名:F:\Study\programme\Java\StudyProcess\MSB_String\mydir1\mydir2\myfile.txt
文件大小:0
51VPN_2015
   51VPN.exe
   config
      config.ini
      dnsflush.bat
      dnsorder.vbs
      route.dat
      setting.ini
   logs
      2016-09-04.log
      2016-09-05.log
      2016-09-06.log
      2016-09-07.log
      2016-09-08.log
      2016-09-09.log
      2016-09-10.log
      2016-09-11.log
      2016-09-12.log
      2016-09-14.log
      2016-09-16.log
      2016-09-17.log
      2016-09-18.log
      2016-09-19.log
      2016-09-20.log
      2016-09-21.log
      2016-09-22.log
      2016-09-23.log
      2016-09-24.log
      2016-09-25.log
      2016-09-26.log
      2016-09-29.log
      2016-10-02.log
      2016-10-03.log
      2016-10-04.log
      2016-10-05.log
      2016-10-06.log
      2016-10-08.log
      2016-10-09.log
      2016-10-10.log
      2016-10-12.log
      2016-10-13.log
      2016-10-14.log
      2016-10-15.log
      2016-10-16.log
      2016-10-17.log
      2016-10-19.log
      2016-10-21.log
      2016-10-24.log
      2016-10-25.log
      2016-10-27.log
      2016-10-28.log
      2016-10-29.log
      2016-10-30.log
      2016-10-31.log
      2016-11-01.log
      2016-11-02.log
      2016-11-09.log
      2016-11-10.log
      2016-11-11.log
      2016-11-12.log
      2016-11-13.log
      2016-11-15.log
      2016-11-16.log
      2016-11-17.log
      2016-11-21.log
   openvpn
      addtap.bat
      ca.crt
      connect.bat
      deltapall.bat
      driver_x64
         OemWin2k.inf
         tap0901.cat
         tap0901.sys
         tapinstall.exe
      driver_x86
         deltapall.bat
         OemWin2k.inf
         tap0901.cat
         tap0901.sys
         tapinstall.exe
      installtap_x64.bat
      installtap_x86.bat
      libeay32.dll
      libpkcs11-helper-1.dll
      libssl32.dll
      openssl.exe
      openvpn.exe
      ta.key
      tapinstall.exe
      template.ovpn
   skinh.she
   SkinHu.dll
   官方信息.txt


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值