java一系列数组的表示方法_Java入门系列-10-数组
這篇文章為你搞懂2個(gè)問題
1.什么是數(shù)組,數(shù)組是干嘛用的?
2.數(shù)組如何使用?
考試結(jié)束后,老師給二狗安排了一項(xiàng)任務(wù),統(tǒng)計(jì)班里40名同學(xué)的平均分。按照我們之前的做法,我們可以定義40個(gè)變量然后再相加除以40求出平均分,但是這樣太繁瑣了,有沒有更好的辦法呢?那就是使用 數(shù)組。
數(shù)組
數(shù)組其實(shí)也是一個(gè)變量,顧名思義存儲(chǔ)了一組相同類型的數(shù)據(jù),聲明一個(gè)數(shù)組就是在內(nèi)存空間中分配出一連串的空間。
元素1
元素2
元素3
……
使用數(shù)組需要四個(gè)步驟:
1.聲明數(shù)組 int[] a;
2.分配空間 a=new int[5];
3.賦值 a[0]=8;
4.處理數(shù)據(jù) a[0]=a[0]*10;
數(shù)組中的元素通過下標(biāo)進(jìn)行訪問,下標(biāo)從0開始
數(shù)組長度是在分配完空間后是固定不變的
數(shù)組中所有的元素必須是相同的數(shù)據(jù)類型
1.聲明數(shù)組:告訴計(jì)算機(jī)數(shù)據(jù)類型是什么
語法:
數(shù)據(jù)類型 數(shù)組名[];
數(shù)據(jù)類型[] 數(shù)組名;
敲一敲:
public class DemoArray {
public static void main(String[] args) {
int[] score;//成績
String[] name;//名字
}
}
2.分配空間:告訴計(jì)算機(jī)分配幾個(gè)連續(xù)的空間
語法:
數(shù)組名=new 數(shù)據(jù)類型[大小];
或者 聲明數(shù)組同時(shí)并分配空間:
數(shù)據(jù)類型[] 數(shù)組名=new 數(shù)據(jù)類型[大小];
敲一敲:
public class DemoArray {
public static void main(String[] args) {
int[] score;//成績
String[] name;//名字
score=new int[40];
name=new String[40];
//聲明變量同時(shí)并分配空間
int[] age=new int[40];
}
}
3.賦值:向分配的空間中放數(shù)據(jù)
敲一敲:
public class DemoArray {
public static void main(String[] args) {
int[] score;//成績
String[] name;//名字
score=new int[40];
name=new String[40];
//聲明變量同時(shí)并分配空間
int[] age=new int[40];
name[0]="張三";//向數(shù)組中第一個(gè)元素存放數(shù)據(jù)
name[1]="李四";//向數(shù)組中第一個(gè)元素存放數(shù)據(jù)
}
}
但是這樣一個(gè)一個(gè)去賦值太麻煩了
敲一敲:1.聲明數(shù)組的同時(shí)賦值
public class DemoArray1 {
public static void main(String[] args) {
int[] score= {67,55,93};//自動(dòng)確定長度為3
String[] name=new String[] {"張三","李四","王五"};
}
}
敲一敲:2.使用循環(huán)從控制臺(tái)獲取信息并賦值
import java.util.Scanner;
public class DemoArray2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int[] score=new int[40];
for (int i = 0; i < score.length; i++) {
score[i]=input.nextInt();
}
}
}
length 是數(shù)組的屬性,用于獲取數(shù)組的長度
4.處理數(shù)據(jù)
敲一敲:遍歷數(shù)組
public class DemoEachArray {
public static void main(String[] args) {
String[] name= {"香蕉","菠蘿","西瓜"};
for (int i = 0; i < name.length; i++) {
String temp=name[i];
System.out.println(i+" "+temp);
}
}
}
可以打印數(shù)組,也可重新賦值等操作
工具類Arrays
Arrays類包含操作數(shù)組的各種方法,使用這個(gè)類需要
加入一行代碼
import java.util.Arrays; 引入后使用。
方法名
說明
sort()
對指定的數(shù)組按數(shù)字升序進(jìn)行排序。
toString()
返回指定數(shù)組內(nèi)容的字符串表示形式。
copyOf()
復(fù)制指定的數(shù)組到一個(gè)新數(shù)組,并指定新數(shù)組的長度
敲一敲:sort的使用
import java.util.Arrays;
public class DemoArraysSort {
public static void main(String[] args) {
int[] ages= {33,18,37,55,3};
Arrays.sort(ages);
for(int i=0;i
System.out.println(i+" "+ages[i]);
}
}
}
敲一敲:toString的使用
import java.util.Arrays;
public class DemoArraysToString {
public static void main(String[] args) {
String[] name= {"張三","李四","王五","趙六"};
String result=Arrays.toString(name);
System.out.println(result);
double[] money= {55.4,34,66,23.3};
System.out.println(Arrays.toString(money));
}
}
敲一敲:copyOf的使用
import java.util.Arrays;
public class DemoArraysCopyOf {
public static void main(String[] args) {
int[] ages= {33,18,37,55,3};
int[] newArray1=Arrays.copyOf(ages, 3);
System.out.println("新數(shù)組:"+Arrays.toString(newArray1));
int[] newArray2=Arrays.copyOf(ages,8);
System.out.println("新數(shù)組:"+Arrays.toString(newArray2));
}
}
使用 copyOf() 時(shí),如果指定的副本數(shù)組的長度小于源數(shù)組的長度,后面的元素都將被截?cái)唷H绻付ǖ母北緮?shù)組的長度大于源數(shù)組的長度,多出的元素都將使用默認(rèn)值。
數(shù)組元素默認(rèn)值
如果一個(gè)數(shù)組已經(jīng)指定了長度,但是沒有給元素賦值,那么沒有賦值的元素都會(huì)有默認(rèn)值。
類型
默認(rèn)值
String
null
int
0
double
0.0
boolean
false
Object
null
敲一敲:體驗(yàn)各種類型的默認(rèn)值
import java.util.Arrays;
public class DemoDefaultValue {
public static void main(String[] args) {
String[] name=new String[10];
System.out.println("字符串:"+Arrays.toString(name));
int[] age=new int[10];
System.out.println("整數(shù):"+Arrays.toString(age));
double[] money=new double[10];
System.out.println("小數(shù):"+Arrays.toString(money));
Object[] obj=new Object[10];
System.out.println("對象:"+Arrays.toString(obj));
boolean[] results=new boolean[10];
System.out.println("布爾值:"+Arrays.toString(results));
char[] chrs=new char[10];
System.out.println("字符:"+Arrays.toString(chrs));
System.out.println((int)chrs[0]);//字符對應(yīng)的整數(shù)
}
}
試一試:
1.從控制臺(tái)中輸入5個(gè)人的年齡,存入數(shù)組中,求出最小的年齡
2.將一組亂序的字符排序后,進(jìn)行升序和逆序輸出
搜索關(guān)注公眾號(hào)「享智同行」,第一時(shí)間獲取技術(shù)干貨,關(guān)注后回復(fù)010 獲取本次練習(xí)答案!
總結(jié)
以上是生活随笔為你收集整理的java一系列数组的表示方法_Java入门系列-10-数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java annotation入门_JA
- 下一篇: Java jni 底层_Java中的na