国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java基礎語法(5)

2019-11-07 23:32:53
字體:
來源:轉載
供稿:網友
    (7)數組的常見操作        A:遍歷            方式1:                public static void PRintArray(int[] arr) {                    for(int x=0; x<arr.length; x++) {                        System.out.println(arr[x]);                    }                }                            方式2:                public static void printArray(int[] arr) {                    System.out.print("[");                    for(int x=0; x<arr.length; x++) {                        if(x == arr.length-1) {                            System.out.println(arr[x]+"]");                        }else {                            System.out.println(arr[x]+", ");                        }                    }                }        B:最值            最大值:                public static int getMax(int[] arr) {                    int max = arr[0];                                        for(int x=1; x<arr.length; x++) {                        if(arr[x] > max) {                            max = arr[x];                        }                    }                                        return max;                }                            最小值:                public static int getMin(int[] arr) {                    int min = arr[0];                                        for(int x=1; x<arr.length; x++) {                        if(arr[x] < min) {                            min = arr[x];                        }                    }                                        return min;                }        C:逆序            方式1:                public static void reverse(int[] arr) {                    for(int x=0; x<arr.length/2; x++) {                        int temp = arr[x];                        arr[x] = arr[arr.length-1-x];                        arr[arr.length-1-x] = temp;                    }                }                            方式2:                public static void reverse(int[] arr) {                    for(int start=0,end=arr.length-1; start<=end; start++,end--) {                        int temp = arr[start];                        arr[start] = arr[end];                        arr[end] = temp;                    }                }        D:查表                public static String getString(String[] strArray,int index) {                    return strArray[index];                }        E:基本查找            方式1:                public static int getIndex(int[] arr,int value) {                    for(int x=0; x<arr.length; x++) {                        if(arr[x] == value) {                            return x;                        }                    }                                        return -1;                }                            方式2:                public static int getIndex(int[] arr,int value) {                    int index = -1;                                    for(int x=0; x<arr.length; x++) {                        if(arr[x] == value) {                            index = x;                            break;                        }                    }                                        return index;

                }

1:二維數組(理解)    (1)元素是一維數組的數組。    (2)格式:        A:數據類型[][] 數組名 = new 數據類型[m][n];        B:數據類型[][] 數組名 = new 數據類型[m][];        C:數據類型[][] 數組名 = new 數據類型[][]{{...},{...},{...}};        D:數據類型[][] 數組名 = {{...},{...},{...}};    (3)案例(掌握):        A:二維數組的遍歷

*    需求:二維數組遍歷        外循環控制的是二維數組的長度,其實就是一維數組的個數。    內循環控制的是一維數組的長度。*/class Array2Test {    public static void main(String[] args) {        //定義一個二維數組        int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};                //請問誰代表{1,2,3}        //arr[0]就是第一個數組        //arr[0] = {1,2,3};        for(int x=0; x<arr[0].length; x++) {            System.out.println(arr[0][x]);        }        System.out.println("--------------");                for(int x=0; x<arr[1].length; x++) {            System.out.println(arr[1][x]);        }        System.out.println("--------------");                for(int x=0; x<arr[2].length; x++) {            System.out.println(arr[2][x]);        }        System.out.println("--------------");                //用循環改進        for(int x=0; x<3; x++) {            for(int y=0; y<arr[x].length; y++) {                System.out.print(arr[x][y]+" ");            }            System.out.println();        }        System.out.println("--------------");                //這個時候,注意了,3是我們根據上面的代碼得出來的        //但是,它不能針對任何的數組都可以這樣        //所以,我們應該想辦法改進        //其實,外面的這個循環的長度就是二維數組的長度                for(int x=0; x<arr.length; x++) {            for(int y=0; y<arr[x].length; y++) {                System.out.print(arr[x][y]+" ");            }            System.out.println();        }        System.out.println("--------------");                //用方法改進        //調用方法        printArray2(arr);        System.out.println("--------------");                //我們再來一個列數是變化的        int[][] arr2 = {{1,2,3},{4,5},{6}};        printArray2(arr2);    }        /*        需求:遍歷二維數組        兩個明確:            返回值類型:void            參數列表:int[][] arr    */    public static void printArray2(int[][] arr) {        for(int x=0; x<arr.length; x++) {            for(int y=0; y<arr[x].length; y++) {                System.out.print(arr[x][y]+" ");            }            System.out.println();        }    }}

        B:二維數組的求和

/*    公司年銷售額求和    某公司按照季度和月份統計的數據如下:單位(萬元)    第一季度:22,66,44    第二季度:77,33,88    第三季度:25,45,65    第四季度:11,66,99        分析:        A:把題目的數據用二維數組來表示            int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};        B:如何求和呢?            求和其實就是獲取到每一個元素,然后累加即可。        C:定義一個求和變量sum,初始化值是0。        D:通過遍歷就可以得到每一個二維數組的元素。        E:把元素累加即可。        F:最后輸出sum,就是結果。*/class Array2Test2 {    public static void main(String[] args) {        //把題目的數據用二維數組來表示        int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};                //定義一個求和變量sum,初始化值是0。        int sum = 0;                //通過遍歷就可以得到每一個二維數組的元素。        for(int x=0; x<arr.length; x++) {            for(int y=0; y<arr[x].length; y++) {                //把元素累加即可。                sum += arr[x][y];            }        }                //最后輸出sum,就是結果。        System.out.println("一年的銷售額為:"+sum+"萬元");    }}

C:楊輝三角形

/*    需求:打印楊輝三角形(行數可以鍵盤錄入)        1    1 1        1 2 1    1 3 3 1    1 4 6 4 1     1 5 10 10 5 1    分析:看這種圖像的規律        A:任何一行的第一列和最后一列都是1        B:從第三行開始,每一個數據是它上一行的前一列和它上一行的本列之和。        步驟:        A:首先定義一個二維數組。行數如果是n,我們把列數也先定義為n。          這個n的數據來自于鍵盤錄入。        B:給這個二維數組任何一行的第一列和最后一列賦值為1        C:按照規律給其他元素賦值            從第三行開始,每一個數據是它上一行的前一列和它上一行的本列之和。        D:遍歷這個二維數組。*/import java.util.Scanner;class Array2Test3 {    public static void main(String[] args) {        //創建鍵盤錄入對象        Scanner sc = new Scanner(System.in);                //這個n的數據來自于鍵盤錄入。        System.out.println("請輸入一個數據:");        int n = sc.nextInt();                //定義二維數組        int[][] arr = new int[n][n];                //給這個二維數組任何一行的第一列和最后一列賦值為1        for(int x=0; x<arr.length; x++) {            arr[x][0] = 1; //任何一行第1列            arr[x][x] = 1; //任何一行的最后1列        }                //按照規律給其他元素賦值        //從第三行開始,每一個數據是它上一行的前一列和它上一行的本列之和。        for(int x=2; x<arr.length; x++) {            //這里如果y<=x是有個小問題的,就是最后一列的問題            //所以這里要減去1            //并且y也應該從1開始,因為第一列也是有值了            for(int y=1; y<=x-1; y++) {                //每一個數據是它上一行的前一列和它上一行的本列之和。                arr[x][y] = arr[x-1][y-1] + arr[x-1][y];            }        }                //遍歷這個二維數組。        /*        for(int x=0; x<arr.length; x++) {            for(int y=0; y<arr[x].length; y++) {                System.out.print(arr[x][y]+"/t");            }            System.out.println();        }        */        //這個時候,要注意了,內循環的變化必須和曾經講過的九九乘法表類似        for(int x=0; x<arr.length; x++) {            for(int y=0; y<=x; y++) {                System.out.print(arr[x][y]+"/t");            }            System.out.println();        }    }

}        2:兩個思考題(理解)    (1)Java中的參數傳遞問題        Java中只有值傳遞。        基本類型:形式參數的改變不影響實際參數        引用類型:形式參數的改變直接影響實際參數    (2)數據加密問題        綜合的小案例。

/*	把剛才的代碼改進一下:		A:把數據改進為鍵盤錄入		B:把代碼改進為方法實現						另一個數據的測試:		number:1234567		第一步:7654321		第二步:2109876		第三步:6109872			知識點:		變量		數據類型		運算符		鍵盤錄入		語句		方法		數組*/import java.util.Scanner;class JiaMiDemo2 {	public static void main(String[] args) {		//創建鍵盤錄入對象		Scanner sc = new Scanner(System.in);				//請輸入一個數據		System.out.println("請輸入一個數據(小于8位):");		int number = sc.nextInt();				//寫功能實現把number進行加密		//調用		String result = jiaMi(number);		System.out.println("加密后的結果是:"+result);	}		/*		需求:寫一個功能,把數據number實現加密。		兩個明確:			返回值類型:String 做一個字符串的拼接。			參數列表:int number	*/	public static String jiaMi(int number) {		//定義數組		int[] arr = new int[8];				//定義索引		int index = 0;				//把number中的數據想辦法放到數組中		while(number > 0) {			arr[index] = number%10;			index++;			number /= 10;		}				//把每個數據加5,然后對10取得余數		for(int x=0; x<index; x++) {			arr[x] += 5;			arr[x] %= 10;		}				//把第一位和最后一位交換		int temp = arr[0];		arr[0] = arr[index-1];		arr[index-1] = temp;				//把數組的元素拼接成一個字符串返回		//定義一個空內容字符串		String s = "";				for(int x=0; x<index; x++) {			s += arr[x];		}				return s;	}}


上一篇:Java中的枚舉Enum使用

下一篇:JAVA 工具類

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林右旗| 哈尔滨市| 克东县| 屯昌县| 炎陵县| 长宁县| 友谊县| 涞源县| 全南县| 盱眙县| 崇明县| 达拉特旗| 屏东县| 丘北县| 玉山县| 佛教| 江陵县| 永年县| 洛川县| 青田县| 陇南市| 满洲里市| 电白县| 嘉黎县| 景谷| 彭阳县| 河北区| 东港市| 信丰县| 舟曲县| 安福县| 北安市| 巍山| 柘荣县| 阳高县| 南丰县| 扎鲁特旗| 五原县| 大名县| 巴塘县| 彭山县|