導航:首頁 > 編程語言 > java一維數組

java一維數組

發布時間:2022-01-13 02:15:28

java一維數組和二維數組的區別

在java中數組被看成是一個對象

在定義數組時,有兩種定義方法:int[] a 和int a[];第二種是C/C++對數組定義方式,對於JAVA建議採用第一種定義方式。

總的原則:任何對象在被調用之前必須先被初始化!

1 一維數組的定義

//定義包含三個元素的一維數組

//方法1,先new對象,然後再初始化每個元素

int[] a = new int[3];

a[0] = 1;

a[1] = 2;

a[2] = 3;

方法一要注意的是不能這樣寫:

int[] a = new int[3];

a = {1,2,3};

原因是用new int[3]這種方式創建對象,對象已經被初始化並賦初值為0;可以用下面代碼驗證:

int[] d = new int[3];

for(int i=0;i<d.length;i++){

System.out.println(d[i]);

}

輸入結果是:0 0 0

如果再用a = {1,2,3};來賦值,大家知道常量是不能再被賦值的,不可修改的。

//方法2,直接賦初值來創建對象

int[] b = {1,2,3};

//方法3,new完對象直接初始化

int[] c = new int[]{1,2,3};

方法三要注意的是不能這樣寫: int[] c = new int[3]{1,2,3};

即這種方法不能指定維度,原因:如果指定了數組初始化操作,則不能定義維表達式。

注意:如果用new定義數組時,必須指定其維度,這樣定義是錯誤的: int[] d = new int[];

如果無法確定其元素個數,可以這樣定義:int[] e = {};

2 二維數組的定義

基本與一維數組類似

//定義一個3行5列的二維數組

//方法1,先new對象,然後再初始化每個元素

int[][] a = new int[3][5];

a[0][0]=1;

a[0][1]=2;

a[0][2]=3;

//方法2,直接賦初值來創建對象

int[][] b = {{1,1,1,1,1}, {2,2,2,2,2}, {3,3,3,3,3} };

//方法3,new完對象直接初始化

int[][] a = new int[][] {{1,1,1,1,1}, {2,2,2,2,2}, {3,3,3,3,3} };

② java 一維整數數組

public class intArray {
private int theSize;
private int a_int[];
public intArray(int a[]){
this.a_int=a;
this.theSize=a.length;
}

public int getSize(){
return this.theSize;
}
public int getAt(int nIndex){
return this.a_int[nIndex];
}
public void SetAt(int nIndex , int newElement){
this.a_int[nIndex] =newElement;
}
public void add(int nIndex){
int old[]=this.a_int;

this.a_int= new int[this.theSize+1];
for(int i =0;i<old.length;i++){
a_int[i]= old[i];
}
a_int[this.theSize+1]=nIndex;
this.theSize++;
}
public static void main(String args[]){
int a[]={3,42,52,22,44,55,11,23,7,1,2,86,64};
intArray array = new intArray(a);

for(int i = 0;i<array.getSize();i++){
for(int j=i; j<array.getSize();j++){
if(array.getAt(j) >array.getAt(i)){
int b_int = array.getAt(i);
array.SetAt(i, array.getAt(j));
array.SetAt(j, b_int);
}

}
}

for(int i = 0;i<array.getSize();i++){
System.out.println(array.getAt(i));
}
}
}

JAVA寫析構幹嘛? 俺就不寫了。

③ java 一維數組 怎麼變二維數組

下面這個程序做到了:

public class Test1 {
public static void main(String[] args) {
int a [] = new int[20];
for (int i = 0; i < a.length; i++) {
a[i] = i;
}

int n = 5;//列
int m = a.length / n;//行
int[][] b = new int[m][n];
int num = -1;

for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
num++;
b[i][j] = a[num];
}
}

System.out.println("原來的一維數組是:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}

System.out.println();
System.out.println("轉換後的二維數組是:");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
}
}

④ JAVA用一維數組做一個示例。

//一維數組
String[] str = new String[5]; //創建一個長度為5的String(字元串)型的一維數組
str[0] = "a"; //賦值
str[1] = "b";
str[2] = "c";
str[3] = "d";
str[4] = "e";
//也可以創建並賦值
String[] str = {"a","b","c","d","e"};

//二維數組
String[][] str = new String[2][2]; //創建一個2行2列的二維數組
str[0][0] = "a0"; //賦值
str[0][1] = "a1";
str[1][0] = "b0";
str[1][1] = "b1";
//也可以創建並賦值
String[][] str = {{"a0","a1"},{"b0","b1"}};

總結:
類型名[]/[][] 變數名 = new 類型名[]/[][];

⑤ java中定義一個一維數組,有什麼方法可以把數組排序

整數數組么。。

import java.util.Arrays;

public class SortArray {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] nums = { 22, 33, 11, 223, 435, 54, 332, 32, 5, 65, 321, 43 };
// 第一種方法 直接用API提供的方法默認是升序排列
Arrays.sort(nums);
for (int num : nums) {
System.out.print(num + " ");
}
System.out.println();
// 第二種方法 自己寫 冒泡排序
nums = new int[] { 22, 33, 11, 223, 435, 54, 332, 32, 5, 65, 321, 43,
543, 432, 7765, 321 };
for (int i = 0; i < nums.length; i++) {
for (int m = i; m < nums.length; m++) {
if (nums[i] > nums[m]) {
int temp = nums[i];
nums[i] = nums[m];
nums[m] = temp;
}
}
}
for (int num : nums) {
System.out.print(num + " ");
}
}

}

⑥ JAVA的第一維數組如何獲取

int []arr=new int[5];
arr[0]=1;
arr[1]=2;
...

就這樣唄 。
如果是二維的:
int [][]arr=new int[3][3];
arr[0][0]=1;
arr[0][1]=2;
...

arr[0]就是這個二維數組的第一維.
arr[1]就是第二維.

⑦ java 一維數組的輸入輸出

publicstaticvoidmain(String[]args){
Scannershuliang=newScanner(System.in);
System.out.println("請輸入水果的數量");
intm=shuliang.nextInt();
intzhongliang[]=newint[m];
intmin=0;
System.out.println("請輸入水果的重量,單位(kg),用空格格開:");
//重量的輸入以及最小值的查找
for(inti=0;i<m;i++){//i<=m是錯的,除非你從i=1開始
zhongliang[i]=shuliang.nextInt();
min=zhongliang[0];
if(zhongliang[i]<min){
min=zhongliang[i];
}
}
shuliang.close();
//輸入結束,求和
intsum=0;//這個放外面,不然每次在循環裡面都重新初始化為0;
//水果總重量?
for(intI=0;I<m;I++){
sum+=zhongliang[I];
/*這個Z是什麼?放在for裡面一上來就有問題
*intZ=sum-min;
*System.out.println("寶寶的爸媽拿到的水果總重量:"+Z);
**/
}
intZ=sum-min;
System.out.println("sum="+sum);
System.out.println("min=:"+min);
System.out.println("寶寶的爸媽拿到的水果總重量:"+Z);
}

自己看看問題在哪裡。請養成打花括弧的習慣,雖然有時候代碼塊只有一行,但便於別人閱讀

⑧ Java定義一個一維數組有哪幾種方法

首先: 一維數組的聲明 ; 代碼如下

int[]ary1;//Java推薦的數組聲明方式

intary2[];//不推薦,但也是正確的,C語言等使用這種方式

其次: 聲明的聲明和賦值

	//參考一
int[]ary1={1,2,3};//聲明的時候,同時賦值
//參考二
int[]ary2=newint[3];//指定數組的長度為3
ary2[0]=1;//數組下標從0開始,依次給每個元素賦值
ary2[1]=2;
ary2[2]=3;
//參考三
int[]ary3=newint[]{1,2,3};//注意,這里的newint[]方框里不能指定長度

最後: 注意數組的默認值;

簡單數據類型,比如boolean類型的數組,默認值就是false, int類型的數組,默認值就是0.
對象類型的數組,比如Boolean類型的數組,默認值是null,Integer類型的數組,默認值還是null

int[]ary1=newint[1];
System.out.println(ary1[0]);//輸出0

Integer[]ary2=newInteger[1];
System.out.println(ary2[0]);//輸出null

boolean[]b1=newboolean[1];
System.out.println(b1[0]);//輸出false

Boolean[]b2=newBoolean[1];
System.out.println(b2[0]);//輸出null

⑨ java 一維數組

import java.util.Scanner;
public class DataArrayDemo{
public static void main(String []args){
int max=0, n, a[];
String[] b;
String s;
Scanner sr=new Scanner(System.in);
n=sr.nextInt();
a=new int[n];
b=new String[n];
for(int i=0; i<n; i++){
System.out.print("第"+(i+1)+"個學生成績為:");
a[i]=sr.nextInt();
s=sr.nextLine();
System.out.print("第"+(i+1)+"個學生姓名為:");
b[i]=sr.nextLine();
if(a[i]>max)max=a[i];
}
System.out.println("最高分學生成績為"+max); //修改處
for(int i=0;i<n;i++){
if(a[i]==max)
System.out.println("最高分學生姓名為"+b[i]);
}
}
}

⑩ 初學者java編程 提示用戶輸入一個一維數組,為這個數組添加元素

親,咱先假設咱定義一個類名Abc,比如說是一個學生信息管理系統吧,要實現這些功能,建三個類。
/

//定義一個學生信息類
public class Student{
java.util.Scanner sn = new java.util.Scanner(System.in);//從控制台輸入的函數
String name[] = new String[30];//在內存中開辟大小為30的空間
String sex[] = new String[30];
String mobrle[] = new String[30];
String address[] = new String[30];

//定義一個查詢的方法,這些方法的次序你可以隨便換
void seek(int k) {
System.out.println("\n" + name[k] + "\n性別:" + sex[k] + "\n電話:"
+ mobrle[k] + "\n家庭住址:" + address[k]);
}

//定義一個添加的方法
void add(int j) {
System.out.println("請輸入姓名");
name[j] = sn.next();
System.out.println("請輸入性別");
sex[j] = sn.next();
System.out.println("請輸入手機號");
mobrle[j] = sn.next();
System.out.println("請輸入家庭住址");
address[j] = sn.next();
}
//定義一個刪除的方法
void delete(int k) {
name[k] = null;
sex[k] = null;
mobrle[k] = null;
address[k] = null;
}

}

//定義一個學生類

public class Student {
StudentBook sbBook = new StudentBook();
java.util.Scanner sn = new java.util.Scanner(System.in);
String name1;
void add() {
for (int j = 0; j < sbBook.name.length; j++) {
if (sbBook.name[j] == null) {
sbBook.add(j);
System.out.println("╭─────╮\n│添加成功!│\n╰─────╯");
break;
}
}
}
void seek() {
for (int t = 12; t != 0;) {
System.out
.println("\n┏━━━━━┓\n┃查詢同學錄┃\n┗━━━━━┛\n1.按姓名查找\n2.按性別查找\n3.按地區查找\n4.查看全部\n0.返回上一級菜單");
int wu = 0;
t = sn.nextInt();//這個地方你可以只定義一種查詢的方法,我在這里只是為了更多元化一些。
if (t == 1) {
System.out.println("請輸入查詢同學的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 2) {
System.out.println("請輸入查詢同學的性別");
name1 = sn.next();
for (int k = 0; k < sbBook.sex.length; k++) {
if (name1.equals(sbBook.sex[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 3) {
System.out.println("請輸入查詢同學的地區");
name1 = sn.next();
for (int k = 0; k < sbBook.sex.length; k++) {
if (name1.equals(sbBook.address[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 4) {
for (int k = 0; sbBook.name[k] != null; k++) {
sbBook.seek(k);
wu++;
}
}
if (t == 0) {
break;
}
if (wu == 0) {
System.out.println("沒有該同學的信息\n");
}
}
}
void alter() {
System.out.println("請輸入修改同學的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
sbBook.add(k);
System.out.println("╭─────╮\n│修改成功!│\n╰─────╯");
break;
} else {
System.out.println("沒有這個人的信息");
break;
}
}
}
void delete() {
System.out.println("請輸入刪除同學的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
sbBook.delete(k);
System.out.println("╭─────╮\n│刪除成功!│\n╰─────╯");
break;
} else {
System.out.println("沒有這個人的信息");
break;
}
}
}
}

//運行的主類,調用上面的兩個類
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
java.util.Scanner sn = new java.util.Scanner(System.in);
Student Su = new Student();
System.out.println("┏━━━━━━━━━┓\n┃歡迎來到同學錄系統┃\n┗━━━━━━━━━┛");
for (int i = 1; i != 0;) {
System.out
.println("\n1.添加同學錄\n2.查詢同學錄\n3.修改同學錄\n4.刪除同學錄信息\n0.退出\n");
i = sn.nextInt();
if (i == 1) {
Su.add();
}
if (i == 2) {
Su.seek();
}
if (i == 3) {
Su.alter();
}
if (i == 4) {
Su.delete();
}
if (i == 0) {
break;
}
}
System.out.println("╔════════╗\n║謝謝使用,再見!║\n╚════════╝");
}
}

所有的系統都是一個道理,有不明白的可以再問。

閱讀全文

與java一維數組相關的資料

熱點內容
人渣怎麼看ip伺服器地址 瀏覽:550
為什麼周年慶伺服器喇叭掉價了 瀏覽:215
pdf橡皮擦注冊碼 瀏覽:362
櫻校設置id時出現伺服器錯誤該怎麼辦 瀏覽:730
涉及到年份求星期幾的演算法 瀏覽:557
linux防止攻擊 瀏覽:990
已加密的pdf如何刪減頁 瀏覽:794
基於c51單片機 瀏覽:766
編譯的編怎麼寫 瀏覽:615
單片機的冰箱溫度控制的設計 瀏覽:940
蘇東坡全集pdf 瀏覽:799
提升vue編譯速度 瀏覽:491
魚竿裁布尺寸計演算法 瀏覽:71
壓縮機飲水機價格 瀏覽:285
win7linux切換 瀏覽:557
dos命令中提示拒絕訪問 瀏覽:271
js調用java後台方法 瀏覽:313
我的世界命令教程 瀏覽:382
程序員生活中的自律習慣 瀏覽:162
java中編譯與載入 瀏覽:567