StringBuffer 和 StringBuilder 类 你需要考虑线程安全,那么使用 StringBuffer 是比较安全的选择。否则,你可以使用 StringBuilder,因为它的性能更好。
public class RunoobTest { public static void main (String args[]) { StringBuilder sb = new StringBuilder (10 ); sb.append("Runoob.." ); System.out.println(sb); sb.append("!" ); System.out.println(sb); sb.insert(8 , "Java" ); System.out.println(sb); sb.delete(5 ,8 ); System.out.println(sb); } }
1 public StringBuffer append (String s) 将指定的字符串追加到此字符序列。 2 public StringBuffer reverse () 将此字符序列用其反转形式取代。 3 public delete (int start, int end) 移除此序列的子字符串中的字符。 4 public insert (int offset, int i) 将 int 参数的字符串表示形式插入此序列中。 5 insert(int offset, String str)将 str 参数的字符串插入此序列中。 6 replace(int start, int end, String str)使用给定 String 中的字符替换此序列的子字符串中的字符。 1 int capacity () 返回当前容量。 2 char charAt (int index) 返回此序列中指定索引处的 char 值。 3 void ensureCapacity (int minimumCapacity) 确保容量至少等于指定的最小值。 4 void getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin) 将字符从此序列复制到目标字符数组 dst。 5 int indexOf (String str) 返回第一次出现的指定子字符串在该字符串中的索引。 6 int indexOf (String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。 7 int lastIndexOf (String str) 返回最右边出现的指定子字符串在此字符串中的索引。 8 int lastIndexOf (String str, int fromIndex) 返回 String 对象中子字符串最后出现的位置。 9 int length () 返回长度(字符数)。 10 void setCharAt (int index, char ch) 将给定索引处的字符设置为 ch。 11 void setLength (int newLength) 设置字符序列的长度。 12 CharSequence subSequence (int start, int end) 返回一个新的字符序列,该字符序列是此序列的子序列。 13 String substring (int start) 返回一个新的 String,它包含此字符序列当前所包含的字符子序列。 14 String substring (int start, int end) 返回一个新的 String,它包含此序列当前所包含的字符子序列。 15 String toString () 返回此序列中数据的字符串表示形式
Java 数组 声明数组变量 dataType[] arrayRefVar; dataType[] arrayRefVar = new dataType [arraySize]; public class TestArray { public static void main (String[] args) { int size = 10 ; double [] myList = new double [size]; myList[0 ] = 5.6 ; myList[1 ] = 4.5 ; myList[2 ] = 3.3 ; myList[3 ] = 13.2 ; myList[4 ] = 4.0 ; myList[5 ] = 34.33 ; myList[6 ] = 34.0 ; myList[7 ] = 45.45 ; myList[8 ] = 99.993 ; myList[9 ] = 11123 ; double total = 0 ; for (int i = 0 ; i < size; i++) { total += myList[i]; } System.out.println("总和为: " + total); } }
For-Each 循环 public class TestArray { public static void main (String[] args) { double [] myList = {1.9 , 2.9 , 3.4 , 3.5 }; for (double element: myList) { System.out.println(element); } }
数组作为函数的参数 public static void printArray (int [] array) { for (int i = 0 ; i < array.length; i++) { System.out.print(array[i] + " " ); } }
##数组作为函数的返回值
public static int [] reverse(int [] list) { int [] result = new int [list.length]; for (int i = 0 , j = result.length - 1 ; i < list.length; i++, j--) { result[j] = list[i]; } return result; }
多维数组 int [][] a = new int [2 ][3 ];String[][] s = new String [2 ][]; s[0 ] = new String [2 ]; s[1 ] = new String [3 ]; s[0 ][0 ] = new String ("Good" ); s[0 ][1 ] = new String ("Luck" ); s[1 ][0 ] = new String ("to" ); s[1 ][1 ] = new String ("you" ); s[1 ][2 ] = new String ("!" );
Arrays 类
1 public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
2 public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
3 public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
4 public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
Java 日期时间
序号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 2 boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 3 Object clone( ) 返回此对象的副本。 4 int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 5 int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 6 boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 7 long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 8 int hashCode( ) 返回此对象的哈希码值。 9 void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 10 String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
import java.util.*;import java.text.*; public class DateDemo { public static void main (String[] args) { Date dNow = new Date ( ); SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss" ); System.out.println("当前时间为: " + ft.format(dNow)); } }
print输出例子 import java.util.Date;public class DateDemo { public static void main (String[] args) { Date date = new Date (); System.out.printf("全部日期和时间信息:%tc%n" ,date); System.out.printf("年-月-日格式:%tF%n" ,date); System.out.printf("月/日/年格式:%tD%n" ,date); System.out.printf("HH:MM:SS PM格式(12时制):%tr%n" ,date); System.out.printf("HH:MM:SS格式(24时制):%tT%n" ,date); System.out.printf("HH:MM格式(24时制):%tR" ,date); } }
如果你需要重复提供日期,那么利用这种方式来格式化它的每一部分就有点复杂了。因此,可以利用一个格式化字符串指出要被格式化的参数的索引。
import java.util.Date;public class DateDemo { public static void main (String[] args) { Date date = new Date (); System.out.printf("%1$s %2$tB %2$td, %2$tY" , "Due date:" , date); } }
解析字符串为时间
SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd" ); try { t = ft.parse(input); System.out.println(t); } catch (ParseException e) { System.out.println("Unparseable using " + ft); }
Java 休眠(sleep) import java.util.*;public class SleepDemo { public static void main (String[] args) { try { System.out.println(new Date ( ) + "\n" ); Thread.sleep(1000 *3 ); System.out.println(new Date ( ) + "\n" ); } catch (Exception e) { System.out.println("Got an exception!" ); } } }
测量时间 import java.util.*;public class DiffDemo { public static void main (String[] args) { try { long start = System.currentTimeMillis( ); System.out.println(new Date ( ) + "\n" ); Thread.sleep(5 *60 *10 ); System.out.println(new Date ( ) + "\n" ); long end = System.currentTimeMillis( ); long diff = end - start; System.out.println("Difference is : " + diff); } catch (Exception e) { System.out.println("Got an exception!" ); } } }
Calendar类 Calendar c1 = Calendar.getInstance();int year = c1.get(Calendar.YEAR);int month = c1.get(Calendar.MONTH) + 1 ;int date = c1.get(Calendar.DATE);int hour = c1.get(Calendar.HOUR_OF_DAY);int minute = c1.get(Calendar.MINUTE);int second = c1.get(Calendar.SECOND);int day = c1.get(Calendar.DAY_OF_WEEK);