開發環境
win10+jdk10
環境變量配置
1.JAVA_HOME

JAVA_HOME
C:\Program Files\Java\jdk-10.0.1
2.CLASSPATH

CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3.Path

%JAVA_HOME%\bin
java反編譯工具
http://jd.benow.ca/
數組就那些事情
package com.wanson;
import java.util.Arrays;
import java.util.Scanner;
public class Driver {
public static void main(String[] args) {
long num1 = Runtime.getRuntime().freeMemory(); //獲取系統剩余的內存空間
long time1 = System.currentTimeMillis();//獲取系統的當前時間
/*
* 數組是 相同類型的數據 按順序組成的 一種 引用數據類型
*
* 語法格式:
數據類型 數組名;
變量聲明的語法格式:
數據類型 變量名;
數組語法語法格式:
數據類型[] 數組名;(Java程序員推薦使用這個)
數據類型 數組名[];
數組創建語法格式一:先聲明后創建
數據類型[] 數組名;
數組名=new 數據類型[數組長度];
數組創建語法格式二:聲明的同時創建數組
數據類型[]數組名=new數據類型[數組長度];
數組元素的引用語法格式:
數組名[下標];
注意:下標從0開始
*
* */
/* String[]names={"wanson","china","jim","usa","uk"};
System.out.println("長度:\t"+names.length);
System.out.println("最后一個元素值:\t"+names[names.length-1]);*/
int[]nums=new int[5];
Scanner scanner=new Scanner(System.in);
for (int i = 0; i <nums.length ; i++) {
System.out.println("請輸入第\t"+(i+1)+"\t個元素:\t\n");
nums[i]= Integer.valueOf(scanner.next());
}
// 獲取數組元素方式1
System.out.println("***********************************************");
for (int numbers : nums) {
System.out.print("\t"+numbers+"\t");
}
System.out.println();
// 獲取數組元素方式2
for (int i = 0; i <nums.length ; i++) {
System.out.print("\t"+nums[i]+"\t");
}
System.out.println();
System.out.println("***********************************************");
// 獲取數組元素方式3
System.out.println(Arrays.toString(nums));
long num2 = Runtime.getRuntime().freeMemory();//獲取系統剩余的內存空間
long time2 = System.currentTimeMillis();//獲取系統的當前時間
System.out.println("程序占用內存:" + (num1 - num2));
System.out.println("程序占用時間:" + (time2 - time1));
}
}
內功裝X大法:Java常用API
package com.wanson;
//導包
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Driver {
public static void main(String[] args) {
long num1 = Runtime.getRuntime().freeMemory(); //獲取系統剩余的內存空間
long time1 = System.currentTimeMillis();//獲取系統的當前時間
System.out.println("##############################Scanner類###################################");
/*
* Scanner類的功能,可以實現鍵盤輸入數據,到程序當中。
*
* 引用類型的一般使用步驟:
1.導包
import 包路徑.類名稱;
如果需要使用的目標類,和當前類位於同一個包下,則可以省略導包語句不寫。
只有java.Lang包下的內容不需要導包,其他的包都需要import語句。
2.創建
類名稱 對象名=new 類名稱();
3.使用
對象名.成員方法名()
獲取健盤輸入的一個int數字;int num=scanner.nextInt();
獲取健盤輸入的一個字符串:String str=scanner.next();
*
*
* */
//2.創建
/*
* 備注:System.in代表從鍵盤進行輸入
* */
Scanner scanner=new Scanner(System.in);
//3.獲取健盤輸入的int數字
// System.out.println("請輸入一個數字:\t");
// int num=scanner.nextInt();
// System.out.println("num=:\t"+num);
//4.獲取健盤輸入的字符串
// System.out.println("請輸入一個名字:\t");
// String name=scanner.next();
// System.out.println("name=:\t"+name);
//case 1--兩個求和
//System.out.println(scanner.nextInt()+scanner.nextInt());
//case 2--三個數最大值
/*System.out.println(Math.max(scanner.nextInt(),
Math.max(scanner.nextInt(),scanner.nextInt()))
);*/
System.out.println("###########################匿名類######################################");
/*
* 匿名對象就是只有右邊的對象,沒有左邊的名字和賦值運算符。
new類名稱();
注意事項:匿名對象只能使用唯一的一次,下次再用不得不再創建一個新對象。
使用建議:如果確定有一個對象只需要使用唯一的一次,就可以用匿名對象。|
* */
//匿名對象
/* new Person().name="china";
System.out.println(new Person().getName());//返回null值*/
// case 1(語句) --密碼 匿名對象的方式
// System.out.println("請輸入你的銀行密碼:\t");
// System.out.println("密碼回顯結果:\t"+new Scanner(System.in).nextInt());
// case 2(方法手段)
//使用匿名對象來進行傳參
// methodParameter(new Scanner(System.in));
/* Scanner sc = methodReturn();
System.out.println("age:\t"+sc.nextInt());*/
System.out.println("#############################Random類####################################");
/*
*
* Random類用來生成隨機數字。
*
* */
//創建
Random random=new Random();
//使用
// int num=random.nextInt();
//獲取一個隨機的int數字(范圍是int所有范圍,有正負兩種)
//獲取一個隨機的int數字(參數代表了范圍,左閉右開區間)
//實際上代表的含義是[0,n) 也就是0~n-1
/// System.out.println("隨機數:\t"+num);
/*for (int i = 0; i <5*//*循環次數*//* ; i++) {
System.out.println(
random.nextInt(10)//0~9之間隨意取值
);
}*/
//case 閉區間處理手段 例如[1,n]
/*for (int i = 0; i <10 ; i++) {
System.out.println(
random.nextInt(4)+1 //本來范圍是[0,n),整體+1之后變成了[1,n+1),也就是[1,n]
);
}*/
//case 猜數字游戲 ---不限定次數
int randomNumber=random.nextInt(10)+1;
/*while (true){
System.out.println("請輸入你的猜測的數字:\t");
int guessNumber = scanner.nextInt();//從鍵盤輸入猜測的數字
if (guessNumber>randomNumber){
System.out.println("太大了,請重試......");
}else if(guessNumber<randomNumber){
System.out.println("太小了,請重試......");
}else {
System.out.println("恭喜你,猜中了");
break;//如果猜中,不再重拾
}
}
System.out.println("游戲結束");*/
//限定次數
/*for (int k = 0; k <3 ; k++) {
System.out.println("請輸入你的猜測的數字:\t");
int guessNumber = scanner.nextInt();//從鍵盤輸入猜測的數字
if (guessNumber>randomNumber){
System.out.println("太大了,請重試......");
}else if(guessNumber<randomNumber){
System.out.println("太小了,請重試......");
}else {
System.out.println("恭喜你,猜中了");
break;//如果猜中,不再重拾
}
}
System.out.println("游戲結束");*/
System.out.println("#############################ArrayList集合####################################");
/*
* 對象數組
* */
////問題------數組的缺陷
//首先創建一個長度為3的數組,里面用來存放Person類型的對象
Person[]people=new Person[3];
System.out.println(people[0]);
Person one=new Person("wanson",18);
Person two=new Person("andrew",16);
Person three=new Person("jim",12);
//將one當中的地址值賦值到數組的0號元素位置
people[0]=one;
people[1]=two;
people[2]=three;
System.out.println(people[0]);//地址值
System.out.println(people[1]);//地址值
System.out.println(people[2]);//地址值
/*Person person1=people[1];
System.out.println(person1);*/
System.out.println(people[0].getName());//內容
System.out.println(people[1].getName());//內容
System.out.println(people[2].getName());//內容
long num2 = Runtime.getRuntime().freeMemory();//獲取系統剩余的內存空間
long time2 = System.currentTimeMillis();//獲取系統的當前時間
System.out.println("程序占用內存:" + (num1 - num2));
System.out.println("程序占用時間:" + (time2 - time1));
}
public static void methodParameter(Scanner scanner){
System.out.println("請輸入你的銀行密碼:\t");
System.out.println("密碼回顯結果:\t"+new Scanner(System.in).nextInt());
}
//帶返回值的匿名對象
public static Scanner methodReturn(){
return new Scanner(System.in);
}
}