数组是一个变量,存储相同数据类型的一组数据(就是能存储很多数值的数据类型)

如果说声明一个变量就是在内存空间划出一块合适的空间,那么声明一个数组就是在内存空间划出一串连续的空间。

数组的基本要求

  • 标识符:数组的名称,用于区分不同的数组
  • 数组元素:数组中存放的数据
  • 元素下标:从0开始
  • 元素类型:数组的数据类型

数组操作的基本步骤

  1)声明数组:告诉计算机数据类型是什么

  数据类型[ ]  数组名;   如:int[ ] score1;

  数据类型 数组名[ ];    如:int  score2[ ];

  注意:声明数组时不能声明数组的长度

  2) 分配空间:告诉计算机分配几个连续的空间

如:score=new  int[30];

    数据类型[ ]  数组名 = new  数据类型[大小];

  3)赋值

  边声明变赋值

Int [ ]  score=new int[ ]{89,79,69};  前面写个3后面附3个数值,冲突了,计算机不允许

Int[ ]   score={89,69,79}

  也可以使用控制台输入赋值

Scanner  input =new Scanner(System.in);for(int  i=0; i<30; i++){score[i]=input.nextInt();
}

 常见应用:

/*
* 定义一个数组序列
* 循环输出数列的值
* 求数列中所有数值的和
* 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
*/
public class Test01 {public static void main (String args[]){int[]  arr;arr=new int[]{8,4,2,1,23,34,12};int sum=0;for(int i=0;i<arr.length;i++){System.out.println(arr[i]);            sum=sum+arr[i];            }System.out.println("该数组数列的总和为:"+sum);Scanner input=new Scanner(System.in);System.out.println("请输入一个数字:");int j=input.nextInt();int k=0;for(int i=0;i<arr.length;i++){if(j==arr[i]){k=1;break;}}if(k==1){System.out.println("包含");}else {System.out.println("不包含");}}
}

/* 类说明
* 录入5位学员的成绩,进行升序后输出
*/
public class Test02 {public static void main(String[] args) {int [] score=new int[5];int k=0;Scanner  inputScanner=new Scanner(System.in);System.out.println("请输入成绩:");//for循环将数值存入数组for(int i=0;i<score.length;i++){score[i]=inputScanner.nextInt();            }//for循环输出数组序列System.out.println("排序之前:");for(int j=0;j<score.length;j++){System.out.print(score[j]+" ");    }System.out.println(" ");//进行排序操作//使用java.util.Arrays类,调用Arrays类的sort()方法:对数组进行升序 Arrays.sort(数组名)
            Arrays.sort(score);System.out.println("排序之后:");for(int i=0;i<score.length;i++){System.out.print(score[i]+" ");}}}

若要输出数组的最大值,利用以上排序后,增加一句:System.out.println("最大值:"+score[score.length-1]);

冒泡排序:重复地走访过要排序的数列,一次比较相邻两个元素,如果他们的顺序错误就把他们交换过来

public class Test06 {public static void main(String[] args){int arr[]=new int[]{5,9,1,6,8};int k=0;for (int i = 0; i < arr.length-1; i++) {   //使用双循环for (int j = 0; j <arr.length-i-1; j++) {if(arr[j]<arr[j+1]){    //此案例中为降序排列,若要为升序,则修改arr[j]>arr[j+1]k=arr[j];arr[j]=arr[j+1];arr[j+1]=k;}}}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}        }
}

 嵌套循环

一个外循环里面嵌套内循环,外循环执行一次,内循环遍历一遍

public class Test04 {public static void main(String[] args) {/** 外层控制行数* 内层控制星号的个数*/for (int i = 1; i <=5; i++) {for(int j=1;j<=i;j++){System.out.print("*");}System.out.println();}}
}

如:打印直角三角形

public class Test04 {public static void main(String[] args) {/** 外层控制行数* 内层控制星号的个数*/for (int i = 5; i >=1; i--) {for(int j=1;j<=i;j++){System.out.print("*");}System.out.println();}}
}

public class Test04 {public static void main(String[] args) {for (int i =1; i <=5; i++) {for(int j=5; j>=i; j--){System.out.print(" ");}for(int j=1;j<=i*2-1;j++){System.out.print("*");}System.out.println();}}
}

打印九九乘法表

public class Test05 {public static void main(String[] args) {for (int i = 1; i <=9; i++) {for (int j = 1; j <=i; j++) {System.out.print(j+"x"+i+"="+(i*j)+"\t");}System.out.println();}        }
}

public class Test012 {public static void main (String args[]){/* 已知数列:0,1,1,2,3,5,8,13,21...  循环输出该数列---斐波那契数列*分析思路:前两个数值固定,第三个数值等于它前两个数值之和,第四个数值等于它前两个数值之和...***/int[] nums=new int[15];nums[0]=0;nums[1]=1;for(int i=2;i<nums.length;i++){nums[i]=nums[i-1]+nums[i-2];}       //输出数组从新写一个for循环for(int i=0;i<nums.length;i++){System.out.print(nums[i]+",");}//数组平均值int sum =0;double avg=0.00;for (int i = 0; i < nums.length; i++) {sum=sum+nums[i];}avg=sum/15;System.out.println("平均值:"+avg);}
}

转载于:https://www.cnblogs.com/wysk/p/7657295.html

Java 数组+循环升级篇相关推荐

  1. java数组循环动态赋值_04、Java基础语法(循环嵌套、break、continue、方法、方法的重载、数组动态初始化)...

    复习: 流程控制语句 - 顺序结构 - 分支结构 - if-else - switch - 循环结构 - for - while - do...while ctrl + alt + L 格式化代码 & ...

  2. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  3. java数组循环_Java之循环结构及数组

    循环结构 for循环for(条件初始化;条件判断;条件变化){ 重复执行的代码: } for循环的执行流程: 1.条件初始化 2.条件判断 3.不满足条件结束循环,满足条件执行,执行循环体语句 4.条 ...

  4. java数组循环试题_Java学习关于循环和数组练习题整理

    循环例子: while循环和do-while循环 whlie(条件语句) { 循环体 }//先进行条件语句的判断,再进行循环体 do { 循环体 }whlie (条件语句)//先执行一次循环后再进行条 ...

  5. java数组循环_java数组,遍历数组

    数组:一组具有相同数据类型的集合(容器) 1.数组声明格式: 数据类型 [] 数组名 = new 数据类型[长度]: 数组长度一旦确定无法更改. 数组里的数据必须是相同类型或自动向上转型后兼容的类型 ...

  6. 关于给java数组循环赋值时报错Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException: 5

    1.检查初始给数组分配的空间是否足够. 2查看循环限制是否超出限制, 假定数组为something, 数组长度为,something.length, 则指定循环限制要<something.len ...

  7. Java面试题及答案2020,java数组循环赋值

    什么是ACID? 事务的定义和实现一直随着数据管理的发展在演进,当计算机越来越强大,它们就能够被用来管理越来越多数据,最终,多个用户可以在一台计算机上共享数据,这就导致了一个问题,当一个用户修改了数据 ...

  8. 6.1_[Java 数组]-数组与二重循环和鸡兔同笼及冒泡排序

    ################################################## 目录 循环热身 前言 三种循环 数组循环接收数据并使用 for 循环遍历输出 利用 for 循环结 ...

  9. Java基础篇--Java 数组

    Java基础篇--Java 数组 Java 数组 声明数组变量 创建数组 处理数组 For-Each 循环 数组作为函数的参数 数组作为函数的返回值 多维数组 多维数组的动态初始化(以二维数组为例) ...

最新文章

  1. Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
  2. 4.在master机器上配置环境变量
  3. php中sisson用法,thinkPHP中session()方法用法详解
  4. sql使用逻辑控制语句
  5. C++_类和对象_C++多态_案例2_制作饮品---C++语言工作笔记073
  6. 兰州市智慧城市建设再迈出实质性一步
  7. 最有效的更改linux 系统时区的方法
  8. 通过网页链接调用QQ临时会话实现
  9. 注册github邮箱验证收不到邮件问题
  10. Tomcat的appBase,docBase,path关系
  11. vue使用高德地图-进行显示地图和查询天气
  12. VueJs探索之watch用法详解
  13. 下载到的电子书格式是Mobi,这种格式能否在WINDOWS电脑上打开?
  14. uni-app引用npm第三方库
  15. Java程序员的重启人生-3.Java基础碾压
  16. java坦克大战爆炸效果_Java极致毁童年系列、你们火星的坦克大战这样的吧
  17. 【MySQL】MySQL抖动
  18. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
  19. 常用字符集编码的概要特性(一)
  20. 计算机正确e mail,电子邮件(E-mail)是____

热门文章

  1. electronjs设置宽度_electronjs 入门_2019年2月14日
  2. SQL Server高级查询之子查询(多行子查询)
  3. jquery子元素过滤选择器
  4. ipv6地址_「案例」路由器怎么自动获取IPv6地址?
  5. 数据结构—线索二叉树
  6. Java核心技术笔记 1
  7. 回溯法 —— 求解0/1背包问题(剪枝)
  8. Min_25筛(LibreOJ #6053: 简单的函数)
  9. bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)
  10. bzoj 3751: [NOIP2014]解方程(同余系)