您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java數組常見應用有哪些”,在日常操作中,相信很多人在Java數組常見應用有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java數組常見應用有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
外循環控制行,內循環控制列。
//乘法表for(int i = 1; i <= 9; i++) { for(int j = 1; j <= i ;j++) { System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println();}
#:一個數字
0:一個數字,不夠位數用0補位
DecimalFormat f = new DecimalFormat("###.##");DecimalFormat f = new DecimalFormat("000.00000");System.out.println(sum);System.out.println(f.format(sum));System.out.println(f.format(34.567));
用在 switch和循環中。用在單層循環中,用來結束循環。
用在循環中。作用 結束本次循環進行下一次循環條件判斷。
對于雙重循環,可以自定義一個標簽,break或continue 到標簽處。
Java 語言中提供的數組是用來存儲固定大小的同類型元素。
首先必須聲明數組變量,才能在程序中使用數組。下面是聲明數組變量的語法:
int[] arr;//聲明數組,告訴計算機我要存儲一組整數(推薦)或//int arr[];
int x1,x2,x3;//聲明了3個int類型的變量int [] n1,n2,n3;//聲明了3個數組int num1 [],num2,num3;//聲明了一個int類型的數組num1,兩個Int類型的變量。
arr = new int[6];//創建一個數組,計算機在內存中分配6個空間,并初始化
數組的元素是通過索引訪問的。數組索引從 0 開始,所以索引值從 0 到 arr.length-1。
//動態初始化:我們制定長度,系統賦值。int[] arr = new int[5];//0//初始值//整數:0 小數:0.0 布爾:false char:000 //String:null //靜態初始化:我們賦值,系統分配長度(arr2.length)int[] arr2 = {11,22,33};
arr[2]=33;
是作為構思算法的輔助工具,不是完全的數據存儲工具。是插入和刪除操作被限制在表的線性表。只能從棧頂入棧,也只能從棧頂出站是一種后進先出的結構
普通for循環
public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有數組元素 for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); } // 計算所有元素的總和 double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("Total is " + total); // 查找最大元素 double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; } System.out.println("Max is " + max); }}
增強for循環
public class TestArray { public static void main(String[] args) { double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有數組元素 for (double element: myList) { System.out.println(element); } }}
增強for循環的特點:
【1】簡潔
【2】不能制定范圍訪問,只能訪問全部
【3】不能反轉輸出,只能正序訪問
【4】不能修改數組元素的值
package day4;public class Demo12 { public static void main(String[] args) { // 冒泡排序 int[] arr = {34,1,78,9,43}; int temp; for(int i = 0 ; i < arr.length-1;i++) {//輪 for(int j = 0; j < arr.length-1-i; j++) {//次 if(arr[j] > arr[j+1]) { temp = arr[j]; arr[j]= arr[j + 1]; arr[j + 1] = temp; } } } for(int n: arr) { System.out.println(n); } }}
package day4;import java.util.Arrays;public class Demo13 { public static void main(String[] args) { // 選擇排序 int [] arr = {5,12,3,78,345}; int temp; for(int i = 0; i < arr.length-1; i++) {//位置 for(int j = i + 1; j < arr.length; j++) { if(arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(int n:arr) { System.out.println(n); }// System.out.println(Arrays.toString(arr)); }}
public class ArrayTest { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = {4,6,8,33,66,44,99,54}; int num=searchKey(arr,66); System.out.println(num); } //查找一個元素在數組中的第一次出現的位置 public static int searchKey(int[] arr,int key) { for(int i=0;i
public class binarySearch { public static void main(String[] args) { int[] arr = {9,12,15,24,36,41,59,68}; int num =searchArray(arr,12); System.out.println(num); } //二分查找。前天:數組必須是有序的。 /* * 思路: * 1.通過角標先獲取中間角標上的元素 * 2.讓該元素和要找的數據比較。 * 3.如果要找的數大了,縮小范圍,要找的范圍應該是 中間的角標+1---尾角標 * 如果要找的數效率,要找的范圍 頭角標---中間角標-1。 * 4.不斷如此重復,就可以找到元素對應的角標。 * */ public static int searchArray(int[] arr,int key) { int max,min,mid; min = 0; max = arr.length-1; mid = (min+max)>>1; while(arr[mid]!=key) { if(key > arr[mid]) { min = mid + 1; }else{ max = mid - 1; } //判斷元素是否存在。 if(max>1; } return mid; }}
public class ArrayTest1 { public static void main(String[] args) { int[] arr = {9,12,15,24,36,41,59,68}; int num =binarySearch(arr,44); System.out.println(num); } //二分查找。前天:數組必須是有序的。 /* * 思路: * 1.通過角標先獲取中間角標上的元素 * 2.讓該元素和要找的數據比較。 * 3.如果要找的數大了,縮小范圍,要找的范圍應該是 中間的角標+1---尾角標 * 如果要找的數效率,要找的范圍 頭角標---中間角標-1。 * 4.不斷如此重復,就可以找到元素對應的角標。 * */ public static int binarySearch(int[] arr,int key) { //定義單個變量,記錄頭角標,尾角標,中間角標 int max,min,mid; min = 0; max = arr.length-1; while(min<=max) { mid = (min+max)>>1; if(key > arr[mid]) { min = mid + 1; }else if(key < arr[mid]) { max = mid - 1; }else { return mid; } } return -1; }}
package cn.java.study;import java.util.Arrays;public class Demo5 { public static void main(String[] args) { int[] arr1 = {1,4,6,83,45}; int[] arr2 = new int[arr1.length]; // 源數組 源數組起始位置 目標數組 目標數組起始位置 復制長度 System.arraycopy(arr1, 1, arr2, 2, 3); System.out.println(Arrays.toString(arr2)); }}
package cn.java.study;//工具類import java.util.Arrays;public class Demo5 { public static void main(String[] args) { //Arrays int[] arr = {1,4,7,434,232,55}; //將數組轉換成字符串 System.out.println(Arrays.toString(arr)); //對數組進行升序排序 Arrays.sort(arr); System.out.println(Arrays.toString(arr)); //排序數組名 排序數組元素開始位置 排序數組元素結束位置(實際上,取到終止位置減一)[起始位置,終止位置) Arrays.sort(arr,2,4); System.out.println(Arrays.toString(arr)); //多核處理器下并行操作使用 Arrays.parallelSort(arr); //二分查找下標,數組 查找的數字,返回的是插入點,沒有的話返回的是負的插入點減一的值 System.out.println(Arrays.binarySearch(arr, 8)); //數組比較:元素的個數和對應位置的數組元素相同 int[] arr1 = {1,2,5}; int[] arr2 = {1,2,5}; System.out.println(Arrays.equals(arr1, arr2)); //數組的填充,將數組中所有的元素替換為666 Arrays.fill(arr, 666); System.out.println(Arrays.toString(arr)); //數組的復制,返回的是一個數組, (要復制的數組,幾個元素) int[] arr3 = Arrays.copyOf(arr1, 2); System.out.println(Arrays.toString(arr3)); }}
格式1:
int[][] arr = new int[3][2];
定義了名稱為arr的二位數組二維數組中有3個一維數組每一個一維數組中有2個元素一維數組的名稱分別為arr[0],arr[1],arr[2]給第一個一維數組1角標位賦值為666的寫法是:arr[0][1] = 666;
System.out.println(arr); // [[Ie6f7d2二位數組實體 e6f7d2是哈希值,[是數組,[[二位數組
格式2:
int[][] arr = new int[3][];arr[0] = new int[3];arr[1] = new int[1];arr[2] = new int[2];
到此,關于“Java數組常見應用有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。