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