遍历数组

class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56};for(int x=0;x<arry.length;x++){System.out.println(arry[x]);}}
}

获取数组中的最大值

class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66};int max=arr[0];for(int x=0;x<arry.length;x++){//遍历数组,与每个元素进行比较取出最大值if(max<arry[x]){max=arry[x];}}System.out.println(max);  }
}

数组排序(选择排序):元素找位置

class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77};int temp=arry[0];//设置中间变量,做元素交换用for(int x=0;x<arry.length;x++){//每次按顺序取数组中的一个元素与数组中的其他元素比较for(int y=x+1;y<arry.length;y++){//取出的元素通过遍历数组中剩余的其他元素比较决定位置if(arry[x]>arry[y]){//遇到比自己小的元素,与其交换元素temp=arry[x];arry[x]=arry[y];arry[y]=temp;}}}for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}    }
}
优化减少交换
class Demo{public static void swap(int []arry,int a,int b){int temp=arry[a];arry[a]=arry[b];arry[b]=temp;} public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77};int temp=arry[0];//设置中间变量,做元素交换用for(int x=0;x<arry.length;x++){//每次按顺序取数组中的一个元素与数组中的其他元素比较int num=arry[x];int index=x;for(int y=x+1;y<arry.length;y++){//取出的元素通过遍历数组中剩余的其他元素比较决定位置if(arry[x]>arry[y]){//遇到比自己小的元素,记录其下标和数值num=arry[y]index=y;}}if(index!=x){swap(arry,x,index);}}for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}  }
}

数组排序(冒泡排序)位置选元素(最大的数沉下去)

class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77,88};int temp=arry[0];//做中间变量用于元素交换for(int x=1;x<=arry.length;x++){//遍历数组中的每个位置for(int y=0;y<arry.length-x;y++){//每确定一个位置,就减掉一个位置if(arry[y]>arry[y+1]){//相邻的位置互相比较元素大小temp=arry[y];arry[y]=arry[y+1];arry[y+1]=temp;}}}for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}    }
}
/*另一种写法*/
class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77,88,95,23,1};int temp=arry[0];for(int x=arry.length-1;x>0;x--){for(int y=0;y<x;y++){if(arry[y]>arry[y+1]){temp=arry[y];arry[y]=arry[y+1];arry[y+1]=temp;}}}for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}}
}
/*置换代码提取提高代码复用性*/
class Demo{public static void swap(int []arry,int a,int b){int temp=arry[a];arry[a]=arry[b];arry[b]=temp;} public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77,88,95,23,1,79};int temp=arry[0];for(int x=arry.length-1;x>0;x--){for(int y=0;y<x;y++){if(arry[y]>arry[y+1]){swap(arry,y,y+1);}}}for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}}
}

java的排序函数

import java.util.*;
class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56,100,45,66,1,32,98,77,88,95,23,1};Arrays.sort(arry);//排序函数for(int x=0;x<arry.length;x++){System.out.print(arry[x]+" ");}}
}

折半查找(面试题)

/*折半查找法*/
class Demo{public static void main(String args[]){int[]arry=new int[]{1,12,34,45,55,78,99,102};int num=45;int mid=(arry.length/2+0),min=0,max=arry.length;while(max>min){if(arry[mid]>num){//在前半段找max=mid-1;}if(arry[mid]<num){//在后半段找min=mid+1;}mid=(max+min)/2;}System.out.println(mid);}
}

实际开发

/*折半查找法*/
import java.util.*;
class Demo{public static void main(String args[]){int[]arry=new int[]{1,12,34,45,55,78,99,102};int num=45;int index= Arrays.binarySearch(arry,5);//如果存在返回具体角标值,如果不存在返回-1-存储位置System.out.println(index);}
}

进制转换

/*进制转换使用与运算 每次取最后四位和15(1111)做与运算,同一为一 其他为0,*/
10-Aclass Demo{public static void main(String args[]){int num=60;int temp;for(int i=1;i<=8;i++){temp=num&15;if(temp>9){System.out.println((char)(temp-10+'A'));}else{System.out.println(temp);}num=num>>>4;/*取下一个四位*/}}
}

查表法

​/*进制转换查表法*/
/*什么时候使用数组呢?如果数据出现了对应关系,而且对应关系的一方是有序的数字编号并作为角标使用
这是就必须使用数组
就可以将这些数据存储到数组中
根据运算结果作为角标直接去查数组中对应的元素即可*/
class Demo{public static void main(String args[]){char[] array=new char[8];int num=60;char[] ch={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',};int move=array.length;//从数组尾部开始存储数据while(num!=0){int temp=num&15;//取最后四位array[--move]=ch[temp];//获取对应的16进制位数num=num>>>4;//右移动四位}for(int x=move;x<array.length;x++){System.out.print(array[x]+",");}}
}[点击并拖拽以移动]
​
/*整合*/
class Demo{public static void main(String args[]){char[] array=new char[8];int num=60;int base=15;int offset=4;char[] ch={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',};int move=array.length;//从数组尾部开始存储数据while(num!=0){int temp=num&base;//取最后四位array[--move]=ch[temp];//获取对应的16进制位数num=num>>>offset;//右移动四位}for(int x=move;x<array.length;x++){System.out.print(array[x]+",");}}
}

传智播客黑马Java学习笔记_day05相关推荐

  1. 传智播客黑马Java学习笔记_day08_2

    设计模式:对问题行之有效的解决方式,一种思想,java24种 单例设计模式 解决问题:可以保证一个类的对象在内存中的唯一性 应用场景:多个程序使用同一个配置文件对象,就要保证配置文件的唯一性,配置文件 ...

  2. 传智播客黑马Java学习笔记_09

    在子类创建对象时,发现父类的构造方法也运行了,为什么呢? 在子类的构造函数中第一行有一个隐式语句super(); class Fu{Fu(){System.out.println("Fu i ...

  3. 传智播客黑马Java学习笔记_day10_02

    对象的多态性 父类或者接口的引用指向子类对象 多态的好处 提高了代码的扩展性,前期的代码可以使用后期的内容 多态的弊端 前期的代码不能调用后期的特有内容 多态的前提 必须有关系:继承.实现 必须覆盖父 ...

  4. 【传智播客】Libevent学习笔记(三):事件循环

    目录 00. 目录 01. event_base_loop函数 02. event_base_dispatch函数 03. event_base_loopexit函数 04. event_base_l ...

  5. 【传智播客】Libevent学习笔记(四):事件event

    目录 00. 目录 01. 事件概述 02. 创建事件 03. 事件的标志 04. 事件持久性 05. 超时事件 06. 信号事件 07. 设置不使用堆分配的事件 08. 事件的未决和非未决 09. ...

  6. 【传智播客】Libevent学习笔记(一):简介和安装

    目录 00. 目录 01. libevent简介 02. Libevent的好处 03. Libevent的安装和测试 04. Libevent成功案例 00. 目录 @ 01. libevent简介 ...

  7. 传智播客.黑马程序员,学C++不再难!

            众所周知,C++难.就好像博大精深的汉语比英语难,这是客观事实,我们并不否认.        但,转念想想,英语也不简单吧?从小学开始学,到了大学,挂在四六级上的同学数不胜数.可貌似没 ...

  8. 传智播客 传智播客.NET视频学习课件

    传智播客 传智播客.NET视频学习课件 访问.NET网站了解更多课程详情 http://net.itcast.cn (小提示:为什么本书中超链接打不开?) 此套课件是伴随传智播客.net实况教学视频 ...

  9. 细节决定成败 – 选择传智播客成都java培训

    传智播客成都Java培训中心,成立于2010年,秉承了北京传智播客"为企业优选一流好人才"的培训理念,"为学员提供高薪保证"的就业承诺!结合成都本地的优势,迅速 ...

最新文章

  1. SCCM2012R2七:msi软件分发和卸载
  2. 机器人学习--激光slam简单案例版学习参考(转)
  3. python wand安装_Python Wand posterize()用法及代码示例
  4. 在.NET Core中设计自己的服务宿主(Service Hosting)框架
  5. 物理学家杨振宁到底有多厉害?
  6. C语言课后习题(30)
  7. Vivado过程文件解释
  8. vue v-if判断数组元素的值_我对Vue项目上线做的一些基本优化
  9. 卧式储罐液位体积计算公式excel_2020晋中化工防腐储罐订做欢迎来电-环保设备...
  10. node.js中ws模块创建服务端和客户端,网页WebSocket客户端
  11. html输入格式限制,jQuery输入框限制输入内容格式插件
  12. 学习react的网站
  13. java基础学习(8)4种引用类型简析StrongReference、 SoftReference、 WeakReference 、PhantomReference
  14. 微信小程序之各类文件下载保存到本地
  15. phpdesigner 7 key注册码
  16. 计算机科学是期刊核心2类,属于计算机技术类的北大核心期刊有哪些
  17. soc 设计soc设计 uml实务手册_芯片设计进阶之路——SOC电源管理系统
  18. 基于C++的高性能http框架cinatra及其web框架示例feather介绍及开发演示
  19. 笔记本电脑属于个人计算机吗,黄真真:笔记本电脑属于个人计算机的一种形式莫?...
  20. 21点(Blackjack)与概率

热门文章

  1. GB18030文件下载链接
  2. 机器学习--贝叶斯模型
  3. Qt Symbian 开发环境安装
  4. 全息生成的体光栅的严格模拟
  5. 论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)
  6. NOJ-1401 乘车费用 题解要点
  7. python申明变量注意事项_python申明变量
  8. 针对Excel 中“剪贴板出现问题,但你仍可在此工作簿内粘贴内容”的解决方案
  9. 极验验证码的破解3-模拟浏览器渲染
  10. 让Apache Shiro保护你的应用