java一系列数组的表示方法_Java入门系列-10-数组
这篇文章为你搞懂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-数组相关推荐
- java中容易混淆的方法_java中容易混淆的概念
java中容易混淆的概念 1. 谈谈 final, finally, finalize 的区别final-修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被 ...
- java私有属性和私有方法_Java私有,受保护,公共和默认
java私有属性和私有方法 您是Java程序员,所以您知道我在说什么. public修饰符使方法或字段可从应用程序中的任何位置访问. 那是简单的部分. 但是,您能告诉我protected和包私有的区别 ...
- java输出数组中的元素_java一行代码输出数组的所有元素内容
如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...
- java如何用c 的方法_JAVA如何调用C/C++方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...
- java 创建文件夹的方法_Java创建文件夹的方法
Java创建文件夹的方法 /** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File ...
- java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法
java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...
- java私有属性和私有方法_Java 9中什么是私有的?
java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...
- java中容易混淆的方法_java中容易混淆的区别
本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...
- java调用接口实现的方法_java调用接口的实现方法
java调用接口的实现方法 发布时间:2020-06-29 11:08:46 来源:亿速云 阅读:78 作者:Leah 本篇文章给大家分享的是有关java调用接口的实现方法,小编觉得挺实用的,因此分享 ...
最新文章
- python代码壁纸-一个爬取壁纸的python代码
- CSS设置图片的对齐
- value toDF is not a member of org.apache.spark.rdd.RDD[People]
- Windows Server 2012 R2 里面如何安装Net Framework 3.5
- POJ 1014 Dividing
- 电影票房预测问题:如何使用Python生成词云
- 2021-09-03Dien
- Activiti工作流引擎启动提示表不存在解决方案
- 2022国二计算机office 考试考试秘籍总结大全
- ae合成设置快捷键_AE超实用快捷键你了解多少?
- 惠普136w耗材贵吗_不妨试一试:惠普打印机136w与m30w哪个好?有没有区别?到底坑不坑?...
- 未储存的Pages文件怎么恢复
- 互联网创业公司如何防御DDoS攻击?
- python3 + Scrapy爬虫学习之创建项目
- linux的jq命令
- 【查找算法】折半查找法
- 长线、短线在现货黄金中是什么意思的专业术语
- 追光者计算机 音乐,追光者歌曲
- python 语音识别 离线_语音识别离线语音识别,SpeechRecognition
- hgu95av2.在线安装失败
热门文章
- 面试必会系列 - 1.5 Java 锁机制
- C++ 循环链表练习题 报数删除【非常没有条理】
- java安全编码指南之:Number操作
- java中的Volatile关键字使用
- Leet Code OJ 20. Valid Parentheses [Difficulty: Easy]
- 使用matplotlib做动态排名图
- 并行数据库 分布式数据库
- 博主新书:《大数据日知录:架构与算法》目录
- postman根据请求内容生成对应的代码(Java、Go、C语言等)
- 数据库原理与应用(SQL Server)笔记 第五章 索引和视图