Java 数组+循环升级篇
数组是一个变量,存储相同数据类型的一组数据(就是能存储很多数值的数据类型)
如果说声明一个变量就是在内存空间划出一块合适的空间,那么声明一个数组就是在内存空间划出一串连续的空间。
数组的基本要求
- 标识符:数组的名称,用于区分不同的数组
- 数组元素:数组中存放的数据
- 元素下标:从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 数组+循环升级篇相关推荐
- java数组循环动态赋值_04、Java基础语法(循环嵌套、break、continue、方法、方法的重载、数组动态初始化)...
复习: 流程控制语句 - 顺序结构 - 分支结构 - if-else - switch - 循环结构 - for - while - do...while ctrl + alt + L 格式化代码 & ...
- java数组循环扩容_Java中实现数组动态扩容的两种方法
Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...
- java数组循环_Java之循环结构及数组
循环结构 for循环for(条件初始化;条件判断;条件变化){ 重复执行的代码: } for循环的执行流程: 1.条件初始化 2.条件判断 3.不满足条件结束循环,满足条件执行,执行循环体语句 4.条 ...
- java数组循环试题_Java学习关于循环和数组练习题整理
循环例子: while循环和do-while循环 whlie(条件语句) { 循环体 }//先进行条件语句的判断,再进行循环体 do { 循环体 }whlie (条件语句)//先执行一次循环后再进行条 ...
- java数组循环_java数组,遍历数组
数组:一组具有相同数据类型的集合(容器) 1.数组声明格式: 数据类型 [] 数组名 = new 数据类型[长度]: 数组长度一旦确定无法更改. 数组里的数据必须是相同类型或自动向上转型后兼容的类型 ...
- 关于给java数组循环赋值时报错Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException: 5
1.检查初始给数组分配的空间是否足够. 2查看循环限制是否超出限制, 假定数组为something, 数组长度为,something.length, 则指定循环限制要<something.len ...
- Java面试题及答案2020,java数组循环赋值
什么是ACID? 事务的定义和实现一直随着数据管理的发展在演进,当计算机越来越强大,它们就能够被用来管理越来越多数据,最终,多个用户可以在一台计算机上共享数据,这就导致了一个问题,当一个用户修改了数据 ...
- 6.1_[Java 数组]-数组与二重循环和鸡兔同笼及冒泡排序
################################################## 目录 循环热身 前言 三种循环 数组循环接收数据并使用 for 循环遍历输出 利用 for 循环结 ...
- Java基础篇--Java 数组
Java基础篇--Java 数组 Java 数组 声明数组变量 创建数组 处理数组 For-Each 循环 数组作为函数的参数 数组作为函数的返回值 多维数组 多维数组的动态初始化(以二维数组为例) ...
最新文章
- Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
- 4.在master机器上配置环境变量
- php中sisson用法,thinkPHP中session()方法用法详解
- sql使用逻辑控制语句
- C++_类和对象_C++多态_案例2_制作饮品---C++语言工作笔记073
- 兰州市智慧城市建设再迈出实质性一步
- 最有效的更改linux 系统时区的方法
- 通过网页链接调用QQ临时会话实现
- 注册github邮箱验证收不到邮件问题
- Tomcat的appBase,docBase,path关系
- vue使用高德地图-进行显示地图和查询天气
- VueJs探索之watch用法详解
- 下载到的电子书格式是Mobi,这种格式能否在WINDOWS电脑上打开?
- uni-app引用npm第三方库
- Java程序员的重启人生-3.Java基础碾压
- java坦克大战爆炸效果_Java极致毁童年系列、你们火星的坦克大战这样的吧
- 【MySQL】MySQL抖动
- http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
- 常用字符集编码的概要特性(一)
- 计算机正确e mail,电子邮件(E-mail)是____
热门文章
- electronjs设置宽度_electronjs 入门_2019年2月14日
- SQL Server高级查询之子查询(多行子查询)
- jquery子元素过滤选择器
- ipv6地址_「案例」路由器怎么自动获取IPv6地址?
- 数据结构—线索二叉树
- Java核心技术笔记 1
- 回溯法 —— 求解0/1背包问题(剪枝)
- Min_25筛(LibreOJ #6053: 简单的函数)
- bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)
- bzoj 3751: [NOIP2014]解方程(同余系)