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);
}
}
Java 数组+循环升级篇的更多相关文章
- java 在循环中删除数组元素
在写代码中经常会遇到需要在数组循环中删除数组元素的情况,但删除会导致数组长度变化. package com.fortunedr.thirdReport; import java.util.ArrayL ...
- java - day003 - 循环嵌套, 循环命名, while, 数组
1.循环嵌套 break 中断循环或switch(跳出循环).中断后继续往下执行 continue (跳到循环的下一轮继续执行) return (结束方法) 2.循环命名 内层循环控制外层循环.需要给 ...
- Java数组实现循环队列的两种方法
用java实现循环队列的方法: 1.添加一个属性size用来记录眼下的元素个数. 目的是当head=rear的时候.通过size=0还是size=数组长度.来区分队列为空,或者队列已满. 2.数组中仅 ...
- Java如何循环数组并使用Split
场景: 当写方法时遇到1个参数有3个值, 该参数类型为数组. 例如: aaa|bbb|ccc . 而且需要循环打印,这个时候我们就需要用数组循环输出的方法. 一:feature 示例 Wh ...
- java _循环练习和数组练习
练习 1.输出所有的水仙花数,所谓水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5(很经典的题目) 分析: 通过观察发现,本题目要实现打印 ...
- Java数组使用以及foreach循环
Java数组使用以及foreach循环 二话不说,先甩一个简单的程序: final int NUM= 10; int[] arrays = new int[NUM]; System.out.print ...
- Java核心基础第4篇-Java数组的常规操作
Java数组 一.数组简介 数组是多个相同类型数据的组合,实现对这些数据的统一管理 数组属引用类型,数组型数据是对象(Object) 数组中的元素可以是任何数据类型,包括基本类型和引用类型 数组类型是 ...
- java学习笔记(基础篇)—java数组
一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...
- Java实现 LeetCode 457 环形数组循环
457. 环形数组循环 给定一个含有正整数和负整数的环形数组 nums. 如果某个索引中的数 k 为正数,则向前移动 k 个索引.相反,如果是负数 (-k),则向后移动 k 个索引.因为数组是环形的, ...
随机推荐
- servlet中将值以json格式传入
详细连接https://blog.csdn.net/e_wsq/article/details/71038270$('#but_json_json').click(function(){ }; $.a ...
- Python cmd库的简易使用
简单记录一下,竟然这么简单的方法就能在 python 里面实现一个简单的交互式命令行以前从来没有尝试过. 上一个完整的例子: import cmd import osimport readline r ...
- vs code的快捷方式
https://blog.csdn.net/qq_41308027/article/details/83178526
- npm安裝、卸載、刪除、撤銷發佈包、更新版本信息
利用npm安裝包: 全局安裝:npm install -g 模塊安裝 局部安裝(可以使用repuire(‘模塊名’)引用):npm install 模塊名稱 如果權限不夠,就是用管理員方式安裝. 本地 ...
- PHP超级全局变量、魔术变量和魔术函数
PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ...
- Oracle 查询字段不包含多个字符串方法
开发过程中遇到个需求,用户要提取的数据列中不包含 YF.ZF.JD的字符串, 方法1:select * from table where order_no not like '%YF%' and ...
- Vue插件plugins的基本操作
前面的话 本文将详细介绍Vue插件plugins的基本操作 开发插件 插件通常会为 Vue 添加全局功能.插件的范围没有限制——一般有下面几种: 1.添加全局方法或者属性,如: vue-custom- ...
- class前置声明
https://www.cnblogs.com/King-Gentleman/p/5081159.html 当两个头文件互相包含的时候,类定义会编译出错,这时需要分别添加上对应的类声明 #includ ...
- Linux下git的使用——将已有项目放到github上
本地已经有一个项目了,需要将该项目放到github上,怎么操作? 步骤: 本地安装git,有github账号是前提. (1)先在github创建一个空的仓库,并复制链接地址.使用https,以.git ...
- nodejs eggjs框架 爬虫 readhub.me
最近做了一款 高仿ReadHub小程序 微信小程序 canvas 自动适配 自动换行,保存图片分享到朋友圈 https://gitee.com/richard1015/News 具体代码已被开源, ...