標籤:
1.通過時間毫秒數來儲存日期和時間
JDK提供System.currentTimeMillis()方法,返回1970年1月1日零點到此時此刻所經曆的毫秒數。
其資料類型為long,該方法經常用於計時操作.
2.條件三目運算子
boolean運算式?運算式1:運算式2
3.switch-case和break聯合使用
通常case1、case2、...caseN對應完全不同的操作,可以和break語句配合使用,
執行完相應語句後即退出switch塊,不繼續執行下面的語句。
4.迴圈中使用beak語句
break可以用於迴圈語句或switch語句中;
break用於迴圈,可使程式終止迴圈而執行迴圈後面的語句,常常與條件陳述式一起使用。
5.迴圈中使用continue語句
continue只能用於迴圈體中
其作用為跳過迴圈體中剩餘語句而執行下一次迴圈
6..隨機數產生
int num=(int)(Math.random()*1000)+1;//(1-1000)
7.隨機數產生
Random ran=new Random()
ran.nextInt(1000);//(0-99)
8.使用者輸入
Scanner scan=new Scanner(System.in);
scan.next..
9.聲明數組的文法
資料類型[] 數組名=new 資料類型[大小];
int[] arr與int arr[]兩種寫法均可
聲明數組時不規定數組長度,new關鍵字分配空間時需要指定分配的空間大小
10.擷取數組的長度
int[] arr=new int[]{3,6,8,9};
int len=arr.length;
11.System.arraycopy方法用於數組複製
public static arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
12.Arrays.copyOf方法用於數組複製
使用java.util.Arrays類的copyOf方法可實現數組的複製
類型[] newArray=Arrays.copyOf(類型[] original,int newLength);
特點:產生新數組是源數組的副本
newLength小於源數組,則進行截取
newLength大於源數組,則用0或null進行填充
13.Arrays.sort方法用於數組的排序
JDK 提供的Arrays.sort()方法封裝了數組的排序演算法;
Arrays.sort(arr);
14.冒泡排序
System.out.println("----------冒泡排序開始----------");
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
15.return語句
可通過return語句返回,return語句的作用在於結束方法且將資料返回給調用方法。
16.猜字母遊戲
public class GuessingGame {
public static void main(String[] args){
//表示玩家猜測的次數
int count=0;
//表示使用者猜測的資料
char[] input=null;
//表示猜測的字串
char[] chs=null;
//用於儲存判斷的結果
int[] result=new int[2];
Scanner scan=new Scanner(System.in);
System.out.println("GuessingGame>歡迎嘗試猜字母遊戲!");
//表示猜測的字串
chs=generate();
System.out.println("GuessingGame>遊戲開始,請輸入你所猜的5個字母序列:(exit——退出)");
while(true){
String inputStr=scan.next().trim().toUpperCase();
if("EXIT".equals(inputStr)){
System.out.println("GuessingGame>謝謝你的嘗試,再見!");
break;
}
input=inputStr.toCharArray();
result=check(chs,input);
if(result[0]==chs.length){
int score=100*chs.length-count*10;
System.out.println("GuessingGame>恭喜你才對了!你的得分是:"+score);
break;
}else{
count++;
System.out.println("GuessingGame>你猜對"+result[1]+"個字元,其中" +
result[0]+"個字元的位置正確!(總次數="+count+",exit——退出)");
}
}
scan.close();
}
/**
* 隨機產生需要猜測的資料
* @return儲存隨機字元的數組
*/
public static char[] generate(){
char[] chs=new char[5];
char[] letters={‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,
‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘O‘,‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,
‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘};
boolean[] flags=new boolean[letters.length];
for(int i=0;i<chs.length;i++){
int index;
do{
index=(int)(Math.random()*(letters.length));
}while(flags[index]);//判斷產生的字元是否重複
chs[i]=letters[index];
flags[index]=true;
}
return chs;
}
/**
* 比較玩家輸入的字元序列和程式所產生的字母序列,逐一比較字元及其位置,並記載比較結果
* @param chs
* 程式產生的字元序列
* @param input
* 玩家輸入的字元序列
* @return
* 儲存比較的結果。傳回值int數組的長度為2,其中,
* 索引為0的位置用於存放完全猜對的字母的個數(字元和位置均正確),
* 索引為1的位置用於存放猜對的字母個數(字元正確,但是位置不正確)
*/
public static int[] check(char[] chs,char[] input){
int[] result=new int[2];
for(int i=0;i<input.length;i++){
for(int j=0;j<chs.length;j++){
if(input[i]==chs[j]){//判斷字元是否正確
result[1]++;
if(i==j){//判斷位置是否正確
result[0]++;
}
break;
}
}
}
return result;
}
}
Java常用代碼