中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java數組常見應用有哪些

發布時間:2021-11-05 10:10:12 來源:億速云 閱讀:145 作者:iii 欄目:編程語言

這篇文章主要介紹“Java數組常見應用有哪些”,在日常操作中,相信很多人在Java數組常見應用有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java數組常見應用有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

雙重for循環

外循環控制行,內循環控制列。

//乘法表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();}

DecimalFormat

#:一個數字

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));

break

用在 switch和循環中。用在單層循環中,用來結束循環。

continue

用在循環中。作用 結束本次循環進行下一次循環條件判斷。

對于雙重循環,可以自定義一個標簽,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;

棧stack

是作為構思算法的輔助工具,不是完全的數據存儲工具。是插入和刪除操作被限制在表的線性表。只能從棧頂入棧,也只能從棧頂出站是一種后進先出的結構

遍歷數組

普通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)); }}

常用API之Arrays類

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數組常見應用有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙田区| 昆明市| 淅川县| 尖扎县| 广河县| 贞丰县| 西峡县| 隆化县| 建水县| 石台县| 武威市| 新安县| 库车县| 安康市| 远安县| 太原市| 阿瓦提县| 南昌县| 竹北市| 偃师市| 凉山| 化隆| 长寿区| 栾川县| 沂源县| 巴彦县| 临城县| 阿荣旗| 丹凤县| 邵东县| 全州县| 桂东县| 栾城县| 壶关县| 巴林右旗| 酉阳| 剑川县| 庆云县| 富宁县| 上饶县| 北海市|