JAVA实验一——数组类编程
文章目錄
- 實驗題目
- 一、實驗目的
- 二、實驗原理
- 三、實驗代碼
- 1、代碼思路
- 2、具體代碼
- 四、實驗總結
實驗題目
一、實驗目的
1.掌握Java語言的基本語法,掌握基本數據類型的使用方法;熟練使用分支、循環等語句控制程序流程;掌握數組類型的生命和動態內存申請,理解數組的引用模型;掌握方法聲明和調用規則,掌握基本類型和引用類型作為方法參數和返回值的傳遞規則;掌握String類中的方法,熟練使用對字符串變量進行的操作。
2.掌握在Eclipse繼承開發環境中編輯、編譯、運行和調試程序的操作;掌握使用命令行參數作為輸入數據的方法;熟悉程序調試技術,查看程序過程中的變量值,找出程序錯誤位置和出錯原因。
3.掌握類的聲明格式和多種封裝措施,理解對象的引用模型;掌握類的繼承原則,正確使用重載和覆蓋等多態概念設計可復用方法,理解運行時多態性概念;掌握聲明抽象類和最終類的方法,理解抽象類和最終類的作用。
4.掌握在Eclipse集成開發環境中,通過設置編譯路徑引用其他項目中聲明的類。
5.理解接口的作用,理解接口和實現接口的類的關系,掌握聲明接口、一個類實現多個接口的聲明和使用方法;理解內嵌類型的概念,掌握聲明內部類的方法;理解Java包的概念和作用,熟悉Java語言包和使用包中的常用類。
二、實驗原理
在程序設計中,函數(function)是實現特定功能的、可被調用執行并能返回值的程序段。函數包括函數聲明和函數體。函數聲明定義函數名、形式參數列表及返回值類型;函數體由執行操作的語句序列組成。函數執行通過函數調用實現。函數調用時必須制定函數名稱和實際參數列表,函數執行后返回結果值。函數返回值可以參加其數據類型允許的運算。
一個類中如果有多個同名方法但帶有不同的參數列表,成為方法重載。重載方法的參數列表不同是指參數的數據類型或個數或次序不同。重載方法之間必須以參數列表相區別,不能以返回值相區別,即不能有兩個參數列表相同但返回值不同的重載方法。
接口是一組抽象方法、常量和內嵌類型的集合。接口是一種數據類型,采用抽象形式來描述約定,因此接口只有被類實現后才有意義。接口提供方法聲明與方法實現相分離的機制,使得接口中聲明的抽象方法能夠在實現接口的類中表現運行時多態。
關鍵字implements用于聲明一個類實現多個指定接口。
非抽象類如果聲明實現多個接口,則它必須實現覆蓋所有指定接口中的所有抽象方法,方法的參數列表必須相同,否則必須聲明為抽象類。
類所繼承的父類以及所實現的全部接口被稱為它的父類型,反之,該類就是其父類型的子類型,接口也是其繼承的全部父接口的子類型。子類型包含其父類型的全部屬性和功能,子類型對象即父類型對象。因此,父類型對象可引用子類實例。
三、實驗代碼
1、代碼思路
1.隨機生成函數 RandomArray(int n, int max)
先定義函數RandomArray,使用new對數組分配存儲空間,當n>0時,每次循環都使用JAVA的Math庫中的random隨機生成一個數,利用–n,當n<=0時跳出循環,返回x引用的數組。
2.判斷函數 CheckOrder()
定義int型判斷函數CheckOrder,比較n-1次,當任意一次的比較中前一個數比后一個數大,數組的排列方式就不是升序排列,返回0;當所有次數比較完畢,前一個數都比后一個數小,即升序排列方式,返回1。
3.數組和函數 Sum()
定義int型數組和函數,先給sum賦初值為0,而后進入循環,當循環次數<數組長度時,sum累加求數組所有元素的和;否則循環結束,跳出循環,返回sum的值。
4.判斷某個元素函數 CheckKey()
首先定義int型元素函數 CheckKey(),從數組的第0個數開始比較是否和Key相等,相等返回1;當循環完畢,未找到和Key相等的數,返回0。
5.編寫 main 函數,調用測試以上功能;
在main函數中調用函數一:調用RandomArray函數隨機生成數組arr,利用for循環輸出數組。
在main函數中調用函數二:利用println直接輸出CheckOrder的返回值
在main函數中調用函數三:利用println直接輸出sum的返回值
在main函數中調用函數四:利用println直接輸出CheckKey的返回值
2、具體代碼
package shiyan1;public class shuzu1 {public static int[] RandomArray(int n,int max) {int[]x=new int[n];while(n>0)x[--n] = (int)(Math.random()*max);return x; }public static int CheckOrder(int[] x,int n) {for(int i=0;i<n-1;i++){if(x[i]>x[i+1])return 0;}return 1; }public static int sum (int[] x) {int sum = 0;for(int i=0;i<x.length;i++){sum+=x[i];}return sum; }public static int CheckKey(int[]x,int n,int Key) {for(int i=0;i<n;i++){if(x[i]==Key)return 1;}return 0; }public static void main(String[] args) {int []arr = RandomArray(5, 10);int i = 0;int Key = 5;for (i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("\n");System.out.println(CheckOrder(arr,i));System.out.println(sum(arr));System.out.println(CheckKey(arr,i,Key)); } }調試結果如下圖。
四、實驗總結
通過本次實驗,我掌握了類、接口、方法等概念,在Eclipse繼承開發環境中編輯、編譯、運行和調試程序、設置斷點一步步觀察程序運行及debug的操作并對其運用有了更深入的學習。本次題目鍛煉了我的查閱資料的能力及編程能力,收獲頗多。在使用Eclipse編程時經常出現bug,經過查閱資料等都將其更正。
總結
以上是生活随笔為你收集整理的JAVA实验一——数组类编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用linux的pgrep命令用于检索当
- 下一篇: JAVA实验二——圆柱体