java 数组对象

package day05;

public class Demo1 {

//数组:  一种特殊的对象

public static void main( String[] args ){

   1. 数组对象的特殊声明 与创建形式 (动态初始化, 先创建,再初始化)

           int[]  arr  =  new  int[10];

          for( int i=0; i获取      int value = arr[i]; *        int value = arr[i]; *        

   2.  对数组内元素进行-->获取      int value = arr[i];

  3.  对数组内元素进行--->赋值/修改 arr[i] = value; *

    数组中元素的内存分析: *  

        (1) 当创建数组对象时, 仅仅创建了一个容器对象;

       (2) 初始化赋值: 

              如果数组中元素是基础类型,那么 元素会被初始化为 基础类型0;

              如果数组中元素是引用类型,那么 元素会被初始化为 null; 

      也就是说: 数组中并不存储对象,而是存储对象的引用; 在数组创建之初以及初始化,

       数组中的所有引用都指向了null,而不存在对象; 另外,数组也是对象, 那么二维数组

      也仅仅是 每个数组元素 指向了一个数组而已; 


   数组通过index访问的问题: 

      数组通过index, 对数组中的元素进行访问, index从0开始, 0~length-1; 

       1) 如果arr 指向 null, 访问时会抛出 空指针异常;

       2) 如果 要访问的index 不在 0~length-1 之间,那么会抛出 数组越界异常;         


      数组的特点: 

                  1. 数组只能存储同一种 数据类型的数据

                  2. 数组是会存储到数组中的元素分配一个index, index为 0~length-1 

                 3. 数组一旦初始化,长度固定; 

                  4. 数组中的元素与元素之间的内存是连续的;    


                另外: 数组的其他 ----> 容器 该具有的功能

                  1. 增加 

                  2. 修改

                  3. 查找  

                        1) 查找指定index的元素 

                        2) 查找指定元素的 index 

                4. 判断 

                        1) 判空 

                       2) 数组是否相等 

              5. 删除 

                     1) 删除指定index的元素 

                               明显,前面所有的操作都只涉及到了  数组的查找,以及修改;     

                                 ----> 数组是没有增加功能的,在数组创建之初,就没固定length, 且被初始化; 

                                 ----> 数组是没有删除功能的,而是通过数组中元素的移动,覆盖要删除的元素,达到删除的目的;  




 /int[] arr = new int[10];for( int i=0; i必须要先有序

public static int halfSearch( int[] arr, int searchValue ){

int minIndex = 0;

int maxIndex = arr.length-1;

int midIndex;

while( minIndex <= maxIndex ){ //可以相等,那是最后一次比较

midIndex = (minIndex + maxIndex)/2;

if(  arr[midIndex]  <  searchValue  ){

minIndex = midIndex + 1;

}else if( arr[midIndex] > searchValue ){

maxIndex = midIndex - 1;

}

else

{

return midIndex;

}

}

return  -1;

}

//选择排序

public static void selectSort( int[] arr ){

for( int i=0; i< arr.length-1 ; i++ ){ //如果只有一个元素,那么自然有序

for( int j=i+1; j< arr.length ; j++ ){ //n个元素只需要比较n-1次

if( arr[i] > arr[j] ){

int temp = arr[i];

arr[i]  = arr[j];

arr[j]  = temp;

}

}

}

}

//获取最大数,交换到index==0的位置

public static void exchangeMaxToFirst( int[] arr ) {

if( arr.length == 0 ){

return;

}

int indexOfMaxValue = 0;

for( int i=1; i< arr.length; i++ ){

if( arr[0] < arr[i]){

indexOfMaxValue = i;

}

}

if( indexOfMaxValue != 0 ){

int temp = arr[indexOfMaxValue];

arr[indexOfMaxValue] = arr[0];

arr[0]  = temp;

}

}

public static int getMax( int[] arr ) throws Exception {

int max;

max = arr[0];

for( int i=1; i< arr.length ; i++ ){

if(  max < arr[i]  ){

max = arr[i];

}

}

return max;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,737评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,598评论 18 399
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 13,632评论 0 89
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,850评论 0 2
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,353评论 0 6