Java语言组成基础——需要格外注意的问题之数组(三)
来源:互联网 发布:中国食物浪费数据 编辑:程序博客网 时间:2024/06/10 02:41
静态初始化:int []=new int[]{3,1,6,5,4}或int []={3,1,6,5,4},int []=new int[2]
一、数组操作
1、获取数组中元素
遍历(for i=0;i<5;i++)print(arr[i]))
注意错误的是:Sys.out.println(arr);这样打印出来的是数组存放的地址。
2、获取数组中最大的值
思路:通过一个变量进行临时存储。
int max=arr[0];
3、对数组排序
无论是什么排序都要把代码置换位置,把这部分代码提取出来,单独封装成一个函数(传入数组)
(1)选择排序
a[0]与其后的数字进行比较,将两者中较小的一个储存到最前面;之后逐渐选出第二、第三最小的数值
(2)冒泡排序
相邻元素进行比较,符合条件换位(最大的肯定是最后位,下一次可以不用比较最后一个数值,因为其是最大的),逐渐选出最大的、次大的、第三大的依次放在后边,下次可不用比较
(3)shell排序
4、数组查找
(1)第一次出现位置:key,逐个比较
(2)折半:min,max,mid=(min+max)/2,在arr[mid]!=key,反复挑战min与max的位置,
public static int halfserach(int[] arr,int key){int min=0;int max=arr.length-1;int mid=(min+max)/2;while(arr[mid]!=key){if(arr[mid]>key)max=mid-1;else if(arr[mid]<key)min=mid+1;else if(min>max)return -1;mid=(min+max)/2;}return mid; // 此处应该在while循环以外,循环里的mid是不停变化的,外圈的mid是最终的mid}5、进制转换
(1)十转二:(不断除二取余,利用StringBuffer对象,通过append函数依次添加,最后打印reverse版,即倒着打印)
(定义二进制表)
(2)十转十六:(不断地与15进行&运算,在>>4,反复进行)
(查表法)
二、数组中的数组——二维数组
int[][] arr=new int[3][4]
int[][] arr=new int[3][]——>sys("arr[1]")=null三个一维数组未进行初始化,数组为引用数据类型,默认是null
arr[0]=new int[3]——>初始化后,默认为0
000阅读全文
0 0
- Java语言组成基础——需要格外注意的问题之数组(三)
- Java语言组成基础——需要格外注意的问题(二)
- Java语言组成基础——需要格外注意的问题
- 黑马程序员——Java语言基础组成(三)之数组
- java学习中需要格外注意的地方
- Java 性能调优需要格外注意的细节
- Java 性能调优需要格外注意的细节
- (三)Java语言基础组成
- 十一:Java语言基础组成——数组
- 三:Java语言基础组成——注释
- Java语言基础组成之:程序流程控制、函数、数组
- 黑马程序员——JAVA基础之语言组成
- 黑马程序员——二、java基础之语言基础组成.part1(2)
- 黑马程序员——二、java基础之语言基础组成.part2(3)
- Oracle查询字段中有为null的需要格外注意
- 关于Stm8库函数使用需要格外注意的地方
- 黑马程序员——Java语言的基础组成
- Java语言的基础组成
- MySQL数据库—使用命令行操作数据库
- 最短路径之迪杰斯特拉算法
- Kth Smallest Element in a BST问题及解法
- MFC一一在Toolbar为按钮提供下拉菜单
- 模板参数和数据集参数参数为空时选择全部
- Java语言组成基础——需要格外注意的问题之数组(三)
- js中的call()和apply()
- layui复选框全选,单选取消全选
- Android Glide
- kaggle 注册无法激活的问题解决
- Android签名机制之---签名过程详解
- mysql重启失败,报错mysql Datafile './xx库/xx表.ibd' is corrupted(innodb_force_recovery在mysql中的用法)
- Eclipse在Java-WEB项目出现NoClassFound
- Android Sqlite数据库