中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java編程基礎階段筆記 day05 數組

發布時間:2020-05-03 15:42:56 來源:網絡 閱讀:260 作者:大數據港 欄目:編程語言

數組

筆記Notes

  • 數組介紹

  • 數組的聲明

  • 數組初始化

  • 數組元素默認值

  • 數組復制

  • 數組反轉

  • 數組查找:線性查找、二分查找

  • 數組排序:冒泡排序


  • 數組介紹

    • 數組名:?創建數組內存中開辟一整塊連續的空間,而數組名中引用的是這塊連續空間的首地址。

    • 下標(或索引):從0開始

    • 數組是引用數據類型, 元素相當于類的成員變量,

    • 數組一經分配空間,其中的每個元素也被按照成員變量同樣的方式被隱式初始化

    • 數組中的元素可以是基本數據類型也可以是引用數據類型

  • 數組的聲明

    • 聲明:String[] names;

    • int scores[];

  • 數組初始化:靜態初始化、動態初始化

    • 靜態初始化:數組的初始化和賦值是同時進行的

    • names = new String{"12","34","56","78"};

    • 動態初始化:數組的初始化和賦值分開進行

    • String[] names2 = new String[5];

    • names2[0] = "123";

    • 下面的方式數組的聲明和初始化不能分開。

? ? ? ? ? ? ? ? ? ? ??int[] age = { 1, 2, 3, 4, 5, 6 };

  • 數組元素的默認值

    • byte、short、int、long? -->0

    • float、double --->0.0

    • bolean --> \u0000

    • 引用數據類型(類、數組、接口)--->null

  • 一維數組內存解析

    • String[] persons =?new?String[3];

    • String[] persons2 = persons;

    • //persons 和 persons2 實際上指向的是同一塊內存

Java編程基礎階段筆記 day05 數組

  • 堆、棧、方法區

    • 堆(heap):用來存放對象的實例,只要是new出來的都在堆里

    • 棧(stack):?存儲局部變量, 如基本數據類型、對象引用(reference類型,它不等同于對象本身,是對象在堆內存的首地址)

    • 方法區(Method Area):用于存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。

/*
?*?數組中常見的算法
?*?1.?求數組中元素的最大值、最小值、平均值、總和等
?*?2.?數組的復制、反轉、查找(線性查找、二分查找(了解))
?*?3.?數組元素的排序算法:冒泡排序
?*/
public?class?ArrayAlgorithm?{
	public?static?void?main(String[]?args)?{
		//?數組最大值、最小值、平均值、總和
		System.out.println("---------------------------------數組最大值、最小值、平均值、總和--------------------------");
		int?scores[]?=?new?int[5];
		for?(int?i?=?0;?i?<?scores.length;?i++)?{
			scores[i]?=?(int)?(Math.random()?*?10);
		}
		for?(int?i?=?0;?i?<?scores.length;?i++)?{
			System.out.print(scores[i]?+?"?");
		}
		System.out.println();
		int?max?=?scores[0];
		int?min?=?scores[0];
		int?add?=?scores[0];
		double?ever?=?0;
		for?(int?i?=?0;?i?<?scores.length;?i++)?{
			if?(max?<?scores[i])?{
				max?=?scores[i];
			}
			if?(min?>?scores[i])?{
				min?=?scores[i];
			}
			add?+=?scores[i];
		}
		ever?=?add?/?scores.length;
		System.out.println("max?=?"?+?max?+?"?min?=?"?+?min?+?"?add?=?"?+?add?+?"?ever?=?"?+?ever);
		System.out.println("-------------------------------------------------------------");
		System.out.println("----------------------------數組復制---------------------------------------------");
		int?copyScores[]?=?new?int[scores.length];
		for?(int?i?=?0;?i?<?copyScores.length;?i++)?{
			copyScores[i]?=?scores[i];
		}
		for?(int?i?=?0;?i?<?copyScores.length;?i++)?{
			System.out.print(copyScores[i]?+?"?");
		}
		System.out.println();
		System.out.println("---------------------------數組反轉方法一---------------------------------------");
		//?方法一
		System.out.println("方法一");
		int?reverse[]?=?new?int[scores.length];
		for?(int?i?=?0,?j?=?scores.length?-?1;?i?<?scores.length?&&?j?>=?0;?i++,?j--)?{
			reverse[i]?=?scores[j];
		}
		for?(int?i?=?0;?i?<?reverse.length;?i++)?{
			System.out.print(reverse[i]?+?"?");
		}
		System.out.println();
		System.out.println("--------------------------");

		for?(int?i?=?0;?i?<?scores.length;?i++)?{
			System.out.print(scores[i]?+?"?");
		}
		System.out.println();
		System.out.println("----------------------------數組反轉方法二-----------------------------------");
		for?(int?i?=?0;?i?<?scores.length?/?2;?i++)?{
			int?temp?=?scores[i];
			scores[i]?=?scores[scores.length?-?i?-?1];
			scores[scores.length?-?i?-?1]?=?temp;

		}
		for?(int?i?=?0;?i?<?scores.length;?i++)?{
			System.out.print(scores[i]?+?"?");
		}

		System.out.println();

		System.out.println("-------------------------數組查找-線性查找-------------------------");
		int[]?numbers?=?{?1,?10,?9,?8,?20?};

		//?線性查找
		int?findNumber?=?18;?//?要查找數值
		int?index?=?-1;//查找到的數值所對應的下標
		for?(int?i?=?0;?i?<?numbers.length;?i++)?{
			if?(findNumber?==numbers[i])?{
				index?=?i;
				break;//只查找一個
			}
		}
		if?(index?!=?-1)?{
			System.out.println("查找到數值!所對應的數組下標為:"?+?index);
		}?else?{
			System.out.println("查找不到值!");
		}
		
		System.out.println("------------------------數組查找-?二分查找--------------------------------");
		int[]?number2?=?{?12,?30,?-5,?6,?9,?10,?5?};
		
		//排序
		Arrays.sort(number2);?//?必須排序好
		for?(int?i?=?0;?i?<?number2.length;?i++)?{
			System.out.print(number2[i]?+?"?");
		}
		System.out.println();
		int?findNumber2?=?12;//要查找的內容
		int?start?=??0;
		int?end?=?number2.length-1;
		int?index2?=?-1;?//所在元素位置
		while?(start?<=?end)?{
			int?mid?=?(start?+?end)?/?2;
			if?(number2[mid]?==?findNumber2)?{
				index2?=?mid;
				break;
			}
			if(number2[mid]?>?findNumber2){
				end?=?mid?-?1;
			}else?{
				start?=?mid?+?1;
			}
		}
		if?(index2?!=?-1)?{
			System.out.println("你要的商品存在,在位置:"?+?index2);
		}else?{
			System.out.println("客官您的包裹丟了");
		}
		
		System.out.println("------------------------------冒泡排序(必須會手寫)-------------------------------------");
		int[]?numbers3?=?{10,2,89,39,16};
		for?(int?i?=?0;?i?<?numbers3.length;?i++)?{
			System.out.print(numbers3[i]?+?"?");
		}
		System.out.println();
		System.out.println("------------------------------排序前--------------------------------------------------------");
		for?(int?i?=?0;?i?<?numbers3.length?-1;?i++)?{?//外排序次數為長度-1??為5-1?=?4
			for?(int?j?=?0;?j?<?numbers3.length?-1?-?i;?j++)?{?//內排序次數每次遞減??4??3?2?1
				if?(numbers3[j]?>?numbers3[j+1])?{
					int?temp?=?numbers3[j];
					numbers3[j]?=?numbers3[j+1];
					numbers3[j+1]?=?temp;
				}
			}
			
		}
		System.out.println("--------------------------排序后-------------------------------------------");
		for?(int?i?=?0;?i?<?numbers3.length;?i++)?{
			System.out.print(numbers3[i]?+?"?");
		}
		System.out.println();
		System.out.println("------------------------排序完成------------------------------------");
	}
}



總結Summary

  • 靜態初始化與動態初始化

  • 數組反轉

  • 數組查找:二分查找

  • 數組排序:冒泡排序





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

葫芦岛市| 高雄县| 磴口县| 长丰县| 广水市| 应城市| 赤壁市| 即墨市| 景东| 革吉县| 西林县| 桐柏县| 忻州市| 永善县| 巴彦县| 商河县| 福安市| 青龙| 安图县| 台东市| 禄劝| 文山县| 皮山县| 微博| 山西省| 德化县| 全南县| 石狮市| 鸡西市| 准格尔旗| 徐州市| 遵化市| 盐津县| 晋江市| 沈阳市| 武安市| 陕西省| 毕节市| 邵阳市| 太仆寺旗| 上蔡县|