java 一维数组_java基础 ---- 一维数组
为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理。
-------- 数组也是一个变量,是存储一组相同类型的变量
声明一个变量就是在内存中划出一块合适的空间
声明一个数组就是在内存中划出一块连续的空间
数组长度就是数组存放了多少个数,最大下标等于数组长度减一
数组中所有的元素必须属于相同的数据类型
----------- 如何使用数组
注意: 在边声明边赋值的时候不要再声明长度了 [] 中不要在写值了偶
边声明边赋值的时候数组的长度就被确定了,不能在往数组里面添加数字了
---- 练习
importjava.util.Scanner;public classArrayDemo {/*** 使用数组计算平均分*/
public static voidmain(String[] args) {int[] scores = new int[5]; //成绩数组
int sum = 0; //成绩总和
Scanner input = newScanner(System.in);
System.out.println("请输入5位学员的成绩:");for(int i = 0; i < scores.length; i++){
scores[i]=input.nextInt();
sum= sum + scores[i]; //成绩累加
}/*//使用foreach遍历
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
}
for(int score:scores){
sum+=score;
}*/
//计算并输出平均分
System.out.println("学员的平均分是:" + (double)sum/scores.length);
}
}
----- 使用数组的常见错误
1、直接赋值的时候不需要写长度 但是不赋值的话要写长度, int[] scores = new int[];
2、数组下标越界异常 下标超过了数组长度减一的值
3、在进行创建数组并赋值的时候要放在同一条语句中
---- 猜数游戏
import java.util.*;public classGuessData {public static voidmain(String[] args) {int[] list = new int[] { 8, 4, 2, 1, 23, 344, 12 }; //创建数组并赋值
int sum=0;//循环输出数列的值//求数列中所有数值的和
for(intnum:list){
System.out.println(num);
sum+=num;
}
System.out.println("数组元素之和为:"+sum);
Scanner input= newScanner(System.in);
System.out.print("请输入一个整数: ");int guess =input.nextInt();boolean isCorrect = false;for (int i = 0; i < list.length; i++) {if (guess ==list[i]) {
isCorrect= true;break;
}
}if(isCorrect) {
System.out.println("猜对了!");
}else{
System.out.println("Sorry!");
}
}
}
----- 求最大值
importjava.util.Scanner;public classMaxScore {/*** 求数组最大值*/
public static voidmain(String[] args) {int[] scores = new int[5];int max = 0; //记录最大值
System.out.println("请输入5位学员的成绩:");
Scanner input= newScanner(System.in);for(int i = 0; i < scores.length; i++){
scores[i]=input.nextInt();
}//计算最大值//使用max存储擂主初始值:第一个元素为擂主
max = scores[0];//循环打擂
for(int i = 1; i < scores.length; i++){if(scores[i] >max){
max=scores[i];
}
}
System.out.println("考试成绩最高分为:" +max);
}
}
---------- 插入数值
有一个降序排列的数组,新增一个数字,也要保持降序排列
注要就是把插入的数值与数组中的值依次进行比较,找到第一个数值比他小的位置,就是他要插入的位置,然后在把他下标往后面的移动一位,
import java.util.*;public classInsert {public static voidmain(String[] args) {int[] list = new int[6]; //长度为为6的数组
list[0] = 99;
list[1] = 85;
list[2] = 82;
list[3] = 63;
list[4] = 60;int index = list.length; //保存新增成绩插入位置
System.out.println("请输入新增成绩: ");
Scanner input= newScanner(System.in);int num = input.nextInt(); //输入要插入的数据//找到新元素的插入位置
for (int i = 0; i < list.length; i++) {if (num >list[i]) {
index=i;break;
}
}//元素后移
for (int j = list.length - 1; j > index; j--) {
list[j]= list[j - 1]; //index下标开始的元素后移一个位置
}
list[index]= num;//插入数据
System.out.println("插入成绩的下标是:" +index);
System.out.println("插入后的成绩信息是: ");for (int k = 0; k < list.length; k++) { //循环输出目前数组中的数据
System.out.print(list[k] + "\t");
}
}
}
----- 统计数组中奇数和偶数的个数
packagecn.jbit.lesson3;importjava.util.Scanner;/*** 统计数组中的奇数和偶数的个数**/
public classArrayEx {public static voidmain(String[] args) {int[] array = new int[8];
Scanner input= newScanner(System.in);int count1 = 0; //记录奇数的个数
int count2 = 0; //记录偶数的个数//从控制台接收8个整数,分别统计奇数和偶数的个数
for(int i=0;i
System.out.print("请输入第"+(i+1)+"个整数:");
array[i]=input.nextInt();if(array[i]%2==0){
count1++;
}else{
count2++;
}
}
System.out.println();
System.out.println("奇数的个数是:"+count2+"。");
System.out.println("偶数的个数是:"+count1+"。");
}
}
---- 数组倒叙复制输出
1 packagecn.jbit.lesson3;2 /**
3 * 数组倒序复制输出4 *@authorboge5 *6 */
7 public classArrayEx2 {8 public static voidmain(String[] args) {9 int[] array = new int[10]; //源数组
10 int[] newArray = new int[10]; //目标数组
11 for(int i=0;i
13 }14 System.out.println("原数组:");15 for(intnum:array){16 System.out.print(num+"\t");17 }18
19 System.out.println();20
21 int index = array.length-1;22
23 for(int i=0;i
27 System.out.println("新数组:");28 for(intnum:newArray){29 System.out.print(num+"\t");30 }31 }32 }
------ 去除数组中的0
/*** 去除数组中的0
**/
public classArrayEx3 {public static voidmain(String args[]){int oldArr [] = {11,31,23,54,0,0,77,90,0,5,42,71,63,79,60,53} ;int count = 0 ; //记录数组中不为0的元素个数
for(int i = 0 ; i < oldArr.length; i++){if(oldArr[i] != 0){
count++ ; //统计个数
}
}int newArr [] = new int[count] ; //新数组//将原数组中不为0的元素保存到新数组中
int j = 0 ; //控制新数组的下标
for(int i = 0 ; i < oldArr.length; i++){if(oldArr[i] != 0){
newArr[j++] =oldArr[i] ;
}
}//输出新数组
for(int i = 0 ; i< newArr.length ; i++){
System.out.print(newArr[i]+ "\t") ;
}
}
}
---- 合并数组
1 public classArrayEx4 {2 public static voidmain(String args[]){3 int arrayA [] = new int[] {1,7,9,11,13,17,19} ;4 int arrayB [] = new int[] {2,4,6,8,10} ;5
6 int len = arrayA.length + arrayB.length ; //新数组的大小
7 int arrayC[] = new int[len] ; //新数组
8
9 System.arraycopy(arrayA,0,arrayC,0,arrayA.length) ; //拷贝第一个数组
10 System.arraycopy(arrayB,0,arrayC,arrayA.length,arrayB.length) ; //拷贝第二个数组
11 java.util.Arrays.sort(arrayC) ;12
13
14 for(int x = 0 ; x< arrayC.length ; x++){15 System.out.print(arrayC[x] + "、") ;16 }17 }18 }
java 一维数组_java基础 ---- 一维数组相关推荐
- java实现初始化三角形数组_Java基础之数组初始化和数组JVM分析
什么是数组 所谓数组,是具有相同数据类型的若干变量或者数据按照一定排序规则组合起来的一种数据存储格式.数组中的数据称为数组元素,我们使用索引来标识数组元素在数组中的存储位置,索引从0开始,步长是1,其 ...
- java web定义数组_Java基础之数组--数组常用操作
3.2一维数组 3.2.1声明数组 数组类型[] 数组名称:int[] username; 或者 数组类型 数组名称[];int username[]; 3.2.2初始化一维数组 一维数组初始化有两种 ...
- java mp3数组_Java基础之数组(一)
数组的定义 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照 一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特 ...
- java基础题数组_java基础学习——数组笔试题
1.求2到1000的质数,且每输出十个进行换行? 2.使用两种方式,使数组的初始化为4. 3.查询书组中的最小值,并将书组扩容为新的数组. 答案: 1.代码块:package Test; public ...
- java找出一组数据缺少最小数组_Java获取一维数组的最小值实现方法
编写程序,实现接受用户在文本框中输入的单行数据.这些数据都是整数数字,以空格进行分隔,空格数量不限.并将这些数据分割成一维数组,再从数组中提取最小值显示在界面中.思路是先对用户的输入进行验证,即先用t ...
- java 一维数组_Java 之 一维数组
一.声明与初始化一维数组 1.声明(两种方式) 数组元素类型 数组名称[]; 数组元素类型[] 数组名字: 数组元素类型:决定了数组的数据类型,即数组要存放什么类型的数据,可以是基本数据类型和引用数据 ...
- java中两个doub组成一个数组_Java基础知识2-Java基本语法
数据类型 1.Java程序的基本组成 关键字:被Java语言赋予特定含义的单词,不能作标识符,如private. 标识符:由数字.字母.$和_组成的字符串,用于引用变量.且首字母不能是数字. 变量:程 ...
- java input 数组_Java基础之:数组
Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...
- java数组键_Java基础之数组
数组 数组就是用于存储相同数据类型数据的一个容器.可以通过有规律的索引来访问没有规律的元素. 一维数组 定义格式:元素的数据类型[ ] 数组名称 = new 元素的数据类型 [ 数组容器大小 ]: 数 ...
最新文章
- 百度UEditor开发案例(JSP)
- C语言:constkeyword、结构体
- python 编程一日一练-Python一日一练05----怒刷点击量
- SAP UI5和CRM WebUI的View和Controller是如何绑定的
- 漫天飞舞的蒲公英你是我的幸福吗
- 神奇的go语言(基本语法)
- windows用户态程序的Dump
- 天猫标的就是虚价,果然败家节啊
- VS2015中搭建lua环境
- 电商金额计算的 4 个坑,千万注意了!
- linux 反汇编 静态库,如何反汇编.lib静态库?
- 【MATLAB】MATLAB应用手册(1):高等数学的MATLAB应用
- OpenStack柏林峰会主会场侧记:OpenStack立柱、拱券与灵魂
- Mask R-CNN算法详解
- [matlab数字图像处理10]对一副图像进行二值化,ostu算法等
- 输入阻抗、输出阻抗与阻抗匹配
- 2019各种比赛总结
- poj1723 SOLDIERS
- 生活小剧场30天吸粉44w,小红书最受欢迎的笔记长这样
- 【考研数学】概率论 - 随机事件和概率
热门文章
- html选择按键点击后锁死输入框_js实现的键盘开启大写锁定提示和密码显示与隐藏的效果...
- mysql数据库char类型长度_mysql数据库设计字符类型及长度
- tez什么意思_传统数仓和大数据数仓的区别是什么?
- 运营管理最新版史蒂文森_运营增长人都在看的硬核案例拆解是怎么做的?
- 文本”Hello, world.”显示的颜色是?
- java-JSON: Expected value at 1:0 错误
- cordova 实现网页缓存_如何解决ionic,cordova混合开发的app缓存大的问题
- 微软MS11-050漏洞的利用
- 9277用计算机,关于计算机常用进制以及进制之间的转换笔记
- Odyssey.js – 使用现成模板在线创建互动的故事