黑马程序员JAVA基础-数组以及一些基本操作
来源:互联网 发布:重庆那可以学美工 编辑:程序博客网 时间:2024/06/11 04:28
------- android培训、java培训、期待与您交流! ----------
数组
(1)同一种类型数据的集合。其实数组就是一个容器。
A:只要是容器,就得重点掌握。
(2)数组的好处
A:可以自动给数组中的元素从0开始编号,方便操作这些元素。
(3)数组的定义格式
A:当不明确数组中的元素时
**举例 int[] arr = new int[3];
B:当明确数组中的元素时
**举例 int[] arr = new int[]{1,2,3,4,5};
arr = {1,2,3,4,5};
操作数组最常见的问题
A:当你访问到数组中的最后一个元素时,还想继续访问,这个时候,会发生角标越界异常。
**ArrayIndexOutOfBoundsException
**举例 int[] arr = new int[3];
System.out.println(arr[3]);
B:当数组不在指向某个实体时,你还继续访问,就会发生空指针异常。
**NullPointerException
**举例 int[] arr = new int[3];
arr = null;
System.out.println(arr[1]);
常见的数组的操作
记住:对数组的操作,一定要从角标下手。
A:遍历操作
**数组的属性:length 数组的长度。
**格式:数组名.length
for (int x=0;x < arr.length ;x++ ){
System.out.println("arr["+x+"]="+ arr[x]);
}
B:获取最值
**获取最大值
public static int getMax(int[] arr){
int max = arr[0];
//i从1开始,因为第一个数不用跟自己比
for(int x=1; x<arr.length; x++) {
if(arr[x]>max) {
max = arr[x];
}
}
return max;
}
**获取最小值
public static int getMin(int[] arr) {
int min = arr[0];
//i从1开始,因为第一个数不用跟自己比
for(int i=1; i<arr.length; i++) {
if(arr[i]<min){
min = arr[i];
}
}
return min;
}
C:排序
**选择排序
原理:如果拿0角标上的元素依次和后面的元素进行比较,
第一次内循环结束后,最小值出现在了0角标位置。
你就想想我们是如何打星星
****
***
**
*
public static void selectSort(int[] arr){
//i<arr.length-1 n个数两两比,n-1次就能获得最值。
for(int i=0; i<arr.length-1; i++){
//0角标元素没必要和自己比,所以j从1开始。
//发现j为了不重复比较,总是要比i大1,所以j从i+1开始
for(int j=i+1; j<arr.length; j++){
if(arr[j]<arr[i]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
**冒泡排序
原理:两个相邻元素进行比较,第一次比较完以后,最大值出现在了最大角标处。
public static void bubbleSort(int[] arr){
//i<arr.length-1 n个数两两比,n-1次就能获得最值。
for(int i=0; i<arr.length-1; i++){
//为了防止角标越界,j<arr.length-1
//为了减少比较次数,j<arr.length-1-i
for(int j=0; j<arr.length-1-i; j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
D:传递参数
**调用的时候,传递是基本类型的值的时候,形参改变对实参没有任何影响。
**调用的时候,传递是引用类型的地址的时候,形参改变对实参有直接影响。
- 黑马程序员JAVA基础-数组以及一些基本操作
- 黑马程序员JAVA基础-数组的操作
- 黑马程序员-java中关于文件的一些基本操作
- 黑马程序员——JAVA基础---操作数组
- 黑马程序员——Java基础---方法与数组操作
- 黑马程序员-->Java基础-->数组
- 黑马程序员---java基础----数组
- 黑马程序员-Java基础-数组
- 黑马程序员-----Java基础-----数组!
- 黑马程序员---java基础--数组
- 黑马程序员---Java基础---数组
- 黑马程序员 StringBuffer的一些基本操作
- 黑马程序员_C#中的一些基本操作
- 黑马程序员 数组的基本操作代码
- 黑马程序员----java----String,一些基本类型,
- 黑马程序员JAVA基础-基本语句
- 黑马程序员-java基础_网络基本
- 黑马程序员 ---- java基础之基本语法
- VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程
- 设置远程桌面24位色深
- PHP中cookie的实例
- 解析JDK 7的Garbage-First收集器
- 查找算法(普通、折半、排序二叉树、哈希)
- 黑马程序员JAVA基础-数组以及一些基本操作
- 想从iOS转移到Android阵营?这里有你必须要知道的
- 【通用语法】字符显示
- 【自动化测试技术QTP基础系列五】---自动化概述
- 冒泡排序
- ejb3.0 中数据库的配置
- Java程序员应该知道的10个调试技巧
- Myeclipse 下搭建android 开发环境
- 从主流音乐应用程序中拔身出来,试试 Rocket Player 播放器吧