javaSE_06Java中的数组(array)-练习
(1),数组的两种遍历方式,顺序查找,二分查找,求最大最小数,冒泡排序,选择排序。
public class Test1{
public static void main(String[] args){
//1.数组的两种遍历方式,
int[] nums={34,54,29,3,9,234,9,5,56};
//for循环遍历数组,特点:有下标值
for(int i=0;i<=nums.length-1;i++){
System.out.print(nums[i]+" ");
}
System.out.println();
//增强for循环遍历数组,特点是无下标值
for(int d:nums){
System.out.print(d+" ");
}
System.out.println();
//2.顺序查找,特点:可以是无序数组
int a=nums[4];
for(int i=0;i<=nums.length-1;i++){
if(a==nums[i]){
System.out.println("要查找的数值是第"+(i+1)+"个");
}
}
//3.二分查找,特点:必须是有序数组,也不能有重复数据
int[] nums2={1,3,5,8,9,10,23,45,53};
int b=nums2[3];
int min=0;
int max=nums2.length-1;
int mid=(min+max)/2;
do{
if(b==nums2[mid]){
System.out.println("要查找的数值是第"+(mid+1)+"个");
break;
}else if(b<nums2[mid]){
max=mid-1;
}else{
min=mid+1;
}
mid=(min+max)/2;
}while(min<=max);
//4.求最大最小数
int max1=nums[0];
int min1=nums[0];
for(int i=0;i<nums.length-1;i++){
if(max1<nums[i]){
max1=nums[i];
}
}
System.out.println("数组nums的最大值:"+max1);
for(int i=0;i<nums.length-1;i++){
if(min1>nums[i]){
min1=nums[i];
}
}
System.out.println("数组nums的最小值:"+min1);
//冒泡排序:相邻两个数进行比较,若前面的大,那就与后一个数进行交换
System.out.println("对nums冒泡排序的结果如下:");
for(int j=0;j<=nums.length-2;j++){
for(int i=0;i<=nums.length-2-j;i++){
if(nums[i]>nums[i+1]){
int c=nums[i+1];
nums[i+1]=nums[i];
nums[i]=c;
}
}
}
for(int ns:nums){
System.out.print(ns+" ");
}
//选择排序:进行比较获取最小数的小标,把他赋值给第一个数
System.out.println("对nums选择排序的结果如下:");
for(int j=0;j<=nums.length-2;j++){
int key=j;
for(int i=j+1;i<=nums.length-1;i++){
if(nums[k]>nums[i]){
key=i;
}
}
int temp=arr[j];
nums[j]=nums[key];
arr[key]=temp;
}
}
}
(2),定义一个方法,用于得到数组的最大值和最小值,并将这两个结果进行返回
提示:返回的类型 int[]
public class Test1{
public static void main(String[] args){
//定义一个方法,用于得到数组的最大值和最小值,并将这两个结果进行返回
int[] nums={2,9,3,18,23,86,66,-23,34};
int[] maxMin=getMaxMin(nums);
System.out.println("该数组中的最大值为:"+maxMin[0]+",最小值为:"+maxMin[1]);
}
public static int[] getMaxMin(int[] array){
int max=array[0];
int min=array[0];
for(int i=1;i<=array.length-1;i++){
if(max<array[i]){
max=array[i];
}
if(min>array[i]){
min=array[i];
}
}
int[] maxMin={max,min};
return maxMin;
}
}
javaSE_06Java中的数组(array)-练习的更多相关文章
- C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲
使用C++风格的数组.不须要管理内存. array要注意不要溢出,由于它是栈上开辟内存. array适用于不论什么类型 #include<iostream> #include< ...
- javaSE_06Java中的数组(array)
1.什么是数组? 顾名思义,即为数据的组合或集合,数组就是用来表示一组数据的. 比如没有数组之前,我们要存储多个姓名的信息 String name1; String name2; String nam ...
- javaSE_06Java中的数组(array)-提高练习
1.求1!+2!+3!+···+30!的和,定义一个方法 public class Test1{ public static void main(String[] args){ //1.求1!+2!+ ...
- javaSE_06Java中的数组(array)-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 : 2)右击在新标签中打开放大查看 (IE不支持,搜狗,360可以):
- js中的数组Array定义与sort方法使用示例
Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): ...
- JS中有关数组Array的常用方法函数
Array对象的方法主要有如下几种(我所知道的): concat()连接两个或多个数组,并返回结果,但是值得注意的是该方法并不改变数组本身,而仅仅返回一个数组连接的副本. push()在数组后面添加一 ...
- JavaScript中的数组Array
抄自:https://www.jianshu.com/p/7e160067a06c js中数组的方法种类众多,有ES5之前版本中存在的,ES5新增,ES6新增等:并且数组的方法还有原型方法和从obje ...
- PIL中的Image和numpy中的数组array相互转换
1. PIL image转换成array img = np.asarray(image) 需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是&quo ...
- JavaScript中的数组Array方法
push(),pop()方法 push(),pop()方法也叫栈方法,push()可以理解成,向末尾推入,而pop()恰好相反,可以理解成从末尾移除(取得). var nums=[1,2,3,4]; ...
随机推荐
- Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别
上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...
- javaEE-string家族三大流氓
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下. 关于这三个类在字符串处理中的位置不言而喻,那 ...
- Java 中的接口有什么作用?好处?
接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起. 很多JAVA初级程序员对于接口存在的意义很疑惑.不知道接 ...
- Java Web实现IOC控制反转之依赖注入
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入 ...
- 蓝桥杯-循环节长度-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- C++模板实现动态顺序表(更深层次的深浅拷贝)与基于顺序表的简单栈的实现
前面介绍的模板有关知识大部分都是用顺序表来举例的,现在我们就专门用模板来实现顺序表,其中的很多操作都和之前没有多大区别,只是有几个比较重要的知识点需要做专门的详解. #pragma once #inc ...
- java实现对服务器的自动巡检邮件通知
1.需求 之前一直是手动的巡检,然后贴图,最近服务器数量大增,有点忙不过来了.因为一直用的java,对shell脚本不是特别了解,所以这次用java写了个小项目,实现对多服务器,多任务的巡检,巡检结果 ...
- js图片轮播
html部分 <a href="" id="pta"><div id="picture" class="pt&q ...
- 《分布式Java应用之基础与实践》读书笔记四
Java代码作为一门跨操作系统的语言,最终是运行在JVM中的,所以对于JVM的理解就变得非常重要了.整体上,我们可以从三个方面来深入理解JVM. Java代码的执行 内存管理 线程资源同步和交互机制 ...
- ConcurrentHashMap、HashTable、HashMap的区别
HashTable与ConcurrentHashMap: 相同点:都是线程安全的,可以在多线程的环境下运行.key和value都不能为null 区别:性能上的差异.HashTable每次操作对象都会锁 ...