这篇文章为你搞懂2个问题

1.什么是数组,数组是干嘛用的?

2.数组如何使用?

考试结束后,老师给二狗安排了一项任务,统计班里40名同学的平均分。按照我们之前的做法,我们可以定义40个变量然后再相加除以40求出平均分,但是这样太繁琐了,有没有更好的办法呢?那就是使用 数组。

数组

数组其实也是一个变量,顾名思义存储了一组相同类型的数据,声明一个数组就是在内存空间中分配出一连串的空间。

元素1

元素2

元素3

……

使用数组需要四个步骤:

1.声明数组 int[] a;

2.分配空间 a=new int[5];

3.赋值 a[0]=8;

4.处理数据 a[0]=a[0]*10;

数组中的元素通过下标进行访问,下标从0开始

数组长度是在分配完空间后是固定不变的

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

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

语法:

数据类型 数组名[];

数据类型[] 数组名;

敲一敲:

public class DemoArray {

public static void main(String[] args) {

int[] score;//成绩

String[] name;//名字

}

}

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

语法:

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

或者 声明数组同时并分配空间:

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

敲一敲:

public class DemoArray {

public static void main(String[] args) {

int[] score;//成绩

String[] name;//名字

score=new int[40];

name=new String[40];

//声明变量同时并分配空间

int[] age=new int[40];

}

}

3.赋值:向分配的空间中放数据

敲一敲:

public class DemoArray {

public static void main(String[] args) {

int[] score;//成绩

String[] name;//名字

score=new int[40];

name=new String[40];

//声明变量同时并分配空间

int[] age=new int[40];

name[0]="张三";//向数组中第一个元素存放数据

name[1]="李四";//向数组中第一个元素存放数据

}

}

但是这样一个一个去赋值太麻烦了

敲一敲:1.声明数组的同时赋值

public class DemoArray1 {

public static void main(String[] args) {

int[] score= {67,55,93};//自动确定长度为3

String[] name=new String[] {"张三","李四","王五"};

}

}

敲一敲:2.使用循环从控制台获取信息并赋值

import java.util.Scanner;

public class DemoArray2 {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

int[] score=new int[40];

for (int i = 0; i < score.length; i++) {

score[i]=input.nextInt();

}

}

}

length 是数组的属性,用于获取数组的长度

4.处理数据

敲一敲:遍历数组

public class DemoEachArray {

public static void main(String[] args) {

String[] name= {"香蕉","菠萝","西瓜"};

for (int i = 0; i < name.length; i++) {

String temp=name[i];

System.out.println(i+" "+temp);

}

}

}

可以打印数组,也可重新赋值等操作

工具类Arrays

Arrays类包含操作数组的各种方法,使用这个类需要

加入一行代码

import java.util.Arrays; 引入后使用。

方法名

说明

sort()

对指定的数组按数字升序进行排序。

toString()

返回指定数组内容的字符串表示形式。

copyOf()

复制指定的数组到一个新数组,并指定新数组的长度

敲一敲:sort的使用

import java.util.Arrays;

public class DemoArraysSort {

public static void main(String[] args) {

int[] ages= {33,18,37,55,3};

Arrays.sort(ages);

for(int i=0;i

System.out.println(i+" "+ages[i]);

}

}

}

敲一敲:toString的使用

import java.util.Arrays;

public class DemoArraysToString {

public static void main(String[] args) {

String[] name= {"张三","李四","王五","赵六"};

String result=Arrays.toString(name);

System.out.println(result);

double[] money= {55.4,34,66,23.3};

System.out.println(Arrays.toString(money));

}

}

敲一敲:copyOf的使用

import java.util.Arrays;

public class DemoArraysCopyOf {

public static void main(String[] args) {

int[] ages= {33,18,37,55,3};

int[] newArray1=Arrays.copyOf(ages, 3);

System.out.println("新数组:"+Arrays.toString(newArray1));

int[] newArray2=Arrays.copyOf(ages,8);

System.out.println("新数组:"+Arrays.toString(newArray2));

}

}

使用 copyOf() 时,如果指定的副本数组的长度小于源数组的长度,后面的元素都将被截断。如果指定的副本数组的长度大于源数组的长度,多出的元素都将使用默认值。

数组元素默认值

如果一个数组已经指定了长度,但是没有给元素赋值,那么没有赋值的元素都会有默认值。

类型

默认值

String

null

int

0

double

0.0

boolean

false

Object

null

敲一敲:体验各种类型的默认值

import java.util.Arrays;

public class DemoDefaultValue {

public static void main(String[] args) {

String[] name=new String[10];

System.out.println("字符串:"+Arrays.toString(name));

int[] age=new int[10];

System.out.println("整数:"+Arrays.toString(age));

double[] money=new double[10];

System.out.println("小数:"+Arrays.toString(money));

Object[] obj=new Object[10];

System.out.println("对象:"+Arrays.toString(obj));

boolean[] results=new boolean[10];

System.out.println("布尔值:"+Arrays.toString(results));

char[] chrs=new char[10];

System.out.println("字符:"+Arrays.toString(chrs));

System.out.println((int)chrs[0]);//字符对应的整数

}

}

试一试:

1.从控制台中输入5个人的年龄,存入数组中,求出最小的年龄

2.将一组乱序的字符排序后,进行升序和逆序输出

搜索关注公众号「享智同行」,第一时间获取技术干货,关注后回复010 获取本次练习答案!

java一系列数组的表示方法_Java入门系列-10-数组相关推荐

  1. java中容易混淆的方法_java中容易混淆的概念

    java中容易混淆的概念 1. 谈谈 final, finally, finalize 的区别final-修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被 ...

  2. java私有属性和私有方法_Java私有,受保护,公共和默认

    java私有属性和私有方法 您是Java程序员,所以您知道我在说什么. public修饰符使方法或字段可从应用程序中的任何位置访问. 那是简单的部分. 但是,您能告诉我protected和包私有的区别 ...

  3. java输出数组中的元素_java一行代码输出数组的所有元素内容

    如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...

  4. java如何用c 的方法_JAVA如何调用C/C++方法

    JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...

  5. java 创建文件夹的方法_Java创建文件夹的方法

    Java创建文件夹的方法 /** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File ...

  6. java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法

    java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...

  7. java私有属性和私有方法_Java 9中什么是私有的?

    java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...

  8. java中容易混淆的方法_java中容易混淆的区别

    本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...

  9. java调用接口实现的方法_java调用接口的实现方法

    java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...

最新文章

  1. python代码壁纸-一个爬取壁纸的python代码
  2. CSS设置图片的对齐
  3. value toDF is not a member of org.apache.spark.rdd.RDD[People]
  4. Windows Server 2012 R2 里面如何安装Net Framework 3.5
  5. POJ 1014 Dividing
  6. 电影票房预测问题:如何使用Python生成词云
  7. 2021-09-03Dien
  8. Activiti工作流引擎启动提示表不存在解决方案
  9. 2022国二计算机office 考试考试秘籍总结大全
  10. ae合成设置快捷键_AE超实用快捷键你了解多少?
  11. 惠普136w耗材贵吗_不妨试一试:惠普打印机136w与m30w哪个好?有没有区别?到底坑不坑?...
  12. 未储存的Pages文件怎么恢复
  13. 互联网创业公司如何防御DDoS攻击?
  14. python3 + Scrapy爬虫学习之创建项目
  15. linux的jq命令
  16. 【查找算法】折半查找法
  17. 长线、短线在现货黄金中是什么意思的专业术语
  18. 追光者计算机 音乐,追光者歌曲
  19. python 语音识别 离线_语音识别离线语音识别,SpeechRecognition
  20. hgu95av2.在线安装失败

热门文章

  1. 面试必会系列 - 1.5 Java 锁机制
  2. C++ 循环链表练习题 报数删除【非常没有条理】
  3. java安全编码指南之:Number操作
  4. java中的Volatile关键字使用
  5. Leet Code OJ 20. Valid Parentheses [Difficulty: Easy]
  6. 使用matplotlib做动态排名图
  7. 并行数据库 分布式数据库
  8. 博主新书:《大数据日知录:架构与算法》目录
  9. postman根据请求内容生成对应的代码(Java、Go、C语言等)
  10. 数据库原理与应用(SQL Server)笔记 第五章 索引和视图