亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java數(shù)組基礎(chǔ)詳解

 更新時間:2021年06月25日 17:34:58   作者:J九木  
下面小編就為大家?guī)硪黄狫ava創(chuàng)建數(shù)組的幾種方式總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能給大家?guī)韼椭?/div>

數(shù)組

博客園好像炸了,在維護中。

一. 數(shù)組概述

  1. 相同類型數(shù)據(jù)的有序集合
  2. 數(shù)組描述的是相同類型的若干個數(shù)據(jù)。按照一定的先后次序排列組合而成
  3. 每一個數(shù)據(jù)稱作一個數(shù)組元素,每個數(shù)組元素可以通過一個下標來訪問它們
  4. 數(shù)組本身就是對象,數(shù)組對象本身是存在堆中的
  5. 一旦創(chuàng)建,大小不可改變,長度確定

二. 數(shù)組聲明和創(chuàng)建

1.首先必須聲明數(shù)組變量。才能在程序中使用數(shù)組

int[] nums;//主要用這樣的方式
  int nums[];//這樣也行,不建議
nums = new int[10];//創(chuàng)建一個儲存10個數(shù)據(jù)的數(shù)組
  int[] nums = new int[10];//也可以這樣寫,把聲明和創(chuàng)建放一起

2.數(shù)組的下標,或者說數(shù)組的索引是從[0] 開始的

    int[] nums = new int[10];
    nums[0]=1;
    nums[1]=2;
    nums[2]=3;
    nums[3]=4;
    nums[4]=5;
    nums[5]=6;
    nums[6]=7;
    nums[7]=8;
    nums[8]=9;
    nums[9]=10;
  • 當一個位置沒有數(shù)據(jù)時,會得到類型的默認值,如 int 會得到 0,String 會得到 null 。

3.可以用 arrays.length 獲取數(shù)組長度。數(shù)組的長度是確定的,確定之后不可變的。切記不要下標越界

int[] nums = new int[10];
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
nums[5]=6;
nums[6]=7;
nums[7]=8;
nums[8]=9;
nums[9]=10;
int sum = 0;//求和
for(int i = 0; i < nums.length; i++){
    sum = sum + nums[i];
    System.out.println(sum);
}

三. 內(nèi)存分析

1.JAVA內(nèi)存有:堆,棧,方法區(qū)····

  • 堆:存放new的對象和數(shù)組??梢员凰械木€程共享,不會存放別的對象引用
  • 棧:存放基本變量類型(包括這個類型的具體數(shù)值)。引用對象的變量(會存放這個引用在堆里的具體地址)

  • 方法區(qū):可以被所有的線程共享。包含了所有的class和static變量
  • ·····還有其他,后面學到再提

2.靜態(tài)初始化:創(chuàng)建+賦值

//如int個數(shù)組
int[] a = {1,2,3,4,5,6,7,8,9,10};
System.out.println(a[0]);
//也可以是引用類型
    Man[] mans =  {new Man(1,1),new Man(2,2)}

3.動態(tài)初始化:前面其實就是動態(tài)初始化,是分開寫的。沒有賦值的,為該類型的默認初始化值

int[] a = new int[10];
a[0]=1;
a[1]=2;

這里a[3] , a[4]····沒有賦值,那么就是int的默認初始化值 0

4.下標區(qū)間 [ 0 , length-1 ] 。下標越界報錯:java.lang.ArrayIndexOutOfBoundsException

綜合舉例

運行結(jié)果

四. 數(shù)組的使用

1.For-Each 循環(huán) (省掉了下標的使用)

int[] nums = {1,2,3,4,5,6,7,8,9};
//常規(guī)for循環(huán)打印全部元素
for(int i = 0; i< nums.length; i++){
    System.out.println(nums[i]);
}
//利用for-each循環(huán)
for(int num : nums){
     System.out.println(num);
}

2.常規(guī) for 循環(huán)

3.數(shù)組作方法入?yún)?/h4>

4.數(shù)組作返回值。比如反轉(zhuǎn)數(shù)組里的元素

二維數(shù)組和冒泡排序

1.二維數(shù)組

//遍歷二維數(shù)組
public class Array001 {
	public static void main(String[] args) {
        //創(chuàng)建二維數(shù)組
		int[][] a = {{1,2},{5,7},{9,6},{9,5,4},{6,5,4,9,1,2,3}};
        //遍歷二維數(shù)組的外部數(shù)組
		for(int i=0; i<a.length; i++) {
            //j作為二維數(shù)組內(nèi)部數(shù)組的下標,長度是 a[i].length
			for(int j=0; j<a[i].length;j++) {
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
}
}
/*
 * a[0][0]  a[0][1]
 * a[1][0]  a[1][1] 
 * a[2][0]  a[2][1] 
 * a[3][0]  a[3][1]  a[3][2]
 * a[4][0]  a[4][1]  a[4][2]  a[4][3]  a[4][4]  a[4][5]  a[4][6]
 * 
 */

2. 冒泡排序

//冒泡排序
import java.util.Arrays;
public class Test001 {
	public static void main(String[] args) {
        //創(chuàng)建一個數(shù)組
		int[] a = {12,45,2,6,48,23,9};
		method(a);
		System.out.println(Arrays.toString(a));
}
    /* 12與45比較然后排序不變,45與2比較然后排序為12,2,45,6····45與6比較然后排序12,2,6,45,48····以此類推,第一輪的結(jié)果就是12,2,6,45,23,9,48 */
        //第二輪2,6,12,23,9,45,48
        //第三輪···
		//可以發(fā)現(xiàn)比較的輪數(shù)為數(shù)組長度a.length-1
	private static void method(int[] a) {
		//定義變量i,表示比較的輪數(shù)
		for(int i =1; i<a.length; i++) {
			for(int j = 0; j<a.length-1; j++) {
				//比較相鄰元素的大小,并交換值
			if( a[j]>a[j+1] ) {
				int t = a[j];
				a[j] = a[j+1];
				a[j+1] = t;
				}
			}
		}
	}
}

總結(jié)

本篇文章的內(nèi)容就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的其他內(nèi)容!

相關(guān)文章

  • Java負載均衡策略的實現(xiàn)詳解

    Java負載均衡策略的實現(xiàn)詳解

    這篇文章主要介紹了Java負載均衡策略的實現(xiàn),負載均衡在Java領(lǐng)域中有著廣泛深入的應用,不管是大名鼎鼎的nginx,還是微服務治理組件如dubbo,feign等,負載均衡的算法在其中都有著實際的使用,需要的朋友可以參考下
    2022-07-07
  • SpringBoot中使用MongoDB的連接池配置

    SpringBoot中使用MongoDB的連接池配置

    由于MongoDB的客戶端本身就是一個連接池,因此,我們只需要配置客戶端即可,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • smslib發(fā)短信實例代碼(電腦發(fā)短信)

    smslib發(fā)短信實例代碼(電腦發(fā)短信)

    smslib發(fā)短信實例,大家可以參考使用開發(fā)自己的程序
    2013-12-12
  • mybatis中如何使用小于號

    mybatis中如何使用小于號

    這篇文章主要介紹了mybatis中如何使用小于號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Lombok中@Builder和@SuperBuilder注解的用法案例

    Lombok中@Builder和@SuperBuilder注解的用法案例

    @Builder?是?lombok?中的注解,可以使用builder()構(gòu)造的Person.PersonBuilder對象進行鏈式調(diào)用,給所有屬性依次賦值,這篇文章主要介紹了Lombok中@Builder和@SuperBuilder注解的用法,需要的朋友可以參考下
    2023-01-01
  • SpringBoot如何實現(xiàn)Tomcat自動配置

    SpringBoot如何實現(xiàn)Tomcat自動配置

    這篇文章主要介紹了SpringBoot如何實現(xiàn)Tomcat自動配置,幫助大家更好的理解和學習使用SpringBoot框架,感興趣的朋友可以了解下
    2021-03-03
  • SpringBoot項目的多文件兼多線程上傳下載

    SpringBoot項目的多文件兼多線程上傳下載

    本文主要介紹了SpringBoot項目的多文件兼多線程上傳下載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Mybatis中@Param注解的用法詳解

    Mybatis中@Param注解的用法詳解

    @Param注解的作用是給參數(shù)命名,參數(shù)命名后就能根據(jù)名字得到參數(shù)值,正確的將參數(shù)傳入sql語句中,下面這篇文章主要給大家介紹了關(guān)于Mybatis中@Param注解用法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Java基礎(chǔ)之詳細總結(jié)五種常用運算符

    Java基礎(chǔ)之詳細總結(jié)五種常用運算符

    在通常代碼邏輯處理中,我們常常都會使用到運算符,今天我們就詳細了解一下運算符的使用以及分類.運算符是對常量或者變量進行操作的符號,它分為算術(shù)運算符,賦值運算符,比較運算符,邏輯運算符以及位運算符.需要的朋友可以參考下
    2021-05-05
  • java集合類遍歷的同時如何進行刪除操作

    java集合類遍歷的同時如何進行刪除操作

    這篇文章主要介紹了java集合類遍歷的同時如何進行刪除操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論