一维数组
时间:2019-11-27
本文章向大家介绍一维数组,主要包括一维数组使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一.数组的定义及声明
1.数组是一个变量,存放相同数据类型的一组数据
2.数组的基本要素:
数组名称(也叫标识符)要遵循驼峰命名法
数组中的每一个值都叫数组的元素
每一个数组的元素都有一个下标,而且是从0开始
数组的类型可以使int double char 等类型 或者是一些引用数据类型
数组长度就是数组中能够存放多少个元素,注意 数组长度是固定不变的 一按确定不能改动,避免下标越界的错误
3.使用数组的四个步骤:
先声明:int[] num;
分配空间:num=new int[];
赋值:num[0]=8;
处理数据:num[0]=num[0]*8;
4.声明一个数组几种写法
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[5]; int[] num1={1,2,3,4,5}; int[] num2=new int[]{1,2,3,4,5}; } }
以下是几种错误的写法:
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[]; int[] num1; num1={1,2,3,4,5}; int[] num2=new int[5]{1,2,3,4,5}; } }
讲解:1.声明一个数组是必须写明数组的长度 2.声明数组后再为数组赋值也会编译报错,边声明边赋值必须写在同一行 3.不能边声明数组长度边赋值,这样也会编译错误
二. 利用for或者foreach遍历数组(循环数组中的值)
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[]{1,3,5,9,7};
//传统for循环 for(int i=0;i<num.length;i++){ System.out.print(num[i]+"\t"); }
//foreach循环 System.out.println(); for(int list:num){ System.out.print(list+"\t"); } } }
讲解:1.foreach (增强型for循环)在1.5版本后的JDK才可以使用
2.传统循环和增强型循环的区别:传统for循环可以边循环边赋值,而foreach循环只是遍历数组中的元素(如果只是输出元素 foreach优于传统循环)
3.有些时候在环境中使用不了foreach ,1.首先确定JDK版本号,2.确定编译器的版本号
此图是更改编译器版本号的位置
三.冒泡排序及选择排序
1. 冒泡排序
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[]{1,3,5,9,7}; //冒泡排序 for(int i=0;i<num.length-1;i++){ for(int j=0;j<num.length-1-i;j++){ if(num[j]>num[j+1]){ int temp=num[j]; num[j]=num[j+1]; num[j+1]=temp; } } } for(int list:num){ System.out.print(list+"\t"); } } }
循环输出后结果是1 3 5 7 9
2.选择排序
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[]{1,3,5,9,7}; //选择排序 for(int i=0;i<num.length;i++){ int min=i; for(int j=i+1;j<num.length;j++){ if(num[min]>num[j]){ min=j; } } if(min!=i){ int temp=num[min]; num[min]=num[i]; num[i]=temp; } } for(int list:num){ System.out.print(list+"\t"); } } }
3.Arrays.sort()排序
package com.bdqn.practice; import java.util.*; public class Demo9 { public static void main(String[] args){ int[] num=new int[]{1,3,5,9,7}; Arrays.sort(num); for(int list:num){ System.out.print(list+"\t"); } } }
Arrays.sort()默认是升序输出,如果想倒序输出利用for循环递减的方式输出
4.binarySearch获取数组中至制定元素的下标值
4.在升序或者降序中插入元素
package com.bdqn.practice; import java.util.*; public class Demo7 { public static void main(String[] args){ Scanner input=new Scanner(System.in); int [] num=new int[6]; num[0]=99; num[1]=88; num[2]=85; num[3]=63; num[4]=60; System.out.println("插入前的顺序是:"); for(int i=0;i<num.length-1;i++){ System.out.print(num[i]+" "); } System.out.println(); System.out.println("请输入数值:"); int score=input.nextInt(); int index=0; for(int i=0;i<num.length-1;i++ ){ if(score>num[i]){ index=i; } } for(int i=num.length-1;i>index;i--){ num[i]=num[i-1]; } num[index]=score; for(int list:num){ System.out.print(list+" "); } } }
原文地址:https://www.cnblogs.com/LittleBoys/p/11945202.html
- 利用OpenCV和深度学习实现人脸检测
- 洛谷P2676 超级书架
- 洛谷P1720 月落乌啼算钱
- 2017.10.1解题报告
- 这个包绝对值得你用心体验一次!
- Python之函数的进阶(带参数的装饰器)
- 2017.10.2解题报告
- MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013
- 左手用R右手Python系列——百度地图API调用与地址解析/逆解析
- OpenCV实战:人脸关键点检测(FaceMark)
- Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)
- 模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
- 洛谷P1311 选择客栈
- 洛谷P1607 [USACO09FEB]庙会班车Fair Shuttle
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- main函数中的argc和argv到底是个啥?
- 传智播客OA项目学习--阶段一(2、框架整合)
- 微信XML消息model定义之微信公众平台(一)
- 自动返回笑话接口调用之微信公众平台(二)
- 「实战」 缘分使我们(骗子)相遇
- json-lib简单使用之微信公众平台(三)
- 小生归一(六)xss特殊绕过
- 最新绕过D盾注入方法分享(学姿势)
- 利用C#编写的绕过360安全卫士添加系统用户
- 小生归一(七)sprintf字符串格式化漏洞
- FastAdmin后台GetShell
- scRNA-seq Clustering
- Dizzy Blog
- LeetCode 392. 判断子序列
- LeetCode 5473. 灯泡开关 IV