一、什么是数组

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组。同一数组中的变量数据类型相同

二、数组的优点

不使用数组定义100个整型变量:int i1;int i2;…int i100
使用数组定义:int i[100]
同一类型的多个变量可以使用数组来完成

三、数组声明

一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的。
要使用Java的数组,必须经过两个步骤:(1)声明数组、(2)分配内存给该数组。这两个步骤的语法如下:
声明形式一:
声明一维数组:数据类型 数组名[];
int  num [];   
分配内存给数组:数组名 =  new 数据类型[长度] ;
int  num [] = new int[10];
声明形式二:
声明一维数组:数据类型[] 数组名;   
int [] num;
int [] num = new int [10];
数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型、浮点型与字符型等。
“数组名”是用来统一这组相同数据类型的元素的名称,其命名规则和变量的相同,建议使用有意义的名称为数组命名
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中“长度”是告诉编译器,所声明的数组要存放多少个元素,
而“new”则是命令编译器根据括号里的长度开辟空间。

四、声明数组,并赋值

package com.pb.demo1;

import java.util.Scanner;

public class demo4 {

    public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//声明字符串数组
String [] cities=new String [5];
//赋值
System.out.println("请输入5个城市的名字:");
for (int i = 0; i < cities.length; i++) {
cities[i]=input.next();
} //输出
System.out.println("输入的城市名称是:");
for (String city : cities) {
System.out.println(city);
} } }

五、比较大小和排序

package com.pb.demo1;

import java.util.Scanner;

/*
* 输入5个学生的成绩,并求出最高分,最低分,平均分
*/
public class Demo5 { public static void main(String[] args) {
//声明一个扫描器类似的变量
Scanner input = new Scanner(System.in);
//声明整形数组
int [] scores=new int [5];
System.out.println("请输入5个学生的成绩:成绩为整数");
//为数组赋值
for (int i = 0; i < scores.length; i++) {
scores[i]=input.nextInt();
}
//总成绩
float sum=0;
//最低分
int min=0;
//最高分
int max=0;
//平均分
float avg=0;
//将第一个值赋为min和max,进行比较
min=scores[0];
max=scores[0];
for (int i = 0; i < scores.length; i++) {
//总成绩
sum=sum+scores[i];
//最低分
if(scores[i] < min){
min=scores[i];
}
//最高分
if(scores[i]>max){
max=scores[i];
} }
System.out.println("总成绩:"+sum);
System.out.println("最低分:"+min);
System.out.println("最高低:"+max);
System.out.println("平均分:"+sum/scores.length); } }
 
 
 
 
 
 

Java从零开始学九(数组)的更多相关文章

  1. Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

    一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中 ...

  2. Java从零开始学十九(异常)

    一.什么是异常 从字面上讲,就是不正常的现实就是异常. 程序中的异常也是要在程序运行中才会偶尔发生.如果程序还没有运行,编译就报错,这种不叫异常,这种叫编译错误,通常是语法上的错误 二.java中异常 ...

  3. Java从零开始学十(Arrays类对数组的常用方法)

    一.Arrays类常用方法 二.简单例子 package com.pb.demo1; import java.util.Arrays; /* * Arrays工具类的中的几个常用方法 * 1.copy ...

  4. Java从零开始学三十九(对象序列化)

    一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储.   序列化保存对象的“全景图”,构建对象的“ ...

  5. Java从零开始学四十一(反射简述二)

    一.实例化Class类对象 实例化Class类对象的方法有三种: 第一种:通过forName()方法 第二种:类.class 第三种:对象.getClass() 二.Class类的常用方法 No. 方 ...

  6. Java从零开始学三十三四(JAVA IO-流简述)

    一.流概念(stream) File类并不能对文件内容进行读写. 读文件就是指:把文件的内中的数据读取到内存中来 写文件就是指:把内存中的数据写入到文件中去. 通过什么读写文件呢?文件流. 1.1.流 ...

  7. Java从零开始学四十七(注解简述)

    一.Java中注解Annotation 什么是注解:用来描述数据的数据(元数据). Java代码里的特殊标记.它为代码中添加用Java程序无法表达的额外信息提供一种形式化的方法,使用我们可以在未来的某 ...

  8. Java从零开始学四十五(Socket编程基础)

    一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  9. Java从零开始学四十(反射简述一)

    一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反 ...

随机推荐

  1. 华为S5300系列升级固件S5300SI-V100R005C01SPC100.cc

    这个固件附带了web,注意,这个插件是升级V200的必经固件,所以必须升级为此固件之后才能往下升级. 升级小插曲: 1.升级的使用使用Windows,不要用Mac或者Linux,因为从Mac/Linu ...

  2. PPT文化

    PPT文化,yes or no? 知识是有体系的,有的时候刚接触的时候可以 推导技术 ,汇报.吹牛都可以应用上,并且可以让别人想想. 但是实际应用技术,就需要涉及很多详细的技术细节,如果少掉一个看似极 ...

  3. wamp经典安装

    1,根据综述 本机 注意,现在apache2.2不能和5.5php, 2.4apache和5.5php就可以   window10    64位  vc14 apache  2.4.23  注意,虚拟 ...

  4. mysql 源代码讲解

    http://www.zhdba.com/mysqlops/category/mysql-source-code/

  5. postgresql的ALTER经常使用操作

    postgresql版本号:psql (9.3.4) 1.添加一列ALTER TABLE table_name ADD column_name datatype; 2.删除一列 ALTER TABLE ...

  6. MVC三级联动无刷新

    本篇实现有关客户.订单和产品的无刷新三级联动,先看最终效果: 没有选择时,后2个Select状态为禁用: 当选择第1个Select,第2个Select可供选择,第3个Select依旧禁用: 当选择第2 ...

  7. ool _WebTryThreadLock(bool),

    一般的问题是这样的 “bool _WebTryThreadLock(bool), 0xxxxxx: Tried to obtain the web lock from a thread other t ...

  8. 将 MRC 项目转换为 ARC 项目

    其实很简单,直接使用系统工具转换即可,以下是步骤: 1. 你之前的项目是MRC的 2. 里面有 release, dealloc 等. 3. 开始转化 4. 点击save转化完后,记得把工程重新设置成 ...

  9. jaxb使用

    一.前言 JAXB——Java Architecture for XML Binding,是一项可以根据XML Schema产生Java类的技术.JAXB提供将XML实例文档反向生成Java对象树的方 ...

  10. TextView设置最多显示指定个字符,超过部分显示...(省略号)

    今天在公司遇到一个需求:TextView设置最多显示8个字符,超过部分显示...(省略号),网上找了很多资料,有人说分别设置TextView的android:signature="true& ...