Scanner 一個能夠解析基本類型和字符串的文本掃描器java
import java.util.Scanner;算法 public class Test1{編程 public static void main(String[] args) {windows Scanner sc=new Scanner(System.in);數組 System.out.println("請輸入一個整數");dom int aa=sc.nextInt();學習 System.out.println("請輸入一個小數");測試 double bb=sc.nextDouble();this }spa } |
Random類是生成隨機數的類。位於java.util包中。
建立一個新的隨機數生成器,使用當前系統時間的毫秒值做爲種子。
(long seed);
使用單個long種子建立一個新的隨機數生成器,若是兩個Random的long種子同樣,當調用相同的隨機數的方法時,產生的結果是一致的。
示例:
/*隨機數*/ import java.util.Random; public class Test2 { public static void main(String[] args) { //無參事務構造方法; Random dd=new Random(); int ss=dd.nextInt();//隨機生成整數 System.out.println(ss); //範圍是生成0--100之間的隨機數 int num=dd.nextInt(100); System.out.println(num); //生成布爾類型的隨機數,true或者false System.out.println(dd.nextBoolean()); //生成double或者float類型的隨機數, // 他們的範圍是在0.0到1.0之間的數。 System.out.println(dd.nextDouble()); System.out.println(dd.nextFloat());
//有參數的構造方法Random(long seed); Random arr=new Random(6356367L); System.out.println("===>"+arr.nextInt()); System.out.println(arr.nextFloat()); System.out.println(arr.nextDouble());
//種子同樣,算法同樣,獲得的運行結果也就同樣。 Random arr1=new Random(6356367L); System.out.println("===>"+arr1.nextInt());
} } |
/*隨機數*/ import java.util.Random; public class Test2 { public static void main(String[] args) { //無參事務構造方法; Random dd=new Random(); int ss=dd.nextInt();//隨機生成整數 System.out.println(ss); //範圍是生成0--100之間的隨機數 int num=dd.nextInt(100); System.out.println(num); //生成布爾類型的隨機數,true或者false System.out.println(dd.nextBoolean()); //生成double或者float類型的隨機數, // 他們的範圍是在0.0到1.0之間的數。 System.out.println(dd.nextDouble()); System.out.println(dd.nextFloat());
//有參數的構造方法Random(long seed); Random arr=new Random(6356367L); System.out.println("===>"+arr.nextInt()); System.out.println(arr.nextFloat()); System.out.println(arr.nextDouble());
//種子同樣,算法同樣,獲得的運行結果也就同樣。 Random arr1=new Random(6356367L); System.out.println("===>"+arr1.nextInt());
} } |
猜數字小遊戲,遊戲開始時,會隨機生成一個 1-100 之間的整數,玩家猜想一個數字,而後
跟隨機生成的數字進行對比,大了系統提示大了,小了系統提示小了,直到玩家猜中,遊戲
結束。
public class Test3{ public static void main(String[]args){ Random arr=new Random(); int num=arr.nextInt(100);//隨機生成1到100 之間的整數 Scanner input=new Scanner(System.in); while (true){ System.out.println("請玩家輸入一個數字"); int sum=input.nextInt(); if(sum>num){ System.out.println("大了"); }else if(sum<num){ System.out.println("小了"); }else if(num==sum) { System.out.println("恭喜您猜中了"); break; } } System.out.println("遊戲結束"); } } |
//提供一個JavaBean public class Student { private String name; private Integer age; public Student(){
} public Student(String name,Integer age){ this.name=name; this.age=age; } //爲私有的屬性提供get set 方法 public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(Integer age){ this.age=age; } public Integer getAge(){ return age; } } //測試類 public class StudentTest4 { public static void main(String[] args) { //建立學生數組 Student[]students=new Student[3]; //建立目標類的對象 Student student=new Student("王智雅",20); Student student1=new Student("陳天意",23); Student student2=new Student("liwenjie",23); //把學生的對象做爲元素賦值給學生數組 students[0]=student; students[1]=student1; students[2]=student2; //遍歷數組 //每循環一次獲得一個Student對象,由於我是把對象放在了Student 數組中 for(int i=0;i<students.length;i++){ Student ss=students[i]; System.out.println("姓名:"+ss.getName()+"===="+"年齡:"+ss.getAge()); } } } |
【總結】:
到目前爲爲止,咱們想存儲對象數據,選擇的容器只有對象數組,數組的長度是固定的,沒法適應數據變化的需求,爲了解決這個問題,java提供了 ArrayList集合類,讓咱們能夠動態的存儲和操做對象數組。
Java爲基本類型提供了所對應的引用類型,也就是包裝類。
基本數據類型 |
包裝類 |
byte |
Byte |
short |
Short |
int |
Interger |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
把基本數據類型直接賦值給他所對應的包裝類對象,這個過程稱爲裝箱。
把包裝類對象直接賦值給他所對應的基本數據類型,這個過程稱爲拆箱。
//基本數據類型和包裝類 public class Test4 { public static void main(String[] args) { Integer add1=new Integer(100); System.out.println(add1); //裝箱:就是把基本數據類型賦值給包裝類。 int n=20; Integer n2=n;
//拆箱:就是把包裝類賦值給基本數據類型。 int n3=n2; //構造方法 返回此值 Integer轉換爲byte的基本收縮 System.out.println("byte--->"+n2.intValue()); //返回此值 Integer轉換爲short的基本收縮 System.out.println("short-->"+n2.shortValue()); //返回此值 Integer轉換爲float的基本收縮 System.out.println("float-->"+n2.floatValue()); //返回此值 Integer轉換爲long的基本收縮 System.out.println("long-->"+n2.longValue()); //返回此值 Integer轉換爲double的基本收縮 System.out.println("double-->"+n2.doubleValue()); //返回此值 返回 String表示此對象 也就是字符串。 System.out.println("String-->"+n2.toString()+20); } } 【總結】基本數據類型到包裝類仍是包裝類到基本數據類型,能夠直接相互賦值 |
【拆箱和裝箱都是自動完成的】
《小知識點,Interger位於Lang包中,位於lang包中的類不須要導包,直接使用便可》
ArrayList: 是大小可變的數組的實現(底層就是經過數組來實現的,只不過他是一個動態的數組),存儲在內的對象稱爲元素,此類提供了一些方法來操做內部存儲的元素,AarryList其大小會根據元素的個數自動增加或縮小。
AarrayList位於:java.util.Arraylist中,使用時須要導包。
(int index)
;刪除該列表中指定位置的元素。
import java.util.ArrayList; //AarrayList集合 public class Test5 { public static void main(String[] args) { ArrayList<Integer>list=new ArrayList<>(); list.add(10); list.add(20); list.add(30); list.add(40); list.add(50); //size 獲得集合中元素的個數 System.out.println("元素的個數:"+list.size()); //remove(int index)刪除該列表中指定位置的元素。 list.remove(0); System.out.println("移除以後:"+list.size()); //返回此列表中指定元素的個數 for(int i=0;i<list.size();i++){ System.out.print(list.get(i)+" "); } } } import java.util.ArrayList; public class Test6 { public static void main(String[] args) { ArrayList<String>list=new ArrayList<>(); list.add("王智雅"); list.add("楊寅喆"); list.add("馬士甜"); list.add("劉亞晴"); list.add("李文傑"); System.out.println( list.size());//長度 for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } } import java.util.ArrayList; public class Test7 { public static void main(String[] args) { ArrayList<Student>list=new ArrayList<>(); //把Student 對象放在集合中 list.add(new Student("liwenjie",23)); list.add(new Student("wangzhiya",20)); list.add(new Student("liuyaqing",23)); list.add(new Student("趙子龍",34)); for(int i=0;i<list.size();i++){ //獲得的是一個Student對象,由於往集合中放的時候就是一個一個的對象 Student list2=list.get(i); System.out.println(list2.getName()+"==="+list2.getAge()); } } } 【自定義的類也是類】 lwj@ |