ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:60.25KB ,
资源ID:21935559      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21935559.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(3JAVA基础语法数组Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

3JAVA基础语法数组Word文档下载推荐.docx

1、数组的角标越界异常 当访问到了数组中不存在的角标时,就会发生该异常。 NullPointerException 空指针异常。 当一个引用型变量没有任何实体指向时,还在使用实体中的内容。就会发生该异常。System.out.println(arr);/ Ic17164 前面代表一个一维数组 后面代表一个哈希值1,数组是什么? 数组:数组就是具有同一类型的一些数的一个集合。2,数组有什么特点? 数组的特点:必须明确数组的长度和数组的类型,以及数组带有角标,方便使用。3,数组什么时候使用?当在处理多个同类型的数据时候可以采用数组存储4,java的内存(栈和堆)的特点?栈:存储都是局部变量(函数参数,

2、函数内定义的变量,局部代码块中定义的变量),栈内存的变量没有初始化值。变量一点使用完(作用域结束),随着函数的加载变量会在内存中开辟属于自己的空间。一旦函数运行结束,就会在栈内存中自动释放。先进后出,后进先出。存储的是实体(数组和对象,只要是new的都在堆中)。 new关键字一出现都会在堆内存中分配实体空间。 堆内存中的所有变量都会有默认初始化值。5,画出一个数组的内存分布图。并用文字描述步骤。 内存分布图:int arr = new int3;arr1=100;内存加载说明:当执行到 int arr 时。首先在栈内存开辟一个以数组名为名的空间,这个空间的目的是存放一个堆内存中数组的内存地址。

3、此时这个空间中并没有存放任何值。当执行到new int3时,会在堆内存中首先划分出一块数组内存区域,这个时候就有一个内存地址与之对应,这里假设0x0056。然后将这个区域分成3个小空间分别代表数组的三个存储空间,他们一旦分配就会自动产生索引角标,同时也会自动初始化值,此时由于数组是int的所有初始化值为0.并将这个堆内存中的数组首地址赋值给栈内存的arr空间。当赋值后,栈内存的arr数组名就能所引到堆内存中的数组存储区域。此时整个数组的定义个空间分配结束。当执行arr1=100时,就会将这个以100存放到数组角标为1的空间中,原来初始化的0被覆盖。需要注意的是,一旦arr不再指向堆内存的数组存

4、储区域时,这个数组同时也没有其他引用变量所有引用,那么堆内存中的这个数组存储区域将变成垃圾,等待JVM的垃圾回收器把它收走。数组的简单操作、排序、最值、折半查找、查表法、数组内存分布图1、数组的简单操作:数组在定义的时候必须明确数组的类型和长度,并明确了数组中元素的内容。为了方便获取数组中的元素个数的方式,可以使用数组实体一个属性。length使用方法为 数组名.length数组最常见的操作就是数组:遍历。其实操作数组的最终核心思想:就是操作角标(索引)。2、最值:class ArrayTest public static void main(String args) int arr = 3,

5、6,8,1,88,22; int max = getMax(arr); System.out.println(max=+max); /* 定义一个功能完成获取数组中最大值的动作。 定义一个函数来体现。 1,确定结果:整数数组中的最大值,int。 2,确定未知:数组是未知的,参数列表中有一个参数,数组类型 int 具体怎么功能细节如何实现呢? 思路: 1,对数组中的元素进行比较,将比较后比较大的值进行记录,并参与下一次比较。 当数组中的元素都比较完成后,最大值就已经被记录下来了。 2,每次比较的较大的值不确定,定义一个变量进行记录,该变量如何初始化呢? 只要初始化为数组中的任意一个元素即可。 3

6、,应该让数组中的元素自动和该变量记录的元素进行比较。 所以可以使用遍历,获取出数组中的每一个元素。 4,当遍历到的元素比较变量中的记录的元素大,用该变量记录住更大的元素。 5,遍历结束后,变量中存储的就是数组中的最大值。 */ public static int getMax(int arr) /定义变量记录较大的值。 int max = arr0;/初始化为数组中的任意一个元素。 for(int x=1; xmax) max = arrx; return max; /继续获取数组最大值。 public static int getMax2(int arr) int maxIndex = 0;

7、/初始化为数组中的一个角标。arrmaxIndex) maxIndex = x; return arrmaxIndex;数组的各种操作:class ArraySort int arr=new int3,5,7,8,9,5,3,1,3,4,67,7,8,12,8,98,9; printArray(arr);/ int max=getMax(arr);/ System.out.println(/ int min=getMin(arr);min=+min);/ selectSortMaxToMin(arr);/ printArray(arr);/ niZhuan(arr); / int index=

8、halfSearch2(arr,98);index=+index); bubbleSort(arr); getMax函数用于获取int数组的最大值,需要指明具体哪一个int数组 public static int getMax( int arr ) int max=arr0; for( int i=0 ; imax ) max=arri; getMin函数用于获取int数组的最小值,需要指明具体哪一个int数组 public static int getMin( int arr ) int min=arr0; if( arrimin ) min=arri; return min; select

9、SortMaxToMin函数用于int数组的从大到小排序,需要指明具体哪一个int数组 public static void selectSortMaxToMin( int arr )arr.length-1; for( int j=i+1;jj+ )arrj ) swap(arr,i,j); selectSortMinToMax函数用于int数组的从小到大排序,需要指明具体哪一个int数组 public static void selectSortMinToMax( int arr ) printArray函数用于int数组的打印,需要指明具体哪一个int数组 public static v

10、oid printArray( int arr ) if( iarr.length-1 ) System.out.print(arri+,); else System.out.println(arri+n halfSearch函数采用折半法(二分法)从int数组中查找一个指定的数在此数组中的角标位置,使用之前必须保证提供的数组已经是有序的数组,需要指明具体哪一个int数组 public static int halfSearch( int arr , int key ) int min,max,mid,index; min=0; max=arr.length-1; mid=(min+max)/

11、2; while( minarrmid ) min=mid+1; else if( key max=mid-1; else return mid; mid=(min+max)/2; return -1; public static int halfSearch2( int arr , int key ) while( arrmid!=key ) else return -1; return mid; swap函数用于交换数组中的两个数值,必须明确具体着两个数的角标 public static void swap( int arr , int i , int j ) int temp=arri;

12、 arri=arrj; arrj=temp; niZhuan函数用于把一个数组反转 public static void niZhuan( int arr ) for( int i =0, j=arr.length-1 ;j ;i+,j- ) swap(arr,i,j); bubbleSort函数功能是用冒泡发对数组进行排序 public static void bubbleSort(int arr) for ( int i=0 ;arr.length-1 ; for ( int j=0 ; jarrj+1 ) swap(arr,j,j+1); 查表法完成进制转换:class ArrayTes

13、t public static void main(String args) toBin(-6); System.out.println(Integer.toBinaryString(-6); toHex(26); toOctal(48); /十进制-二进制 public static void toBin(int num) trans(num,1,1); /十进制-八进制 public static void toOctal(int num) trans(num,7,3); /十进制-十六进制 public static void toHex(int num) trans(num,15,4)

14、; public static void trans(int num,int base,int offset) if(num=0) System.out.println(0); return; /定义一个十六进制的元素的表。 char arr = 0,123456789ABCDEF; /定义一个char类型元素的数组,用于存储每次获取到的十六进制值。 char chs = new char32; int pos = chs.length; while(num!=0) int temp = num & base; chs-pos = arrtemp; num = num offset;pos=+

15、pos); /打印数组内容。 for(int x=pos;chs.length;x+) System.out.print(chsx); System.out.println();二维数组: 常见的二维数组的定义形式: 1、 int arr = new int33; 2、 int arr = new int3; /定义一个二维数组,明确了二维数组的长度,但是二维中的每一个一位数组没有明确 arr0=new int3; arr1=new int2; arr2=new int5; 3、 int arr = new int33; 4、 int arr = new int33; 5、 int arr =

16、 1,3,5,6,6,3,2,1,2;什么时候使用二维数组:当数组多了就可以采用二维数组来继续存储。中括号随着类型定义对所有变量都起作用,如果中括号在变量后面只对当前的变量起作用。class Array2Demo / int arr = new int3;/ 数组中的数组:数组中的元素还是数组。/ int arr = new int23;/ System.out.println(arr01);/0/ System.out.println(arr0);/ Ic17164/ System.out.println(arr);/ Ic17164 int arr = new int;/定义一个二维数组,

17、明确了二维数组的长度, /但是二维中每一个一维数组并没有明确。 /对二位数组中的每一个一维数组进行初始化。 arr0 = new int3; arr1 = new int1; arr2 = new int2; System.out.println(arr);/Ic17164 System.out.println(arr0);/nullclass Array2Demo2 /int arr = 3,7,18,5,3,6,4,8,9,15,89; int arr = 4,6,2,8,1,9,3,2,6,8,4,8;/ System.out.println(arr.length);/3/ System

18、.out.println(arr1.length); /遍历二维数组中的所有元素。大圈套小圈 for(int x=0; x+) int sum = 0; for (int y=0; yarrx.length ; y+) /System.out.println(arrxy); sum += arrxy; System.out.println(sum=+sum); String arr1 = getMonth(夏季arr1.length; System.out.println(arr1x+ public static String getMonth(String str) String seaso

19、n = 春季秋季冬季 int index = searchIndex(season,str); String month = 三月四月五月,六月七月八月; return monthindex; public static int searchIndex(String arr,String key) if(arrx.equals(key) return x;1, 数组的操作基本思想?数组:数组就是一个容器,用来装元素,需要明确数组的类型和数组的长度。 数组就是把很多个变量放在一起的一个集合。2,数组的常见的操作动作以及理解过程。最值,排序,折半. 数组的基本思想:数组最常用的操作动作:存值和获取值,比如获取:最值 排序,折半查找。3,数组容器的应用场景?什么时候使用容器:一旦数据多,个数能确定就采用数组来存储。4,必须掌握查表法,将查表法的思想写出来,并明确什么时候使用查表法。 表:是个容器,表里面存在一定的对应关系。查:用一种对应关系去找另外一种对应关系。编码表:是生活中的一些事物对应的二进制数的一个序列。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1