欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java二維數(shù)組基礎(chǔ)知識詳解

 更新時間:2023年02月19日 09:12:31   作者:進(jìn)擊的菜鳥子  
這篇文章主要介紹了java二維數(shù)組基礎(chǔ)知識詳解的相關(guān)資料,需要的朋友可以參考下

1. 查找

1) 順序查找 SeqSearch.java

2) 二分查找【二分法,放在算法講解】

2. 順序查找

有一個數(shù)列:白眉鷹王、金毛獅王、紫衫龍王、青翼蝠王猜數(shù)游戲:從鍵盤中任意輸入一個名稱,判斷數(shù)列中是否 包含此名稱【順序查找】 要求: 如果找到了,就提示找到,并給出下標(biāo)值。

import java.util.Scanner;
public class Test21
{
public static void main(String[] args)
{
//有一個數(shù)列:白眉鷹王、金毛獅王、紫衫龍王、青翼蝠王猜數(shù)游戲:
//從鍵盤中任意輸入一個名稱,判斷數(shù)列中是否 包含此名稱【順序查找】
// 要求: 如果找到了,就提示找到,并給出下標(biāo)值。
// 思路分析 1. 定義一個字符串?dāng)?shù)組
// 2. 接收用戶輸入, 遍歷數(shù)組,逐一比較,如果有,則提示信息,并退出
//定義一個字符串?dāng)?shù)組
Scanner myScanner = new Scanner(System.in);
String[] names = {"白眉鷹王", "金毛獅王", "紫衫龍王", "青翼蝠王"};
System.out.println("請輸入名字");
String findname = myScanner.next();
//遍歷數(shù)字組
int index = -1;//判斷找沒找到
for(int i=0;i<names.length;i++)
{
if(findname.equals(names[i]))//使用equals比較字符串是相等
{
System.out.println("恭喜你找到了"+findname);
System.out.println("下標(biāo)是"+i);
index = i;
break;
}
}
if(index==-1)//沒找到
{
System.out.println("沒找到"+findname);
}
}
}

3. 二分查找

僅當(dāng)了解,后面會詳細(xì)講解

import java.util.Scanner;
public class Test21
{
public static void main(String[] args)
{
Scanner myScanner = new Scanner(System.in);
int arr[]={1,2,3,4,5,6,7,8,9,10};
int left=0;
int right=arr.length-1;
System.out.println("請輸入要查找的數(shù)字");
int n =myScanner.nextInt();
while(left<=right)
{
int mid = (left+right)/2;
if(arr[mid]<n)
{
left=mid+1;
}
else if(arr[mid]>n)
{
right=mid-1;
}
else
{
System.out.println("找到啦,下標(biāo)是"+mid);
break;
}
}
if(left>right)
{
System.out.println("沒找到");
}
}
}

4. 多維數(shù)組

4.1 二維數(shù)組 175

請用二維數(shù)組輸出如下圖形

0 0 0 0 0 0

0 0 1 0 0 0

0 2 0 3 0 0

0 0 0 0 0 0

import java.util.Scanner;
public class Test21
{
public static void main(String[] args)
{
int arr[][]={{0,0,0,0,0,0},{0,0,1,0,0,0},{0,2,0,3,0,0},{0,0,0,0,0,0}};
//輸出二維數(shù)組
for(int i=0;i<arr.length;i++)
{
//arr[i]表示二維數(shù)組的第i+1個元素,比如arr[0]表示二維數(shù)組的第一個元素
//arr[i].length表示得到的對應(yīng)的一維數(shù)組的長度
for(int j=0;j<arr[i].length;j++)
{
System.out.print(arr[i][j]+" ");//輸出一維數(shù)組
}
System.out.println();//換行
}
}
}

4.2 二維數(shù)組細(xì)節(jié)

0 0 0 0 0 0

0 0 1 0 0 0

0 2 0 3 0 0

0 0 0 0 0 0

1. 從定義形式上看 int[][]

2. 可以這樣理解,原來的一維數(shù)組的每個元素是一維數(shù)組, 就構(gòu)成二維數(shù)組

3. 二維數(shù)組的個數(shù)System.out.println("二維數(shù)組的元素個數(shù)"+arr.length);//4

4. 二維數(shù)組的每個元素是一維數(shù)組, 所以如果需要得到每個一維數(shù)組的值 還需要再次遍歷

5. 如果我們要訪問第 (i+1)個一維數(shù)組的第 j+1 個值 arr[i][j];

舉例 訪問 3, =》 他是第 3 個一維數(shù)組的第 4 個值 arr[2][3]

System.out.println("第 3 個一維數(shù)組的第 4 個值=" + arr[2][3]); //3

5. 二維數(shù)組的使用方式 176

1) 語法: 類型[][] 數(shù)組名=new 類型[大小][大小]

2) 比如: int a[][]=new int[2][3]

java二維數(shù)組_數(shù)組初始化

//二維數(shù)組的使用

public class Test21
{
public static void main(String[] args)
{
int arr[][]=new int[2][3];
arr[1][1]=8;
//遍歷arr
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[i].length;j++)
{
System.out.print(arr[i][j]+" ");
}
System.out.println();//換行
}

}
}

6. 二維數(shù)組的動態(tài)初始化

1.先聲明:類型 數(shù)組名[][]; 再定義(開辟空間) 數(shù)組名 = new 類型[大小][大小]

例如

int arr[][];//聲明

arr=new int[2][3];//定義

2.動態(tài)初始化-列數(shù)不確定 178

java二維數(shù)組_數(shù)組初始化_02

看一個需求:動態(tài)創(chuàng)建下面二維數(shù)組,并輸出

i = 0: 1

i = 1: 2 2

i = 2: 3 3 3

public class Test21
{
public static void main(String[] args)
{
int arr[][]=new int[3][];//列不確定可以不寫 創(chuàng)建 二維數(shù)組,一共有 3 個一維數(shù)組,但是每個一維數(shù)組還沒有開數(shù)據(jù)空間
for(int i=0;i<arr.length;i++)
{
arr[i]=new int[i+1];//給一維數(shù)組開辟空間
for(int j=0;j<arr[i].length;j++)
{
arr[i][j]=i+1;//給一位數(shù)組元素賦值
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}

7. 二維數(shù)組的靜態(tài)初始化 179

定義 類型 數(shù)組名[][] = {{值 1,值 2..},{值 1,值 2..},{值 1,值 2..}}

使用即可 [ 固定方式訪問 ]

比如:

int[][] arr = {{1,1,1}, {8,8,9}, {100}};

解讀

1. 定義了一個二維數(shù)組 arr

2. arr 有三個元素(每個元素都是一維數(shù)組)

3. 第一個一維數(shù)組有 3 個元素 , 第二個一維數(shù)組有 3 個元素, 第三個一維數(shù)組有 1 個元素

public class Test21
{
public static void main(String[] args)
{
int[][] arr = {{1,1,1}, {8,8,9}, 100};//100沒有帶{},必報錯
}
}

8. 二維數(shù)組練習(xí) 180

8.1 int arr[][]={{4,6},{1,4,5,7},{-2}}; 遍歷該二維數(shù)組,并得到和

//int arr[][]={{4,6},{1,4,5,7},{-2}}; 遍歷該二維數(shù)組,并得到和
public class Test21
{
public static void main(String[] args)
{
int arr[][]={{4,6},{1,4,5,7},{-2}};
int sum=0;
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[i].length;j++)
{
sum+=arr[i][j];
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
System.out.println("sum="+sum);
}
}

到此這篇關(guān)于java二維數(shù)組基礎(chǔ)知識詳解的文章就介紹到這了,更多相關(guān)java二維數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中五種不同方法的創(chuàng)建對象

    Java中五種不同方法的創(chuàng)建對象

    本文為大家詳細(xì)介紹了在Java中5種不同創(chuàng)建對象的方法和實例代碼,感興趣的小伙伴們可以參考一下
    2016-07-07
  • java中List去除重復(fù)數(shù)據(jù)的5種方式總結(jié)

    java中List去除重復(fù)數(shù)據(jù)的5種方式總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于java中List去除重復(fù)數(shù)據(jù)的5種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • IDEA連接MySQL數(shù)據(jù)庫的4種方法圖文教程

    IDEA連接MySQL數(shù)據(jù)庫的4種方法圖文教程

    IDEA是一種流行的Java開發(fā)工具,可以方便地連接MySQL,這篇文章主要給大家介紹了關(guān)于IDEA連接MySQL數(shù)據(jù)庫的4種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • SpringMVC如何配置JSP視圖解析器

    SpringMVC如何配置JSP視圖解析器

    這篇文章主要介紹了SpringMVC如何配置JSP視圖解析器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java面向接口編程之簡單工廠模式示例

    Java面向接口編程之簡單工廠模式示例

    這篇文章主要介紹了Java面向接口編程之簡單工廠模式,結(jié)合實例形式詳細(xì)分析了java面向接口編程簡單工廠模式的具體定義與使用方法,需要的朋友可以參考下
    2019-09-09
  • Java正則替換手機號代碼實例

    Java正則替換手機號代碼實例

    本文的主要內(nèi)容是Java語言中正則表達(dá)式替換手機號的第4到第7位,實現(xiàn)方法十分簡單,同時涉及了一些正則表達(dá)式的相關(guān)用法,需要的朋友可以參考下。
    2017-09-09
  • SpringBoot項目Docker部署三種方式

    SpringBoot項目Docker部署三種方式

    本文主要介紹了SpringBoot項目Docker部署三種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Java中定時器java.util.Timer的簡單模擬

    Java中定時器java.util.Timer的簡單模擬

    在Java中,定時器(Timer)是一個工具類,用于安排任務(wù)在指定時間后執(zhí)行或以指定的時間間隔重復(fù)執(zhí)行,本文就來講講如何簡單模擬實現(xiàn)定時器吧
    2023-07-07
  • java String 類的一些理解 關(guān)于==、equals、null

    java String 類的一些理解 關(guān)于==、equals、null

    在對字符串的相等判斷,==判斷的是地址是否相同,equal()判斷的是字符值是否相同。大多數(shù)時候==跟equal()的結(jié)果都是相同的。
    2009-06-06
  • Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程

    Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程

    這篇文章主要介紹了Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論