**
1.java可以使用两种方法直接将字符数组转为字符串**
方法1:直接在构造String时转换。
char[] data = {‘a’, ‘b’, ‘c’};
String str = new String(data);
方法2:调用String类的方法转换。
String.valueOf(char[] ch)
String str1 = String.valueOf(data);
System.out.println(str1);
2.java可以使用两种方法直接将字符串转为字符数组*
- 情况一:如果是有分隔符的那种例如”abc,def,ghi”;就直接分割就行了.
String string = “abc,def,ghi”;
String [] strArr= string.split(“,”); //注意分隔符是需要转译
如果是”abcdefghijk”这种字符串,就直接
String string1 = “abcdefghijk” ;
char [] strArr1 = string1.toCharArray(); //注意返回值是char数组
3. 基本数据型态转换成 String的 static 方法
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 ,也就是 String.valueOf() 这个参数多载的方法 。
(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
(2)String.valueOf(char c) : 将 char 变量 c 转换成字符串
(3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
(4)String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
(5)String.valueOf(double d) : 将 double 变量 d 转换成字符串
(6)String.valueOf(float f) : 将 float 变量 f 转换成字符串
(7)String.valueOf(int i) : 将 int 变量 i 转换成字符串
(8)String.valueOf(long l) : 将 long 变量 l 转换成字符串
(9)String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
例如:int i = 10;
String str = String.valueOf(i);
4. 小写字符转换为大写
toUpperCase() 方法用于将小写字符转换为大写。
语法:char toUpperCase(char ch)
System.out.println(Character.toUpperCase(‘a’));
5.字符串的替换和去除空格操作
replace()方法用于将字符串中所有与指定字符串匹配的子串替换成另一个字符串
String s=”itcase”
s.replace(“it”,”cn.it”)
trim()方法用于除去两端的空格。若想除去字符串中间空格,则可以调用replace()方法
String s1=” I t c a s t “
S1.trim();
S1.replace(“”,””);
str.trim(); //去掉首尾空格
str.replace(" “,”"); //去除所有空格,包括首尾、中间
str.replaceAll(" “, “”); //去掉所有空格,包括首尾、中间
str.replaceAll(” +",""); //去掉所有空格,包括首尾、中间
str.replaceAll("\s*", “”); //可以替换大部分空白字符, 不限于空格 ;
\s* 可以匹配空格、制表符、换页符等空白字符的其中任意一个。
6.字符串的判断操作:
1.判断是否以字符串开头:s1.startsWith(“str”)
2.判断是否以字符串结尾:s1.endsWith(“ni”)
3.判断是否包含字符串tri: s1.contains(“tri”)
4.判断字符串是否为空:s1.isEmpty()
5.判断两个字符串是否相等:s1.equals(s2)
*
7.字符串的截取与分割:*
Split()方法可以将字符串按照某个字符进行分割
String ss = “,aa,bb,cc,dd”;
String[] array = ss.split(",");
Substring()方法用于截取字符串的一部分:
1、 public String substring(int beginIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
异常:如果 beginIndex 为负或大于此 String 对象的长度,则抛出IndexOutOfBoundsException
例 :“unhappy”.substring(2) returns"happy"
“mybaby”.substring(3) returns"aby"
2、public String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始, endIndex:到指定的 endIndex-1处结束。
参数:beginIndex - 开始处的索引
返回:指定的子字符串。
抛出:如果 beginIndex 为负,或length大于字符串长度,则抛出IndexOutOfBoundsException
例:“hamburger”.substring(3,8) returns “burge”
“smiles”.substring(0,5) returns “smile”
StringBuffer*
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的 对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。
StringBuffer类的构造函数
public StringBuffer()
创建一个空的StringBuffer类的对象。
public StringBuffer( int length )
创建一个长度为 参数length 的StringBuffer类的对象。
注意:如果参数length小于0,将触发NegativeArraySizeException异常。
public StringBuffer( String str )
用一个已存在的字符串常量来创建StringBuffer类的对象。
StringBuffer连接字符操作
当一个字符串的内容需要被经常改变时就要使用StringBuffer。
在StringBuffer中使用append()方法,完成字符串的连接操作。
- public StringBuffer append(String s)
将指定的字符串追加到此字符序列。 - public StringBuffer reverse()
将此字符序列用其反转形式取代。 - public delete(int start, int end)
移除此序列的子字符串中的字符。
4.public insert(int offset, int i)
将int参数的字符串表示形式插入此序列中。 - replace(int start, int end, String str)
使用给定String中的字符替换此序列的子字符串中的字符。
System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员方法和成员变量都是static(静态)的,所以也可以很方便的调用他。
system中包含了in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)和标准错误输出流(显示器)
1. System.out.println(“Test”);
该行代码的作用是将字符串”Test”输出到系统的标准输出设备上,也就是显示在屏幕上。
2. arraycopy方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
该方法的作用是数组拷贝,也就是将一个数组中的内容复制到另外一个数组中的指定位置,
使用示例:
int[] a = {1,2,3,4};
int[] b = new int[5];
System.arraycopy(a,1,b,3,2);
该代码的作用是将数组a中,从下标为1开始,复制到数组b从下标3开始的位置,总共复制2个。也就是将a[1]复制给b[3],将a[2]复制给b[4],这样经过复制以后数组a中的值不发生变化,而数组b中的值将变成{0,0,0,2,3}。
3.currentTimeMillis方法
public static long currentTimeMillis()
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。例如:
long l = System. currentTimeMillis();
则获得的将是一个长整型的数字,该数字就是以差值表达的当前时间。
使用该方法获得的时间不够直观,但是却很方便时间的计算。例如,计算程序运行需要的时间则可以使用如下的代码:
long start = System. currentTimeMillis();//循环开始时当前的时间
for(int i = 0;i < 100000000;i++){
int a = 0;
}
long end = System. currentTimeMillis();//循环结束后的当前时间
long time = end – start;
则这里变量time的值就代表该代码中间的for循环执行需要的毫秒数,使用这种方式可以测试不同算法的程序的执行效率高低,也可以用于后期线程控制时的精确延时实现。
4. exit方法
public static void exit(int status)
该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。
5. gc方法
public static void gc()
该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。
6. getProperty方法
public static String getProperty(String key)
该方法的作用是获得系统中属性名为key的属性对应的值
系统中常见的属性名以及属性的作用如下表所示。
属性名列表
属性名 属性说明
java.version Java 运行时环境版本
java.home Java 安装目录
os.name 操作系统的名称
os.version 操作系统的版本
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
例如:
String osName = System.getProperty(“os.name”);
String user = System.getProperty(“user.name”);
System.out.println(“当前操作系统是:” + osName);
System.out.println(“当前用户是:” + user);
使用该方法可以获得很多系统级的参数以及对应的值。