jse基础-数组
来源:互联网 发布:淘宝购物怎样微信支付 编辑:程序博客网 时间:2024/06/15 23:45
数组:
1.使用数组的步骤:声明数组、分配空间、赋值
2.数组初始化
动态初始化:int[] a = new int[5];
静态初始化:int[] b = {1,2,3,4,5};
默认初始化:int [] c = new int[]{1,2,3,4,5};
3.数组在内存中的存放
局部变量放在栈内存当中(引用类型的变量,还有一些基本类型的变量),但引用变量所引用的对象是保存是堆内存当中的。(包括数组还有一些我们平常写的普通的类对象)
4.对数组的操作
//打印数组
public class ArrayPrint {
public static void main(String[] args) {
/* 创建数组并赋值的方式必须在一条语句中完成
* int[] arr = new int[5];
arr={1,2,3,4,5};*/
//赋值的时候不能指定数组的长度,
//假如没赋值,在创建实例的时候必须指定数组的大小
//int[] array = new int[]{1,2,3};
int[] array={1,2,3};
for(int i=0;i<array.length;i++)
System.out.println("array["+i+"] = "+array[i]);
//没有实例该对象无法调用其方法,除非将方法satic
//抽象出一个打印方法出来
//printArr(array);
ArrayPrint ap = new ArrayPrint();
ap.printArr(array);
}
public void printArr(int[] arr){
for(int i=0;i<arr.length;i++)
System.out.println("array["+i+"] = "+arr[i]);
}
}
//获取数组最大元素
public static int getMax(float[] arr){
float max = arr[0];
for(int i=1;i<arr.length;i++){
if(max<arr[i])
max = arr[i];
}
return max;
}
//对一个数组{5,1,6,4,2,8,9}进行排序 选择排序
1.选择排序:不稳定,时间复杂度 O(n^2)
2.选择排序的思想:每次从未排序的数列中,挑选一个最小或最大的值放在已排好序的数列的最后
public class Test { public static void main(String[] argv) { int arr[] = {5,1,6,4,2,8,9}; sort(arr); for(int i:arr) System.out.println(i); } public static void selectSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++) if(arr[j]<arr[i]){ int temp = arr[j]; arr[j] = arr[i] ; arr[i] = temp; } } }}
//对一个数组{5,1,6,4,2,8,9}进行排序 冒泡排序
1.冒泡排序:稳定,时间复杂度 O(n^2)
2.冒泡排序思想
每一次将最具有特征的一个数(或者object)放到序列的最前面,或者最后面。
也可以让相邻的两个数(对象)比较,重新排序后,再次重新比较,如果有结果(必出大小等)再次重新排列,否则进行下一次比较。
public class Test {public static void main(String[] argv) {int arr[] = { 5, 1, 6, 4, 2, 8, 9 };bubbleSort(arr);for (int i : arr)System.out.println(i);}public static void bubbleSort(int[] arr) {for (int i = 0; i < arr.length-1; i++){for (int j = 0; j < arr.length-i-1; j++) {if(arr[j]>arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}
}
- jse基础-数组
- jse基础-进制转换
- java.jse--基础--javabean转成Map
- Java基础概念之JSE JME JEE JDK JRE JVM
- 【知识碎片】1:2017.12.17前(建立索引,JSE基础细节)
- 【知识碎片】2:2017.12.24前(SELECT查询练习,JSE基础细节)
- 关于“Monitor.jse”
- [jse] String StringBuffler StringBuilder
- [面试]JSE JEE区别
- jse-集合框架
- jse—IO
- jse中将数据反转
- 数组基础
- 数组基础
- 数组基础
- 数组基础
- 数组基础
- 数组基础
- ParameterizedType的用法
- 15-类模板-(下)
- 在Eclipse中查看Java类库源代码
- 视角:码农,你需要去理解产品经理
- 【无限互联】iOS标签云
- jse基础-数组
- Tower of Cubes+uva+简单dp(LIS)
- tomcat 中maxActive、maxIdle和maxWait参数解析
- 黑马程序员—java基础学习--单例设计模式
- 我的第一篇博客
- Top 15 geek blog sites全球15个顶级技术类博客
- 百度员工离职总结:如何做个好员工
- 32位系统上安装64位Windows 7 7048的方法
- XML保留字符的实体引用