摘要:如下所示第一小組銷售額為萬元第二小組銷售額為萬元第三小組銷售額為萬元。
01switch語句解構
* A:switch語句解構 * a:switch只能針對某個表達式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。 * b:格式如下: swtich(表達式){ case 常量1 : 要執(zhí)行的語句; break; case 常量2 : 要執(zhí)行的語句; break; case 常量3 : 要執(zhí)行的語句; break; default: 要執(zhí)行的語句; break; } * c: 執(zhí)行流程: 表達式,和case后面的常量進行比較和哪個case后的常量相同,就執(zhí)行哪個case后面的程序,遇到break,就全結(jié)束 * d: 關鍵字: switch case default break * e:舉例 如果等于1,則輸出星期一 如果等于2,則輸出星期二 如果等于3,則輸出星期三 如果等于4,則輸出星期四 如果等于5,則輸出星期五 如果等于6,則輸出星期六 如果等于7,則輸出星期天02switch語句的星期判斷
* A: switch語句的星期判斷 * a: 明確需求 需求:初始化int類型變量(1-7)代表星期幾,使用switch語句進行判斷,并打印出該整數(shù)對應的星期. * b: 代碼實現(xiàn) public class SwitchDemo01 { public static void main(String[] args) { int week = 5; switch (week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期天"); break; default: System.out.println("輸入的數(shù)字不正確..."); break; } } }03switch語句接受的數(shù)據(jù)類型
* A: switch語句接受的數(shù)據(jù)類型 * a:注意事項 switch語句中的表達式的數(shù)據(jù)類型,是有要求的 JDK1.0 - 1.4 數(shù)據(jù)類型接受 byte short int char JDK1.5 數(shù)據(jù)類型接受 byte short int char enum(枚舉) JDK1.7 數(shù)據(jù)類型接受 byte short int char enum(枚舉), String04case穿透
* A:case穿透 * a: 在使用switch語句的過程中,如果多個case條件后面的執(zhí)行語句是一樣的,則該執(zhí)行語句只需書寫一次即可,這是一種簡寫的方式。 * b: 例如,要判斷一周中的某一天是否為工作日,同樣使用數(shù)字1~7來表示星期一到星期天,當輸入的數(shù)字為1、2、3、4、5時就視為工作日,否則就視為休息日。05數(shù)組的概述
* A: 數(shù)組的概述 * a:數(shù)組的需求 現(xiàn)在需要統(tǒng)計某公司員工的工資情況,例如計算平均工資、最高工資等。假設該公司有50名員工,用前面所學的知識完成, 那么程序首先需要聲明50個變量來分別記住每位員工的工資,這樣做會顯得很麻煩. * b:數(shù)組的概述 數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個數(shù)據(jù)被稱作元素。在數(shù)組中可以存放任意類型的元素,但同一個數(shù)組里存放的元素類型必須一致。06數(shù)組的定義
* A:數(shù)組的定義 * b:格式: 數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[元素個數(shù)或數(shù)組長度]; * c:舉例: int[] x = new int[100]; * c:要點說明 1)數(shù)據(jù)類型: 數(shù)組中存儲元素的數(shù)據(jù)類型 2) [] 表示數(shù)組的意思 3) 變量名 自定義標識符 4) new 創(chuàng)建容器關鍵字 5)數(shù)據(jù)類型: 數(shù)組中存儲元素的數(shù)據(jù)類型 6)[] 表示數(shù)組的意思 7)元素個數(shù),就是數(shù)組中,可以存儲多少個數(shù)據(jù) (恒定, 定長) 數(shù)組是一個容器: 存儲到數(shù)組中的每個元素,都有自己的自動編號 自動編號,最小值是0, 最大值,長度-1 自動編號專業(yè)名次, 索引(index), 下標, 角標 訪問數(shù)組存儲的元素,必須依賴于索引, 公式 數(shù)組名[索引] Java提供一個屬性,操作索引的 數(shù)組的一個屬性,就是數(shù)組的長度, 屬性的名字 length 使用屬性: 數(shù)組名.length 數(shù)據(jù)類型 int 數(shù)組的最小索引是0, 最大索引數(shù)組.length-107JVM內(nèi)存劃分
* A:內(nèi)存劃分 * JVM對自己的內(nèi)存劃分為5個區(qū)域 * a: 寄存器:內(nèi)存和CUP之間 * b: 本地方法棧: JVM調(diào)用了系統(tǒng)中的功能 * c: 方法和數(shù)據(jù)共享: 運行時期class文件進入的地方 * d: 方法棧:所有的方法運行的時候進入內(nèi)存 * e: 堆:存儲的是容器和對象08數(shù)組的內(nèi)存
* A: 數(shù)組的內(nèi)存 * int[] x; // 聲明一個int[]類型的變量 * x = new int[100]; // 創(chuàng)建一個長度為100的數(shù)組 * 接下來,通過兩張內(nèi)存圖來詳細地說明數(shù)組在創(chuàng)建過程中內(nèi)存的分配情況。 * 第一行代碼 int[] x; 聲明了一個變量x,該變量的類型為int[],即一個int類型的數(shù)組。變量x會占用一塊內(nèi)存單元,它沒有被分配初始值 * 第二行代碼 x = new int[100]; 創(chuàng)建了一個數(shù)組,將數(shù)組的地址賦值給變量x。在程序運行期間可以使用變量x來引用數(shù)組,這時內(nèi)存中的狀態(tài)會發(fā)生變化09使用索引訪問數(shù)組的元素
* A: 使用索引訪問數(shù)組的元素 * 組中有100個元素,初始值都為0。數(shù)組中的每個元素都有一個索引(也可稱為角標),要想訪問數(shù)組中的元素可以通過“x[0]、x[1]、……、x[98]、x[99]”的形式。 * 需要注意的是,數(shù)組中最小的索引是0,最大的索引是“數(shù)組的長度-1”10數(shù)組的length屬性
* A: lenth屬性 * a 在Java中,為了方便我們獲得數(shù)組的長度,提供了一個length屬性,在程序中可以通過“數(shù)組名.length”的方式來獲得數(shù)組的長度,即元素的個數(shù)。 * b 求數(shù)組的長度 public class ArrayDemo01 { public static void main(String[] args) { int[] arr; // 聲明變量 arr = new int[3]; // 創(chuàng)建數(shù)組對象 System.out.println("arr[0]=" + arr[0]); // 訪問數(shù)組中的第一個元素 System.out.println("arr[1]=" + arr[1]); // 訪問數(shù)組中的第二個元素 System.out.println("arr[2]=" + arr[2]); // 訪問數(shù)組中的第三個元素 System.out.println("數(shù)組的長度是:" + arr.length); // 打印數(shù)組長度 } }11為數(shù)組的元素賦值
* A: 為數(shù)組的元素賦值 * a: 如果在使用數(shù)組時,不想使用這些默認初始值,也可以顯式地為這些元素賦值。 * 賦值過的元素已經(jīng)變?yōu)樾碌臄?shù)值,沒有賦值的元素默認初始化的數(shù)值 * b: 案例 public class ArrayDemo02 { public static void main(String[] args) { int[] arr = new int[4]; // 定義可以存儲4個整數(shù)的數(shù)組 arr[0] = 1; // 為第1個元素賦值1 arr[1] = 2; // 為第2個元素賦值2 // 下面的代碼是打印數(shù)組中每個元素的值 System.out.println("arr[0]=" + arr[0]); System.out.println("arr[1]=" + arr[1]); System.out.println("arr[2]=" + arr[2]); System.out.println("arr[3]=" + arr[3]); } }12數(shù)組的定義_2
* A: 定義數(shù)組格式2 * a: 數(shù)組初始化 動態(tài)初始化 : 在定義數(shù)組時只指定數(shù)組的長度,由系統(tǒng)自動為元素賦初值的方式稱作動態(tài)初始化。 1、類型[] 數(shù)組名 = new 類型[長度]; int[] arr = new int[4]; 靜態(tài)初始化: 在初始化數(shù)組時還有一種方式叫做靜態(tài)初始化,就是在定義數(shù)組的同時就為數(shù)組的每個元素賦值。 2、類型[] 數(shù)組名 = new 類型[]{元素,元素,……}; int[] arr = new int[]{1,2,3,4}; 3、類型[] 數(shù)組名 = {元素,元素,元素,……}; int[] arr = { 1, 2, 3, 4 };13遍歷數(shù)組
* A:遍歷數(shù)組 * 在操作數(shù)組時,經(jīng)常需要依次訪問數(shù)組中的每個元素,這種操作稱作數(shù)組的遍歷 * B:練習 public class ArrayDemo04 { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; // 定義數(shù)組 // 使用for循環(huán)遍歷數(shù)組的元素 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); // 通過索引訪問元素 } } } 上述代碼中,定義一個長度為5的數(shù)組arr,數(shù)組的角標為0~4。由于for循環(huán)中定義的變量i的值在循環(huán)過程中為0~4,因此可以作為索引,依次去訪問數(shù)組中的元素,并將元素的值打印出來14數(shù)組中常見的異常
* A: 數(shù)組操作中,常見的兩個異常 數(shù)組的索引越界異常 空指針異常 * B: 練習 public class ArrayDemo_4{ public static void main(String[] args){ //數(shù)組的索引越界異常 //int[] arr = {5,2,1}; //數(shù)組中3個元素,索引 0,1,2 //System.out.println(arr[3]);//java.lang.ArrayIndexOutOfBoundsException: 3 //空指針異常 int[] arr2 = {1,5,8}; System.out.println(arr2[2]); arr2 = null; // arr2 不在保存數(shù)組的地址了 System.out.println(arr2[2]);//java.lang.NullPointerException } }15數(shù)組最值
* A: 數(shù)組獲取最值的原理思想 * 定義數(shù)組的第一個元素arr[0]為最大值;循環(huán)arr數(shù)組,判斷如果有比arr[0] 大的就交換,直到arr數(shù)組遍歷完畢,那么arr[0]中就保存了最大的元素16數(shù)組獲取最值代碼實現(xiàn)
* A: 代碼實現(xiàn) public class ArrayDemo05 { public static void main(String[] args) { int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定義一個數(shù)組 int max = arr[0]; // 定義變量max用于記住最大數(shù),首先假設第一個元素為最大值 // 下面通過一個for循環(huán)遍歷數(shù)組中的元素 for (int x = 1; x < arr.length; x++) { if (arr[x] > max) { // 比較 arr[x]的值是否大于max max = arr[x]; // 條件成立,將arr[x]的值賦給max } } System.out.println("max=" + max); // 打印最大值 } }17二維數(shù)組的定義
* A 二維數(shù)組的作用 * 要統(tǒng)計一個學校各個班級學生的考試成績,又該如何實現(xiàn)呢? * 這時就需要用到多維數(shù)組,多維數(shù)組可以簡單地理解為在數(shù)組中嵌套數(shù)組。 * B 定義格式 * a 第一種定義格式: * int[][] arr = new int[3][4]; * 上面的代碼相當于定義了一個3*4的二維數(shù)組,即二維數(shù)組的長度為3,二維數(shù)組中的每個元素又是一個長度為4的數(shù)組 * b 第二種定義格式 * int[][] arr = new int[3][]; * 第二種方式和第一種類似,只是數(shù)組中每個元素的長度不確定 * c 第三種定義格式 * int[][] arr = {{1,2},{3,4,5,6},{7,8,9}}; * 二維數(shù)組中定義了三個元素,這三個元素都是數(shù)組,分別為{1,2}、{3,4,5,6}、{7,8,9}18二維數(shù)組元素的訪問
* A: 二維數(shù)組的訪問 * 案例: class ArrayDemo08 { public static void main(String[] args){ //定義二維數(shù)組的方式 int[][] arr = new int[3][4]; System.out.println( arr ); System.out.println("二維數(shù)組的長度: " + arr.length); //獲取二維數(shù)組的3個元素 System.out.println( arr[0] ); System.out.println( arr[1] ); System.out.println( arr[2] ); System.out.println("打印第一個一維數(shù)組的元素值"); System.out.println( arr[0][0] ); System.out.println( arr[0][1] );//訪問的為二維數(shù)組中第1個一維數(shù)組的第2個元素 System.out.println( arr[0][2] ); System.out.println( arr[0][3] ); System.out.println("打印第二個一維數(shù)組的元素值"); System.out.println( arr[1][0] ); System.out.println( arr[1][1] ); System.out.println( arr[1][2] ); System.out.println( arr[1][3] ); System.out.println("打印第三個一維數(shù)組的元素值"); System.out.println( arr[2][0] ); System.out.println( arr[2][1] ); System.out.println( arr[2][2] ); System.out.println( arr[2][3] ); } }19二維數(shù)組內(nèi)存圖
* A: 二維數(shù)組內(nèi)存圖 * 舉例:int[][] arr = new int[3][2]; * 外層數(shù)組長在內(nèi)存開辟連續(xù)的3個大的內(nèi)存空間,每一個內(nèi)存空間都對應的有地址值 * 每一個大內(nèi)存空間里又開辟連續(xù)的兩個小的內(nèi)存空間.20二維數(shù)組的定義和訪問
* A: 二維數(shù)組的定義和訪問 * 格式1: * int[][] arr = new int[3][]; 不推薦 * 格式2 * int[][] arr = {{1,2,4},{4,7},{0,9,3}}; * * B: 二維數(shù)組的訪問 舉例:int[][] arr = {{1,2,4},{5,8,7},{0,9,3}}; 想要打印數(shù)組中7這個元素需要先找到大的元素索引{5,7} 索引為2 ,在找7在{5,7}中的索引2 那么結(jié)果為 arr[2][2] 第一個[2]代表大數(shù)組中{5,8,7}這個元素索引 第二個[2]代表{5,8,7}中7元素的索引22二維數(shù)組的遍歷
* A:二維數(shù)組遍歷 int[][] arr = {{1,2,4},{4,7},{0,9,3}}; 先使用for循環(huán)遍歷arr這個二維數(shù)組,得到每一個元素為arr[i]為一維數(shù)組 再外層for循環(huán)中嵌套一個for循環(huán)遍歷每一個一維數(shù)組arr[i],得到每一元素 * B:舉例:遍歷二維數(shù)組 public class ArrayArrayDemo_2{ public static void main(String[] args){ int[][] arr = { {1,2,3},{4,5},{6,7,8,9},{0} }; //外循環(huán),遍歷二維數(shù)組 for(int i = 0 ; i < arr.length ;i++){ //內(nèi)循環(huán),遍歷每個一維數(shù)組 arr[0] arr[1] arr[i] for(int j = 0 ; j < arr[i].length; j++){ System.out.print(arr[i][j]); } System.out.println(); } } * C:二維數(shù)組累加求和 class ArrayDemo09 { public static void main(String[] args){ int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} }; int sum2 = 0; for (int i=0; i23二維數(shù)組的求和練習 * A 例如要統(tǒng)計一個公司三個銷售小組中每個小組的總銷售額以及整個公司的銷售額。如下所示 * 第一小組銷售額為{11, 12}萬元 * 第二小組銷售額為{21, 22, 23}萬元 * 第三小組銷售額為{31, 32, 33, 34}萬元。 * B 代碼實現(xiàn) public class ArrayDemo10 { public static void main(String[] args) { int[][] arr = new int[3][]; // 定義一個長度為3的二維數(shù)組 arr[0] = new int[] { 11, 12 }; // 為數(shù)組的元素賦值 arr[1] = new int[] { 21, 22, 23 }; arr[2] = new int[] { 31, 32, 33, 34 }; int sum = 0; // 定義變量記錄總銷售額 for (int i = 0; i < arr.length; i++) { // 遍歷數(shù)組元素 int groupSum = 0; // 定義變量記錄小組銷售總額 for (int j = 0; j < arr[i].length; j++) { // 遍歷小組內(nèi)每個人的銷售額 groupSum = groupSum + arr[i][j]; } sum = sum + groupSum; // 累加小組銷售額 System.out.println("第" + (i + 1) + "小組銷售額為:" + groupSum + " 萬元"); } System.out.println("總銷售額為: " + sum + " 萬元"); } }24隨機點名器案例分析* A 隨機點名器案例分析 * B: 需求 * 隨機點名器,即在全班同學中隨機的打印出一名同學名字。 * C:分析: * 1)定義數(shù)組存數(shù)全班同學 * 2)生成隨機數(shù)范圍0 到 數(shù)組長度-1 * 3)根據(jù)這個索引找到數(shù)組中的同學名稱25隨機點名器代碼實現(xiàn)* A: 分析 隨機點名器: 1 存儲姓名 2. 預覽所有人的姓名 3. 隨機出一個人的姓名 * B 代碼實現(xiàn) import java.util.Random; public class CallName{ public static void main(String[] args){ //存儲姓名,姓名存儲到數(shù)組中 //數(shù)組存儲姓名,姓名的數(shù)據(jù)類型,String String[] names = {"張三","李四","王五","李蕾","韓梅梅","小名","老王","小華","約翰遜","愛麗絲"}; //預覽: 遍歷數(shù)組,打印所有姓名 for(int i = 0 ; i < names.length ; i++){ System.out.println(names[i]); } System.out.println("============="); //隨機出一個人的名 //利用隨機數(shù),生成一個整數(shù),作為索引,到數(shù)組中找到對應的元素 Random ran = new Random(); //隨機數(shù),范圍必須是0-數(shù)組的最大索引 int index = ran.nextInt(names.length);//index 就是隨機數(shù),作為索引 System.out.println(names[index]); } }25隨機點名器代碼實現(xiàn)_2* A 代碼優(yōu)化: import java.util.Random; public class CallName{ public static void main(String[] args){ String[] names = {"張三","李四","王五","李蕾","韓梅梅","小名","老王","小華","約翰遜","愛麗絲"}; System.out.println(names[new Random().nextInt(names.length)]); } }25總結(jié)* 把今天的知識點總結(jié)一遍。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67156.html
摘要:方法的返回值方法返回什么類型的值我們就用對應的數(shù)據(jù)類型的變量來接收調(diào)用方法執(zhí)行流程調(diào)用方法執(zhí)行流程方法的定義是沒有順序的,寫在函數(shù)的上邊或者下邊都可以。 01方法的概述 * A: 為什么要有方法 * 提高代碼的復用性 * B: 什么是方法 * 完成特定功能的代碼塊。 02方法的定義格式 * A: 方法的格式 * 修飾符 返回值類型 方法...
摘要:自定義類的概述自定義類的概述代碼映射成現(xiàn)實事物的過程就是定義類的過程。自定義類的格式自定義類的格式使用類的形式對現(xiàn)實中的事物進行描述。 01引用數(shù)據(jù)類型_類 * A: 數(shù)據(jù)類型 * a: java中的數(shù)據(jù)類型分為:基本類型和引用類型 * B: 引用類型的分類 * a: Java為我們提供好的類,比如說:Scanner,Random等。 * b: 我們自己創(chuàng)建的類...
摘要:今天就繼續(xù)給大家分享一個讀者粉絲投稿的,關于上課點名的實戰(zhàn)案例,一起來看看是如何實現(xiàn)的吧首先我們還是一起先來看看點名器實現(xiàn)的效果下面,我們開始介紹這款點名器的制作過程。 ...
摘要:面向?qū)ο笏季S方式將復雜的問題簡單化。給對象起個名字。是類類型的變量。通過已有的對象調(diào)用該對象的功能。格式對象對象成員可以該對象的屬性賦值。這時會有兩個引用同時指向堆中的同一個對象。對象,用于描述現(xiàn)實中的個體,它是類的實例。 01面向?qū)ο蠛兔嫦蜻^程的思想 * A: 面向過程與面向?qū)ο蠖际俏覀兙幊讨校帉懗绦虻囊环N思維方式 * a: 面向過程的程序設計方式,是遇到一件事時,思考我該...
摘要:第三階段常見對象的學習集合框架接口按照集合框架的繼承體系,我們先從中的接口開始學習一概述及功能演示概述在中充當著一個什么樣的身份呢有序的也稱為序列實現(xiàn)這個接口的用戶以對列表中每個元素的插入位置進行精確地控制。線程不安全,效率高。 第三階段 JAVA常見對象的學習 集合框架——List接口 showImg(https://segmentfault.com/img/remote/14600...
閱讀 1839·2021-09-14 18:03
閱讀 2274·2019-08-30 15:48
閱讀 1129·2019-08-30 14:09
閱讀 515·2019-08-30 12:55
閱讀 2735·2019-08-29 11:29
閱讀 1494·2019-08-26 13:43
閱讀 2318·2019-08-26 13:30
閱讀 2376·2019-08-26 12:17