日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java中的数组_Java中的数组

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的数组_Java中的数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組是在內存中存儲相同數據類型的連續的空間

聲明一個數組就是在內存空間中劃出一串連續的空間

數組名代表的是連續空間的首地址

通過首地址可以依次訪問數組所有元素

元素在數組中的排序叫做下標從零開始

數組的使用

數組長度一旦聲明,不可改變不可追加

聲明一個int類型的數組

int[ ] arr; ? 或int arr[ ]

給數組分配空間

arr=new int[5];

給數組賦值

arr[0]=1; ? ?? 0代表的是數組的第1個元素 ,元素下標為0

arr[1]=1; ? ?? 1代表的是數組的第2個元素 ,元素下標為1

訪問數組數據 ,使用數組下標訪問?????? c=arr[4];

數組聲明縮寫

int[ ] arr={12,3,4,8,5,6,6,7,8,8,9,8};int [ ] arr1=new int[ ]{12,3,4,8,5,6,6,4};

new int[ ]的[ ]一定不能放內存大小

使用循環給數組賦值

示例為

int[ ] arr=new int[5];for (int i = 0; i < arr.length; i++) {

System.out.println("數組第"+(i+1)+"個值為"+i);

}

使用循環遍歷給數組賦值,輸出數組

實例為

int[ ] arr={1,3,6,5,6,7,84,55,5};for (intnum:arr) {

System.out.println(num);

}

顯示結果為

數組中常用來排序的兩種方法

冒泡排序

例子:

public?static?void?main(String[]?args)?{

實現學生成績排序并顯示學生成績列表

int [?? ]?arr?=?{78,89,67,98,90,56,88};

N個數的數組,需要比較N-1輪

for(int i=0; iarr[j]){int temp =arr[j];

arr[j]=arr[i];

arr[i]=temp;

}

}

}

冒泡排序?? 升序排列

for(int i=0; iarr[j+1]){int temp =arr[j];

arr[j]= arr[j+1];

arr[j+1] =temp;

}

}

}

二分法排序

二分法查找

int start = 0;      //默認起始坐標

int end = arr.length-1;     //默認結尾坐標

int index = -1;      //找不到默認index為-1

while(start<=end){int middle = (start+end)/2;     //計算中間下標

if(num ==arr[middle]){

index=middle;break;

}if(num >arr[middle]){

start= middle + 1;

}if(num

end= middle - 1;

}

} System.out.println(index);

}

}

下面是一些實例.

① 做一個購物清單,手動輸入金額,輸出是要顯示總金額

Scanner in=newScanner( System.in);double sum=0;double[ ] arr=new double[5];for (int i = 0; i < arr.length; i++) {

System.out.print("請輸入第"+(i+1)+"筆購物金額:");

arr[i]=in.nextDouble();

sum+=arr[i];

}

System.out.println("序號\t\t 金額");for (int i = 0; i < arr.length; i++) {

System.out.println((i+1)+"\t\t"+arr[i]);

}

System.out.println("總金額:"+sum );

}

顯示結果為

②輸入四家店的價格,并找出最小價格

Scanner in=newScanner(System.in);int[] arr=new int[4];

System.out.println("請輸入四家店的價格");for (int i = 0; i <4; i++) {

System.out.print("第"+(i+1)+"店的價格為:");

arr[i]=in.nextInt();

}for (int j = 0; j < arr.length-1; j++) {if (arr[j]

arr[j+1]=arr[j];

}else{

arr[j+1]=arr[j+1];

}

}System.out.println("最低價格是:"+arr[3]);

}

顯示結果為

③將一個數組從小到大排列

int[] arr={56,45,99,82,91,81};intmax;intm;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]) {int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

for (int a: arr) {

System.out.println(a);

}

}

}

顯示結果為

④輸入一個數字,在數組中查找,若有輸出下標,若沒有輸出-1

Scanner in=newScanner(System.in);int[] arr={12,34,46,68,32,35,75,48,25};

System.out.println("輸入一個數字");int sz=in.nextInt();for (int i = 0; i < arr.length; i++) {if (sz==arr[i]) {

System.out.println("數字下標為"+i);return;

}

}

System.out.println("-1");

顯示結果為

⑤編寫JAVA程序,實現兩個數組的合并,并按升序排列合并后的數組

假定現有兩個數組,分別為:

int[ ] arr1={3, 1, 23};

int[ ] arr2={27, 7, 2};

設計程序,將兩個數組合并成一個數組,并按升序排列合并后的數組,輸出合并前和合并后的數組信息

int[ ] arr1 = {3, 1, 23};int[ ] arr2 = {27, 7, 2};int[ ] arr = new int[arr1.length+arr2.length]; //1. 聲明一個數組,長度等于兩個數組的長度和

for(int i=0; i

arr[i] =arr1[i];

}for(int i=0; i

arr[arr1.length+i] =arr2[i];

}for(int i=0; i

for(int j=0; j arr[ j+1]){int temp =arr[ j ];

arr [ j ]= arr[ j+1];

arr[ j+1 ] =temp;

}

}

}

System.out.println(Arrays.toString(arr));

顯示結果為

⑥用數組,判斷一個數字,是不是回文數。

System.out.print("請輸入一個數組:");

Scanner in= newScanner(System.in);long num =in.nextLong();long old = num; //暫存num

int count = 0; //num有幾位,定義一個幾位的數組。 求出num的位數

while(num>0){

num/= 10;

count++;

}int[] arr = new int[count];

count= 0; //不斷取出數字的每一位,依次放入數組中

while(old>0){

arr[count]= (int)old % 10;

old/= 10;

count++;

}for(int i=0,j=arr.length-1; i<=j ; i++,j--){ //依次比較數組的首尾。 有任意一位不相等,就不是回文數

if(arr[i] !=arr[j]){

System.out.println("不是回文數");return;

}

}

System.out.println("是回文數");

顯示結果為

⑦???? ?輸入數組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數組

//Scanner in=new Scanner(System.in);//設置輸入數組//int [] arr;//System.out.println("輸入數組");//for (int i = 0; i < arr.length; i++) {//int arr[i]=in.nextInt();

int [ ] arr = {5,3,7,1,0,6,9,2};int max = arr[0] , maxIndex = 0; //找出最大元素的下標

for(int i=0; i

max=arr[i];

maxIndex=i;

}

}if( maxIndex != 0){int temp = arr[0];

arr[0] =arr[maxIndex];

arr[maxIndex]=temp;

}int min = arr[0] , minIndex = 0; //找出最小元素的下標

for(int i=0; iarr[i]){

min=arr[i];

minIndex=i;

}

}if(minIndex != (arr.length-1)){int temp = arr[arr.length-1];

arr[arr.length-1] =arr[minIndex];

arr[minIndex]=temp;

}

System.out.println(Arrays.toString(arr));

}

顯示結果為

總結

以上是生活随笔為你收集整理的java中的数组_Java中的数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。