java基础 ---- 一维数组

时间:2021-09-02 23:56:21

为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理。

--------   数组也是一个变量,是存储一组相同类型的变量

java基础 ----   一维数组

声明一个变量就是在内存中划出一块合适的空间

声明一个数组就是在内存中划出一块连续的空间

java基础 ----   一维数组

数组长度就是数组存放了多少个数,最大下标等于数组长度减一

数组中所有的元素必须属于相同的数据类型

-----------  如何使用数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

java基础 ----   一维数组

注意: 在边声明边赋值的时候不要再声明长度了   [] 中不要在写值了偶

边声明边赋值的时候数组的长度就被确定了,不能在往数组里面添加数字了

----   练习

import java.util.Scanner;

public class ArrayDemo {

    /**
* 使用数组计算平均分
*/
public static void main(String[] args) {
int[] scores = new int[5]; //成绩数组
int sum = 0; //成绩总和
Scanner input = new Scanner(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);
}
}

java基础 ----   一维数组

----- 使用数组的常见错误

1、直接赋值的时候不需要写长度  但是不赋值的话要写长度,    int[] scores = new int[];

2、数组下标越界异常      下标超过了数组长度减一的值

java基础 ----   一维数组

3、在进行创建数组并赋值的时候要放在同一条语句中

----  猜数游戏

import java.util.*;

public class GuessData {

    public static void main(String[] args) {
int[] list = new int[] { 8, 4, 2, 1, 23, 344, 12 }; // 创建数组并赋值 int sum=0;
//循环输出数列的值
//求数列中所有数值的和
for(int num:list){
System.out.println(num);
sum+=num;
}
System.out.println("数组元素之和为:"+sum); Scanner input = new Scanner(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!");
}
} }

-----   求最大值

import java.util.Scanner;

public class MaxScore {

    /**
* 求数组最大值
*/
public static void main(String[] args) {
int[] scores = new int[5];
int max = 0; //记录最大值
System.out.println("请输入5位学员的成绩:");
Scanner input = new Scanner(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 class Insert {

    public static void main(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 = new Scanner(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");
} } }

-----  统计数组中奇数和偶数的个数

package cn.jbit.lesson3;

import java.util.Scanner;

/**
* 统计数组中的奇数和偶数的个数
*
*/
public class ArrayEx {
public static void main(String[] args) {
int[] array = new int[8];
Scanner input = new Scanner(System.in);
int count1 = 0; //记录奇数的个数
int count2 = 0; //记录偶数的个数 //从控制台接收8个整数,分别统计奇数和偶数的个数
for(int i=0;i<array.length;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+"。");
}
}

----  数组倒叙复制输出

 package cn.jbit.lesson3;
/**
* 数组倒序复制输出
* @author boge
*
*/
public class ArrayEx2 {
public static void main(String[] args) {
int[] array = new int[10]; //源数组
int[] newArray = new int[10]; //目标数组
for(int i=0;i<array.length;i++){
array[i] = i; //元素的值等于其下标
}
System.out.println("原数组:");
for(int num:array){
System.out.print(num+"\t");
} System.out.println(); int index = array.length-1; for(int i=0;i<newArray.length;i++){
newArray[i] = array[index--];
} System.out.println("新数组:");
for(int num:newArray){
System.out.print(num+"\t");
}
}
}

------ 去除数组中的0

/**
* 去除数组中的0
*
*/
public class ArrayEx3 {
public static void main(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") ;
} } }

----  合并数组

 public class ArrayEx4 {
public static void main(String args[]){
int arrayA [] = new int[] {1,7,9,11,13,17,19} ;
int arrayB [] = new int[] {2,4,6,8,10} ; int len = arrayA.length + arrayB.length ; // 新数组的大小
int arrayC[] = new int[len] ; // 新数组 System.arraycopy(arrayA,0,arrayC,0,arrayA.length) ; // 拷贝第一个数组
System.arraycopy(arrayB,0,arrayC,arrayA.length,arrayB.length) ; // 拷贝第二个数组
java.util.Arrays.sort(arrayC) ; for(int x = 0 ; x< arrayC.length ; x++){
System.out.print(arrayC[x] + "、") ;
}
}
}

java基础 ---- 一维数组的更多相关文章

  1. Java基础总结--数组

    ---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...

  2. Java基础之数组类型

    对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...

  3. 《数据结构》 java的一维数组的内存结构与其特性

    1{数组的概念: 数组是相同类型变量的集合,可以使用共同的名字引用它.数组也可以被定义为任何类型,可以是一维或者二维的.数组的访问时通过其对应的下标来实现的.数组提供了一种将有联系的信息便利分组的方式 ...

  4. 黑马程序员——JAVA基础之数组

    ------- android培训.java培训.期待与您交流! ---------- 数组: 数组的定义: 数组是相同类型数据的集合, 描述的是相同类型的若干个数据按照一定的先后顺序排列组合而成,其 ...

  5. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  6. Java基础之数组详解

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 numbers[1 ...

  7. Java基础之数组&lpar;一&rpar;

    数组的定义 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照 一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特 ...

  8. Java获取一维数组的最小值

    编写程序,实现接受用户在文本框中输入的单行数据.这些数据都是整数数字,以空格进行分隔,空格数量不限.并将这些数据分割成一维数组,再从数组中提取最小值显示在界面中.思路是先对用户的输入进行验证,即先用t ...

  9. java基础&lpar;十&rpar; 数组类型

    1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. 我们来看一个例子,理解一下数组类: public static void main(String[] args) { Class ...

随机推荐

  1. 【HDU】1846 Brave Game

    http://acm.hdu.edu.cn/showproblem.php?pid=1846 题意:二人博弈,1堆石子每次取1~m个,没有石子可取的输,输出先手胜利还是后手胜利. #include & ...

  2. android之TabHost&lpar;上&rpar;

    首先建立文件res/layout/tab.xml 代码如下: <?xml version="1.0" encoding="utf-8"?> < ...

  3. 【tips】判断两个整数是否是同一个数量级

    leetcode刷题的时候,需要用到,已知整数A,B,且A>B,判断AB是否是同一数量级的. 第一想到的是不停地除以10,得到每个数字的数量级再进行比较,太麻烦: 转而向转化成字符串比较,还是麻 ...

  4. 单选按钮,通过js判断是否选中

    <input type="radio" value="0" style="vertical-align:middle" name=&q ...

  5. 二模08day1解题报告

    T1.高中运动会(match) N个数的最大公约数. gcd不解释. T2.智力游戏 火柴棒等式形如a+b=c,现在给出啊a,b,c求使等式成立的最小的移动次数. 火柴棒表示数字不用解释了吧,在此提醒 ...

  6. &lbrack;POJ 1365&rsqb; Prime Land

    Prime Land Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3211   Accepted: 1473 Descri ...

  7. 用PowerShell批量收回wsp包

    转:http://www.xuebuyuan.com/168334.html 提供wsp部署的参数:$wspnames:路径下的所有wsp文件名用逗号隔开,如"sumhtestwsp.wsp ...

  8. npm 安装 卸载 模块(转载)

    来源 https://blog.csdn.net/yihanzhi/article/details/75665959 利用npm 安装删除模块 npm安装模块 [npm install xxx]利用 ...

  9. Mac轻量级服务器http-server

    刚想跑个Vue页面,发现我本地没有应用服务器(Tomcat/IIS...) 于是想下载了Tomcat,才发现我没有装JDK,而Mac的JDK下得好久,都下不下来,想想算了. 于是在网上找个轻量级的服务 ...

  10. 使用kubeadm安装Kubernetes

    Docker安装 yum install -y yum-utils yum-config-manager --add-repo https://docs.docker.com/v1.13/engine ...