黑馬程式設計師:Random類與ArrayList類的構造方法和創建(附習題)

2021-01-11 啊窩額1

本文內容:

Random類ArrayList類本文學後目標:

能夠使用Random類生成隨機數

能夠使用數組存儲自定義類型並遍歷

能夠使用ArrayList集合構造方法創建ArrayList集合對象

一、 Random類

1.此類的實例用於生成偽隨機數,比如說是,下面的代碼可以使我們能夠得到一個隨機的數字:

Random r =new Random( );int i =r.nextInt( );

2.Random使用步驟

查看類

java.util.Random:這個類當中需要import導入後使用

查看類的構造方法

public Random( );:創建一個新的隨機數生成器

查看成員方法

public Random( ):返回一個偽隨機的數,這個數的範圍在0(包括)指定值n(不包括)之間的int值;

使用Random類,完成生產3個10以內的隨機整數操作,代碼如下圖所示:

注意!創建一個Random對象的話,每次調用nextInt()方法,都會生成一個隨機的數

3.練習題

我們做一個練習題,獲取其中的隨機數。獲取一個1-n當中的隨機數,其中包含n,代碼如下圖所示(希望小夥伴自己敲出來以後再對照代碼查錯哦)

猜數字小遊戲

當遊戲開始的時候,會隨機的生成一個1-100之間的整數number。玩家可以猜測一個數字guessNumber,會與number作比較,系統提示大或者小了,一直到玩家猜中,遊戲結束。

這裡給大家一個小的提示:我們可以先運行代碼,理解這道題的需求,經過分析以後,再來寫代碼。

二、ArrayList類

引入--對象數組使用學生數組,存儲三個學生對象,代碼如下圖所示:

其實看到上面代碼,我們想存儲的對象數據,可以選擇的容器,只有對象數組。然而數組的長度是固定的,無法適應數據變化的需求,為了解決這個問題。Java提供了另一個容器java.until.ArrayList集合類,讓我們可以更簡單的存儲和操作對象數據。

2.什麼是ArrayList類

java.until.ArrayList是大小可變的數組實現,存儲其中的數據被我們稱為元素。此類提供一些方法來操作內部存儲的元素,ArrayList中是可以不斷的添加元素的,其大小也是自動增長的。

3.ArrayList的使用步驟

查看類

java.until.ArrayList<E>:這個類需要import導入之後使用

其中我們看到的<E>,表示的一種指定的數據類型,叫做泛型。E是取自Element(元素)的首字母E。在數顯E的地方,我們使用一種引用數據類型將其替換就可以了,表示我們將存儲那種引用類型的元素。代碼如下圖所示:

查看構造方法:

public ArrayList( ):這是構造一個內容為空的集合

基本格式如下:

在JDK7後,右側是泛型的尖括號之內可以留空,但是<>這個符號仍然要寫的,簡化格式如下

查看成員方法:

public booIean add(E e):將制定的元素添加到次集合的尾部

其中E e是參數,在構造ArrayList對象的時候,<E>制定了什麼數據類型,那麼add(E e)的方法中,智能添加什麼數據類型的對象。

使用ArrayList類,存儲三個字符串元素,代碼如下圖所示:

相關焦點

  • 黑馬程式設計師:Python封裝、繼承和多態以及類方法等習題
    習題總結:本文的習題繼續面向對象編程的知識點,包括面向對象的三大特徵,圍繞類屬性和實例屬性,還有類的方法和靜態方法。通過本章內容的學習複習,大家對面向對象應該會有比較深入的了解了。為以後的開發奠定好紮實的面向對象編程思想。如果有需要答案的小夥伴依舊是轉發後評論獲取。
  • Java之File類的構造方法
    Java之File類的簡單介紹,File類的靜態成員變量,這次小編要介紹的是File類的構造方法2:File(String parent,String child)根據parent路徑名字符字符串和child路徑名字符串創建一個新File實例。
  • EffectiveJava-3-類和接口
    ,不要為getter方法編寫對應的setter方法,以保證類的不可變,getter方法可以返回保護性拷貝對象;只有當確認有必要實現令人滿意的性能時,才應該為不可變類提供公有的可變配套類,如String的可變配套類StringBuilder和StringBuffer;構造器/靜態工廠方法應該創建完全初始化的對象,並建立起所有的約束關係,不要再提供額外的公有初始化方法,或重新初始化方法
  • java第五章 類和對象(核心)
    Student();//給成員變量賦值s.name = "林青霞";s.setAge(30);//調用show方法s.show();}}4.2 private的使用【應用】需求:定義標準的學生類,要求name和age使用private修飾,並提供set和get方法以及便於顯示數據的
  • Unity編碼篇 Mathf類和Random類
    今天給大家介紹一下 Mathf 類 和 Random 類 ,Mathf 是數學中用到的方法 :Abs : 絕對值Clamp : 把數值限制在規定的最小值和最大值之間Cos : 餘弦值Deg2Rad : 角度轉弧度 ;Log : 對數 ;Max : 最大值 ;Min
  • Java之Random類的簡單介紹
    各位小夥伴這次小編要介紹的是Random類,它是用來形成隨機數字的,使用Random有三個步驟,與之前講的Scanner類差不多。第一步,導包:import java.util.Random第二步,創建:Random a=new Random();小括號是可以留空的第三步,使用:如果要獲取一個隨機數int數字(範圍是int所有範圍,有正負兩種):int num=a.nextInt();為了方便大家的理解,小編就先粘幾行代碼,是一個比較簡單的猜數字小遊戲,代碼如下:
  • python中類的繼承和多態
    繼承是為了代碼復用和設計復用而設計的,是面向對象程序設計的重要特徵之一。當我們設計一個新類時,如果可以繼承一個已有的設計良好的類然後進行二次開發,無疑會大幅度減少開發工作量。1.在python中繼承的一些特點:A、 在繼承中基類的構造函數(__init__()方法)不會被自動調用,它需要在其派生類的構造中親自專門調用B、 如果需要在派生類中調用基類的方法時,通過「基類名.方法名()」的方法來實現,需要加上基類的類名前綴,且需要帶上self
  • 【4】類的繼承和多態-簡易的Python面向對象教程
    面向對象(2) - 實例方法 (本文) 面向對象(3) - 類屬性和類方法 面向對象(4) - 繼承和多態,以及一個綜合小遊戲案例
  • 不使用"class"也能定義類了?還順手要幹掉Lombok!
    坐標,並且只提供了構造函數,以及一些equals、hashCode等方法。如以下內容:toString()方法hashCode() and equals()方法Getter 方法一個共有的構造函數對於這種簡單的類,這些方法通常是無聊的、重複的,而且是可以很容易地機械地生成的那種東西(ide通常提供這種功能)。當你閱讀別人的代碼時,可能會更加頭大。
  • 如何創建並引用?這就告訴你!
    主要內容:對象的創建鍵名和鍵值對象的引用Math對象Date對象學習目標:為什麼要使用對象?1.1 什麼是類類:就是具有相同的屬性和方法的集合。人類,動物類,家電類等。1.2 什麼是對象對象:就類中的一個具體的實物。人類-具體某一個人(張三丰)。動物類-(一個具體的動物-東北虎),家電類-(具體一個比如說電視。)js 中我們包含哪些對象呢?
  • mac版Unity Pro遊戲開發工具如何創建和使用腳本
    Unity允許您使用腳本創建自己的組件。這些使您可以觸發遊戲事件,隨時間修改組件屬性並以您喜歡的任何方式響應用戶輸入。mac版Unity Pro遊戲開發工具如何創建和使用腳本創建腳本與大多數其他資產不同,腳本通常直接在Unity中創建。您可以從「項目」面板左上角的「創建」菜單中創建新腳本,也可以從主菜單中選擇「資產」>「創建」>「C#腳本」。
  • 提升java編程性能優化知識 程式設計師必看這幾點
    每個人在學習的路上都有自己的方法。對於學習java的學子也是如此,那麼java程式設計師如何提高編程性能呢,有哪些小知識或者技巧呢,怎麼樣才能在編程性能優化方面有所提升呢?  2.儘量避免過多過常的創建Java對象  儘量避免在經常調用的方法,循環中new對象,由於系統不僅要花費時間來創建對象,而且還要花時間對這些對象進行垃圾回收和處理,在我們可以控制的範圍內,最大限度的重用對象,最好能用基本的數據類型或數組來替代對象。
  • EffectiveJava-1-創建和銷毀對象
    可以不用在每次調用時都創建一個新的對象,可以使用預先構建好的對象,或將構建好的對象緩存起來,進行重複利用,適用於經常請求創建相同對象,並且創建對象的代價很高,如常見的單例模式寫法就是對這一點的應用;實例受控的類:能為重複的調用返回相同的類,有助於類控制某個時刻哪些實例應該存在,功能如下:1.確保它是一個Singleton或者是不可實例化的;2.使得不可變的類不會存在兩個相等的實例
  • 2019高考:這4類人最容易成為「黑馬」,潛力無限,你在其中嗎?
    很多高中生在高一、高二的時候沒有花心思讀書,但是高考發揮超常的話,能夠成為一匹黑馬考上大學。今天為大家講講2019高考:這4類人最容易成為「黑馬」,潛力無限,你在其中嗎?1、善於思考和總結善於總結和思考的學生,在高考時最容易成為「黑馬」,在學習的過程中就是要發現問題、然後分析問題、最後解決問題,然後總結自己的不足,思考自己的缺陷。雖然有些學生平時看起來不愛學習,但是他們善於思考和總結,所以每次考試還是能夠取得不錯的成績。
  • 《面試又翻車了》這次竟然和 Random 有關?
    作者:老王來自公號:Java中文社群(ID:javacn666)可以看出 直接指向了 方法。可以看出 ThreadLocalRandom 繼承於 Random 類,先來看它的使用:其中,Cnt 表示運行了多少次,Score 表示執行的成績,Units 表示每秒的吞吐量。
  • 最值得程式設計師閱讀的非編程類書籍
    >在 stackoverflow 上有人提問程式設計師應該閱讀的非編程類書籍有哪些?確實,程式設計師的書架不應僅僅局限在自身專業的書籍上,偶爾也可以看看非編程類的書籍,擴寬自己的視野,看看除了0,1以外的世界。本文將會選取其中熱度最高的 10 本書,並按照各書的推薦數排序。
  • Java 構造器(構造方法)詳細使用說明 - 計算機java編程
    如何禁止對象被外部創建一些特殊需求,不希望定義的對象被外部創建(典型的就是單例了),那直接將構造器的修飾符改為 private 即可。這樣就不能在外部通過new來創建這個對象了。final類是不允許被繼承的,編譯器會報錯。很好理解,由於final修飾符指的是不允許被修改,而繼承中,子類是可以修改父類的,這裡就產生衝突了,所以final類是不允許被繼承的。
  • 《2015管理類聯考綜合能力60天攻克800題•數學》(第2版)
    ☆ 涵蓋100%大綱考點   ☆ 以題為綱系統分類   ☆ 方法點撥指點迷津   ☆ 難度適中契合真題   【編輯推薦】   適用對象:   1.適用於"管理類聯考綜合能力"考試科目(代碼:199):MBA/MPA/MPAcc/審計/工程管理/
  • Java程式設計師需要什麼學歷才能找到工作?學歷低怎麼辦?
    IT行業薪資很高,很多人只看到了這點,沒發現非常多的人也奔著想拿高薪的念頭往這個行業擠,這麼多人,企業當然要高個子中挑更高的了各種限制也因此而來,學歷,工作經驗,掌握的技能等等Java程式設計師需要什麼學歷才能找到工作?
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    numpy 數組和 python 數組之間有幾個重要的區別:numpy 數組一旦創建,其元素數量就不能再改變了。增刪 ndarray 元素的操作,意味著創建一個新數組並刪除原來的數組。python 數組的元素則可以動態增減。numpy 數組中的元素都需要具有相同的數據類型,因此在內存中的大小相同。python 數組則無此要求。