Java知识系统回顾整理01基础06数组01创建数组
一、数组定义
定义:数组是一个固定长度的,包含了相同类型数据的 容器
二、声明数组
int[] a; 声明了一个数组变量。
[]表示该变量是一个数组
int 表示数组里的每一个元素都是一个整数
a 是变量名
但是,仅仅是这一句声明,不会创建数组
有时候也会写成int a[]; 声明的过程这种写法没有什么区别,不过考虑规范和性能,有一些区别,建议采用第一种写法。(记得以前看过的《疯狂Java讲义》和菜鸟教程的Java部分里有提到,两种写法会造成一些规范或者性能上的区别的)
|
public class HelloWorld { public static // 声明一个数组 int[] a; } } |
三、创建数组
创建数组的时候,要指明数组的长度。
new int[5]
引用概念:
如果变量代表一个数组,比如a,我们把a叫做引用
与基本类型不同
int c = 5; 这叫给c赋值为5
声明一个引用 int[] a;
a = new int[5];
让a这个引用,指向数组

|
public class HelloWorld { public static //声明一个引用 int[] a; //创建一个长度是5的数组,并且使用引用a指向该数组 a = new int[] b = new } } |
四、访问数组
数组下标基0
下标0,代表数组里的第一个数

|
public class HelloWorld { public static int[] a; a = new a[0]= 1; //下标0,代表数组里的第一个数 a[1]= 2; a[2]= 3; a[3]= 4; a[4]= 5; } } |
五、数组长度
.length属性用于访问一个数组的长度
数组访问下标范围是0到长度-1
一旦超过这个范围,就会产生数组下标越界异常

|
public class HelloWorld { public static int[] a; a = new System.out.println(a.length); //打印数组的长度 a[4]=100; //下标4,实质上是"第5个",即最后一个 a[5]=101; //下标5,实质上是"第6个",超出范围 ,产生数组下标越界异常 } } |
六、练习--数组最小值
题目:
首先创建一个长度是5的数组
然后给数组的每一位赋予随机整数
通过for循环,遍历数组,找出最小的一个值出来
0-100的 随机整数的获取办法有多种,下面是参考办法之一:
|
(int) (Math.random() * 100) |
注:上面一行代码中,Math.random() 会得到一个0-1之间的随机浮点数,然后乘以100,并强转为整型即可。
|
public class HelloWorld { public static int[] a = new a[0] = (int) (Math.random() * 100); a[1] = (int) (Math.random() * 100); a[2] = (int) (Math.random() * 100); a[3] = (int) (Math.random() * 100); a[4] = (int) (Math.random() * 100); System.out.println("数组中的各个随机数是:"); for (int i = 0; i < a.length; i++) System.out.println(a[i]); System.out.println("本练习的目的是,找出最小的一个值: "); } } |
官方答案:

|
public class HelloWorld { public static int[] a = new a[0] = (int) (Math.random() * 100); a[1] = (int) (Math.random() * 100); a[2] = (int) (Math.random() * 100); a[3] = (int) (Math.random() * 100); a[4] = (int) (Math.random() * 100); System.out.println("数组中的各个随机数是:"); for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); System.out.println(); int min = 100; for (int i = 0; i < a.length; i++) { if( a[i] < min ) min = a[i]; } System.out.println("找出来的最小数值是:" +min); } } |
Java知识系统回顾整理01基础06数组01创建数组的更多相关文章
- Java知识系统回顾整理01基础06数组06二维数组
一.一维数组和二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 ...
- Java知识系统回顾整理01基础01第一个程序05Eclipse中运行Java程序
一.打开Java文件 直接打开在 命令行Hello World 中创建的java 文件 HelloWorld.java 二.运行 点击绿色运行按钮,直接运行 在eclipse中,编译过程自动执行了 三 ...
- Java知识系统回顾整理01基础04操作符06三元运算符
一.三元运算符 表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 if语句学习链接:if语句 public class HelloWorld { public static vo ...
- Java知识系统回顾整理01基础06数组07数组工具类Arrays
一.Arrays简介 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. 二.Arrays提供的数组复制方法 与使用System.arraycopy ...
- Java知识系统回顾整理01基础03变量06变量的作用域
一.变量根据所处的位置对应不同的名称 变量处于不同的位置,有不同的名称 名称分别是 字段,属性 参数 局部变量 不同名称的变量,其作用域是不一样的 二.字段,属性,Field 当一个变量被声明在类下 ...
- Java知识系统回顾整理01基础06数组03排序
一.选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个 ...
- Java知识系统回顾整理01基础06数组02初始化数组
一.分配空间与赋值分步进行 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { int[] a ...
- Java知识系统回顾整理01基础06数组05复制数组
数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 一.复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src, srcPos, dest, de ...
- Java知识系统回顾整理01基础06数组04增强型for循环
增强型for循环在遍历一个数组的时候会更加快捷 一.增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public st ...
随机推荐
- GET和POST的本质区别
前言:相信小伙伴们面试时候一定都遇到过这个问题,即使没有遇到过,至少也听说过,网上资料一大片,大概每个人都能说出来一些.但是总感觉面试装逼不成功,所以就翻阅了部分资料,进一步整理了下. 一般当我们提到 ...
- PHP check 的一些绕过技术
绕过空格 $_GET[str]=str_replace(" ","",$_GET[str]); ${IFS} 但不能写作 $IFS $IFS$ % 绕过ech ...
- MySQL索引凭什么能让查询效率提高这么多?
点赞再看,养成习惯,微信搜一搜[三太子敖丙]关注这个喜欢写情怀的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系 ...
- Activiti工作流概述
本来打算看OCR的但是我手里有的资源是讲的PY的,涉及到CNN和RNN看得有的不太明白,捂脸,所以看看工作流吧,反正也都不会,干啥啥不会 工作流的概念 工作流的概念应该都差不多了解要不也不会搜索这个标 ...
- 对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你
对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你 项目背景 我所在的组织项目数量众多,使用的语言和框架也很多,比如Java.ReactNative.C# .NET.A ...
- springboot +jsp项目打包部署到华为云服务器
注:打包之前先保证你的项目本地运行没问题. 一.打包 打包有两种方式,打成jar包和打成war包.因为springboot有内置的服务器,所以选择打成jar包,这样云服务器就不用装tomcat了. 打 ...
- 转载:使用java获取某A股当天/上一交易日的交易基本信息
整个程序是借用了新浪的对外股票接口http://hq.sinajs.cn/list=sh603696,如果把这个地址放到浏览器地址栏里,你将看到: var hq_str_sh603696=" ...
- leetcode刷题-61旋转链表
题目 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: 1->2->3->4->5->NULL, k = 2输出: 4 ...
- leetcode刷题-37解数独
题目 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次.数字 1-9 在每一列只能出现一次.数字 1-9 在每一个以粗实线分隔的 3x ...
- python sha256 键值对参数格式接口测试
# coding=utf-8 import requests import time import uuid import hashlib import hmac import random impo ...