Java SE 05(Scanner唾戚、Random柳洋、ArrayList、JavaBean)

API

API(Application Programming Interface)叹坦,應(yīng)用程序編程接口熊镣。Java API是一本程序員的字典 ,是JDK中提供給 我們使用的類的說明文檔募书。

Scanner類

一個(gè)可以解析基本類型和字符串的簡單文本掃描器

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

注:備注:System.in 系統(tǒng)輸入指的是通過鍵盤錄入數(shù)據(jù)绪囱。

引用類型使用步驟

導(dǎo)包:

除了Java.Lang包下的類不需要導(dǎo)入,其他的必須導(dǎo)入才能使用
導(dǎo)包的格式: import 包名.類名莹捡;

java.util.Scanner;

創(chuàng)建對象:

使用該類的構(gòu)造方法鬼吵,創(chuàng)建一個(gè)該類的對象。
格式:

數(shù)據(jù)類型 變量名 = new 數(shù)據(jù)類型(參數(shù)列表);
//舉例:
Scanner sc = new Scanner(System.in);

調(diào)用方法:

調(diào)用該類的成員方法道盏,完成指定功能而柑。

格式:變量名.方法名();
//例如:
int  i  =  sc.nextInt();  //  接收一個(gè)鍵盤錄入的整數(shù)

案例:

//鍵盤錄入三個(gè)數(shù)據(jù)并獲取最大值
    public class Exercise {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("請輸入第一個(gè)數(shù)據(jù)");
        int num1 = s.nextInt();
        System.out.println("請輸入第二個(gè)數(shù)據(jù)");
        int num2 = s.nextInt();
        System.out.println("請輸入第三個(gè)數(shù)據(jù)");
        int num3 = s.nextInt();
        int temp = num1 > num2 ? num1 : num2;
        int max = temp > num3 ? temp : num3;
        System.out.println(max);
    }
}

匿名對象:(沒有名的對象) 只創(chuàng)建對象語句文捶,沒有把對象地址值賦值給某個(gè)變量

格式:

new 類名(參數(shù)列表)荷逞;
舉例:new Scanner(System.in);
應(yīng)用:
1.創(chuàng)建匿名對象直接調(diào)用方法粹排,沒有變量名种远。優(yōu)點(diǎn):簡潔

new Scanner(System.in).nextInt()

2.一旦調(diào)用兩次方法,相當(dāng)于創(chuàng)建了兩個(gè)對象顽耳。缺點(diǎn):浪費(fèi)

new Scanner(System.in).nextInt();
new Scanner(System.in).nextInt();

注:一個(gè)匿名對象坠敷,只能使用一次
3.匿名對象可以作為方法的參數(shù)和返回值

1.作為參數(shù):

public class Test02Scanner {
    public static void main(String[] args) {
          //普通方法
       Scanner sc = new Scanner(System.in);
        input(sc);
//        //匿名對象作為方法的接收參數(shù)
        input(new Scanner(System.in));
    }
    public static void input(Scanner scanner){
        System.out.println(scanner);
    }
}

2.作為返回值

public class Test03Scanner {
    public static void main(String[] args) {
        // 匿名對象作為返回值
        getScanner();
    }
    public static Scanner getScanner(){
        // 普通方式scanner的返回值
//        Scanner scanner = new Scanner(System.in);
//        return scanner;

        //匿名對象作為方法的返回值
        return new Scanner(System.in);
   }
}

Random類

Random類
此類的實(shí)例用于生成偽隨機(jī)數(shù)妙同。

例如:
Random r = new Random();
int i = r.nextInt();

案例:

public class Test02Random {
    //游戲開始生成一個(gè)1-100之間的隨機(jī)整數(shù)number,玩家猜測一個(gè)數(shù)字guessnumber
    //系統(tǒng)提示猜大了 還是猜小了膝迎,直到玩家猜對
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        Random random = new Random();
        int i = random.nextInt(100) + 1;
        while (true) {
            System.out.println("請輸入你猜的數(shù)");
            int guessNumber = s.nextInt();
            if (guessNumber < i) {
                System.out.println("猜小了" + i);
            } else if (guessNumber > i) {
                System.out.println("猜大了" + i);
            } else {
                System.out.println("猜對了");
                break;
            }
        }
    }
}

ArrayList類

一般的對象數(shù)組 Student[ ] students = new Student[ ] 長度是固定的粥帚,無法適應(yīng)數(shù)據(jù)變化的需求。所以Java提供了另一個(gè)容器java.util.ArrayList集合類限次,讓我們可以更便捷的存儲(chǔ)和操作對象數(shù)據(jù)芒涡。

java.util.ArrayList 是大小可變的數(shù)組的實(shí)現(xiàn),存儲(chǔ)在內(nèi)的數(shù)據(jù)稱為元素卖漫。此類提供一些方法來操作內(nèi)部存儲(chǔ)的元素费尽。 ArrayList 中可不斷添加元素,其大小也自動(dòng)增長羊始。

ArrayList使用步驟
  • 查看類

java.util.ArrayList <E> :該類需要 import導(dǎo)入使后使用旱幼。
<E> :表示一種指定的數(shù)據(jù)類型,叫做泛型突委。
E :取自Element(元素)的首字母柏卤。在出現(xiàn) E 的地方,我們使
用一種引用數(shù)據(jù)類型將其替換即可鸯两,表示我們將存儲(chǔ)哪種引用類型的元素闷旧。
代碼如下:ArrayList<String>,ArrayList<Student>钧唐、

  • 查看構(gòu)造方法:

public ArrayList() :構(gòu)造一個(gè)內(nèi)容為空的集合忙灼。

  • 基本格式:

ArrayList<String> list = new ArrayList<String>();

  • 在JDK 7后,右側(cè)泛型的尖括號之內(nèi)可以留空,但是<>仍然要寫钝侠。簡化格式:

ArrayList<String> list = new ArrayList<>();

  • 查看成員方法:
public boolean add(E e) : 將指定的元素添加到此集合的尾部该园。
參數(shù) E e ,在構(gòu)造ArrayList對象時(shí)帅韧, <E> 指定了什么數(shù)據(jù)類型里初,那么 add(E e) 方法中,只能添加什么數(shù)據(jù)
類型的對象忽舟。
  • 使用ArrayList類双妨,存儲(chǔ)三個(gè)字符串元素,代碼如下:
public class Test02StudentArrayList {
public static void main(String[] args) {
//創(chuàng)建學(xué)生數(shù)組
ArrayList<String> list = new ArrayList<>();
//創(chuàng)建學(xué)生對象
String s1 = "曹操";
String s2 = "劉備";
String s3 = "孫權(quán)";
//打印學(xué)生ArrayList集合
System.out.println(list); //  輸出的為[ ]
//把學(xué)生對象作為元素添加到集合
list.add(s1);
list.add(s2);
list.add(s3);
//打印學(xué)生ArrayList集合
System.out.println(list);  
}
}

ArrayList常用方法和遍歷

對元素的操作叮阅,增刁品、刪、改浩姥、查:

  • 創(chuàng)建 ArrayList<E> list = new ArrayList<String>();
  • 添加 :
  1. list.add(E e) 將指定的元素添加到此列表的尾部挑随。
  2. list.add(int index, E element) 將指定的元素插入此列表中的指定位置。
  • ArrayList 中元素的個(gè)數(shù) list.size() 返回此列表中的元素?cái)?shù)
  • 訪問 : get(int index) 返回此列表中指定位置上的元素勒叠。
  • 遍歷:for (int i = 0; i < list.size() ; i++) {
    //循環(huán)體
    }
    -刪除: remove(int index) :移除此集合中指定位置上的元素兜挨。返回被刪除的元素膏孟。
public class Demo01ArrayListMethod {
public static void main(String[] args) {
//創(chuàng)建集合對象
ArrayList<String> list = new ArrayList<String>();
//添加元素
list.add("hello");
list.add("world");
list.add("java");
//public E get(int index):返回指定索引處的元素
System.out.println("get:"+list.get(0));
System.out.println("get:"+list.get(1));
System.out.println("get:"+list.get(2));
//public int size():返回集合中的元素的個(gè)數(shù)
System.out.println("size:"+list.size());
//public E remove(int index):刪除指定索引處的元素,返回被刪除的元素
System.out.println("remove:"+list.remove(0));
//遍歷輸出
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}

存儲(chǔ)基本數(shù)據(jù)類型

ArrayList對象不能存儲(chǔ)基本類型拌汇,只能存儲(chǔ)引用類型的數(shù)據(jù)柒桑。類似 <int> 不能寫,但是存儲(chǔ)基本數(shù)據(jù)類型對應(yīng)的
包裝類型是可以的噪舀。所以幕垦,想要存儲(chǔ)基本類型數(shù)據(jù), <> 中的數(shù)據(jù)類型傅联,必須轉(zhuǎn)換后才能編寫先改,轉(zhuǎn)換寫法如下:

基本類型 基本類型包裝類
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

JavaBean

JavaBean  爪哇 的 咖啡豆 是一種Java的標(biāo)準(zhǔn)規(guī)范
符合JavaBean的類要求:
1.類必須是具體的和公共的 
2.并且具有無參構(gòu)造方法
3.提供用來操作成員變量的set和get方法,和數(shù)據(jù)庫中表字段對應(yīng)的實(shí)體類就是一個(gè)典型的JavaBean
  • 格式

    成員變量
    無參構(gòu)造方法【必須】
    有參構(gòu)造方法【建議】
    成員方法
    getXXX()
    setXXX()

public class StudentJavaBean {
    //格式
    //成員變量
    private  String name;
    private  int age;
    //無參構(gòu)造方法【必須】
    public StudentJavaBean(){
    }
    //有參構(gòu)造方法【建議】
    public StudentJavaBean(String name, int age){
        this.name = name;
        this.age = age;
    }
    //成員方法
    //getXXX()
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
    //setXXX()
    public void setName(String name){
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒸走,一起剝皮案震驚了整個(gè)濱河市仇奶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌比驻,老刑警劉巖该溯,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異别惦,居然都是意外死亡狈茉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門掸掸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氯庆,“玉大人,你說我怎么就攤上這事扰付〉棠欤” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵羽莺,是天一觀的道長实昨。 經(jīng)常有香客問我,道長盐固,這世上最難降的妖魔是什么荒给? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮刁卜,結(jié)果婚禮上志电,老公的妹妹穿的比我還像新娘。我一直安慰自己长酗,他們只是感情好溪北,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布桐绒。 她就那樣靜靜地躺著夺脾,像睡著了一般之拨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咧叭,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天蚀乔,我揣著相機(jī)與錄音,去河邊找鬼菲茬。 笑死吉挣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的婉弹。 我是一名探鬼主播睬魂,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼镀赌!你這毒婦竟也來了氯哮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤商佛,失蹤者是張志新(化名)和其女友劉穎喉钢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體良姆,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肠虽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玛追。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片税课。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖痊剖,靈堂內(nèi)的尸體忽然破棺而出伯复,到底是詐尸還是另有隱情,我是刑警寧澤邢笙,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布啸如,位于F島的核電站,受9級特大地震影響氮惯,放射性物質(zhì)發(fā)生泄漏叮雳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一妇汗、第九天 我趴在偏房一處隱蔽的房頂上張望帘不。 院中可真熱鬧,春花似錦杨箭、人聲如沸寞焙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捣郊。三九已至辽狈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呛牲,已是汗流浹背刮萌。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娘扩,地道東北人着茸。 一個(gè)月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像琐旁,于是被迫代替她去往敵國和親涮阔。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348