二維數組和面向對象基礎
阿新 • • 發佈:2018-05-06
inf arr 考題 for 案例 class n) mil 倒序
1:二維數組(理解)
(1)元素是一維數組的數組。
(2)格式:
- 數據類型[][] 數組名 = new 數據類型[m][n];
- 數據類型[][] 數組名 = new 數據類型[m][];
- 數據類型[][] 數組名 = new 數據類型[][]{{...},{...},{...}};
- 數據類型[][] 數組名 = {{...},{...},{...}};
(3)案例(掌握):
- 二維數組的遍歷
- 二維數組的求和
- 楊輝三角形
楊輝三角:
public class Array2Demo { public static void main(String[] args){ Scanner sc= new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[n][n]; /* * 思路: * A:任何一行的第一列和最後一列都是1; * B:從第三行開始,每一個數據是它上一行的前一列和它上一行的本列和; * C:首先定義一個二維數組,行數如果是n,列數也為n; * D:給這個二維數組任何一行的第一列和最後一列賦值為1; * E:按照規律給其他元素賦值,從第三行開始,每一個數據是它上一行的前一列 * 和它上一行的本列之和。 * F:遍歷這個二維數組。*/ for(int i=0;i<arr.length;i++){ arr[i][0] = 1; arr[i][i] = 1; } for(int i=2;i<arr.length;i++){ for(int j=1;j<i;j++){ arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; } } for(int i=0;i<arr.length;i++){for(int j=0;j<=i;j++){ System.out.print(arr[i][j]+"\t"); } System.out.println(); } } }
2:兩個思考題(理解)
(1)Java中的參數傳遞問題
Java中只有值傳遞。
基本類型:形式參數的改變不影響實際參數
引用類型:形式參數的改變直接影響實際參數
(2)數據加密問題
綜合的小案例。
/* 某個公司采用公用電話傳遞數據信息,數據是小於8位的整數,為了確保安全, 在傳遞過程中需要加密,加密規則如下: 首先將數據倒序,然後將每位數字都加上5,再用和除以10的余數代替該數字, 最後將第一位和最後一位數字交換。 請任意給定一個小於8位的整數, 然後,把加密後的結果在控制臺打印出來。 題目要求: A:數據是小於8位的整數 定義一個int類型的數據 int number = 123456; B:加密規則 a:首先將數據倒序 結果 654321 b:然後將每位數字都加上5,再用和除以10的余數代替該數字 結果 109876 c:最後將第一位和最後一位數字交換 結果 609871 C:把加密後的結果輸出在控制臺 */ public class JMDemo { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("請輸入一個數據:"); int number = sc.nextInt(); String result = JM(number); System.out.println("加密後:"+result); } public static String JM(int number){ int[] arr = new int[8]; int index = 0; while(number > 0){ arr[index] = number%10; index++; number/=10; } for(int i=0;i<index;i++){ arr[i] = (arr[i]+5)%10; } int temp; temp = arr[0]; arr[0] = arr[index-1]; arr[index-1] = temp; String s = ""; for(int i=0;i<index;i++){ s += arr[i]; } return s; } }
3:面向對象(掌握)
(1)面向對象
面向對象是基於面向過程的編程思想
(2)面向對象的思想特點
- A:是一種更符合我們思考習慣的思想
- B:把復雜的事情簡單化
- C:讓我們從執行者變成了指揮者
舉例:
買電腦
洗衣服
做飯
...
萬事萬物皆對象
(3)把大象裝進冰箱(理解)
- A:面向過程實現
- B:面向對象實現
註意:如何讓我們的操作更符合面向對象思想呢?
- A:有哪些類
- B:每個類有哪些成員
- C:類與類的關系
(4)類與對象
A:現實世界的事物
屬性 事物的基本描述
行為 事物的功能
B:Java語言中最基本的單位是類。所以,我們要用類來體現事物
C:類
成員變量 事物屬性
成員方法 事物行為
D:類:是一組相關的屬性和行為的集合。是一個抽象的概念。
對象:是該類事物的具體存在,是一個具體的實例。(對象)
舉例:
學生:類
班長:對象
(5)類的定義及使用
A:類的定義
成員變量 定義格式和以前一樣,就是位置不同,在類中,方法外。
成員方法 定義格式和以前一樣,就是去掉了static。
B:使用類的內容
a:創建對象? 格式
類名 對象名 = new 類名();
b:如何使用成員變量和成員方法呢
對象名.成員變量
對象名.成員方法()
(6)案例:
A:學生類的定義和使用
B:手機類的定義和使用
(7)內存圖
A:一個對象的內存圖
B:二個對象的內存圖
C:三個對象的內存圖
(8)Java程序的開發,設計和特征
- A:開發:就是不斷的創建對象,通過對象調用功能
- B:設計:就是管理和維護對象間的關系
- C:特征
- 封裝
- 繼承
- 多態
二維數組和面向對象基礎