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

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

数组的基本要求

  • 标识符:数组的名称,用于区分不同的数组
  • 数组元素:数组中存放的数据
  • 元素下标:从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 数组+循环升级篇的更多相关文章

  1. java 在循环中删除数组元素

    在写代码中经常会遇到需要在数组循环中删除数组元素的情况,但删除会导致数组长度变化. package com.fortunedr.thirdReport; import java.util.ArrayL ...

  2. java - day003 - 循环嵌套, 循环命名, while, 数组

    1.循环嵌套 break 中断循环或switch(跳出循环).中断后继续往下执行 continue (跳到循环的下一轮继续执行) return (结束方法) 2.循环命名 内层循环控制外层循环.需要给 ...

  3. Java数组实现循环队列的两种方法

    用java实现循环队列的方法: 1.添加一个属性size用来记录眼下的元素个数. 目的是当head=rear的时候.通过size=0还是size=数组长度.来区分队列为空,或者队列已满. 2.数组中仅 ...

  4. Java如何循环数组并使用Split

    场景: 当写方法时遇到1个参数有3个值, 该参数类型为数组.    例如:  aaa|bbb|ccc  .  而且需要循环打印,这个时候我们就需要用数组循环输出的方法. 一:feature 示例 Wh ...

  5. java _循环练习和数组练习

    练习 1.输出所有的水仙花数,所谓水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5(很经典的题目) 分析: 通过观察发现,本题目要实现打印 ...

  6. Java数组使用以及foreach循环

    Java数组使用以及foreach循环 二话不说,先甩一个简单的程序: final int NUM= 10; int[] arrays = new int[NUM]; System.out.print ...

  7. Java核心基础第4篇-Java数组的常规操作

    Java数组 一.数组简介 数组是多个相同类型数据的组合,实现对这些数据的统一管理 数组属引用类型,数组型数据是对象(Object) 数组中的元素可以是任何数据类型,包括基本类型和引用类型 数组类型是 ...

  8. java学习笔记(基础篇)—java数组

    一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...

  9. Java实现 LeetCode 457 环形数组循环

    457. 环形数组循环 给定一个含有正整数和负整数的环形数组 nums. 如果某个索引中的数 k 为正数,则向前移动 k 个索引.相反,如果是负数 (-k),则向后移动 k 个索引.因为数组是环形的, ...

随机推荐

  1. java中间缓存变量机制

    public static void main(String[] args){ int j = 0; for(int i = 0; i < 100; i++) j = j++; System.o ...

  2. python数据结构与算法第十天【插入排序】

    1.插入排序的原理 2.代码实现 def insert_sort(alist): # 从第二个位置,即下标为1的元素开始向前插入 for i in range(1, len(alist)): # 从第 ...

  3. 前端框架framework和库library的一点区别和记录

    本篇纯文字,无关代码,只是一点概念的记录 关于所谓前端 首先学的是HTML5.CSS3.JavaScript这三个 之后接触了一下UI框架,如layui和bootstrap 目前是打算去学VUE和an ...

  4. web前端面試題

    1.怎麼判斷一個一個變量的類型是string? typeof(obj)==="string" typeof obj==="string" obj.constru ...

  5. RBS SharePoint 2010 Server.wmv

    视频地址: https://www.youtube.com/watch?v=DXi2er514iA&feature=youtu.be

  6. CSS3 flexbox 布局 ---- flex项目属性介绍

    现在介绍用在flex项目上的css 属性,html结构还是用ul, li 结构,不过内容改成1,2,3, 样式的话,直接把给 ul 设display:flex 变成flex 容器,默认主轴的方向为水平 ...

  7. hdu-1251(字典树)

    字典树模板题. ps:数组要开大,40w左右才行,不然疯狂re 代码: #include<iostream> #include<algorithm> #include<c ...

  8. C#使用读写锁解决多线程并发写入文件时线程同步的问题

    读写锁是以 ReaderWriterLockSlim 对象作为锁管理资源的,不同的 ReaderWriterLockSlim 对象中锁定同一个文件也会被视为不同的锁进行管理,这种差异可能会再次导致文件 ...

  9. shiro注解和标签

    Controller中注解: @RequiresAuthentication @RequiresGuest @RequiresPermissions("account:create" ...

  10. BZOJ4003[JLOI2015]城池攻占——可并堆

    题目描述 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池. 这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi ...