how2j.cn

数组是一个固定长度的,包含了相同类型数据的 容器

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



8分35秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 声明数组   
步骤 2 : 创建数组   
步骤 3 : 访问数组   
步骤 4 : 数组长度   
步骤 5 : 练习-数组最小值   
步骤 6 : 答案-数组最小值   

步骤 1 :

声明数组

int[] a; 声明了一个数组变量。
[]表示该变量是一个数组
int 表示数组里的每一个元素都是一个整数
a 是变量名
但是,仅仅是这一句声明,不会创建数组

有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题
public class HelloWorld { public static void main(String[] args) { // 声明一个数组 int[] a; } }
public class HelloWorld {
	public static void main(String[] args) {
		// 声明一个数组
		int[] a;
	}
}
步骤 2 :

创建数组

创建数组的时候,要指明数组的长度。
new int[5]
引用概念:
如果变量代表一个数组,比如a,我们把a叫做引用
与基本类型不同
int c = 5; 这叫给c赋值为5
声明一个引用 int[] a;
a = new int[5];
让a这个引用,指向数组
创建数组
public class HelloWorld { public static void main(String[] args) { //声明一个引用 int[] a; //创建一个长度是5的数组,并且使用引用a指向该数组 a = new int[5]; int[] b = new int[5]; //声明的同时,指向一个数组 } }
public class HelloWorld {
	public static void main(String[] args) {
		//声明一个引用
		int[] a; 
		//创建一个长度是5的数组,并且使用引用a指向该数组
		a = new int[5];
		
		int[] b = new int[5]; //声明的同时,指向一个数组
		
	}
}
步骤 3 :

访问数组

数组下标基0
下标0,代表数组里的第一个数
访问数组
public class HelloWorld { public static void main(String[] args) { int[] a; a = new int[5]; a[0]= 1; //下标0,代表数组里的第一个数 a[1]= 2; a[2]= 3; a[3]= 4; a[4]= 5; } }
public class HelloWorld {
	public static void main(String[] args) {
		int[] a; 
		a = new int[5];
		
		a[0]= 1;  //下标0,代表数组里的第一个数
		a[1]= 2;
		a[2]= 3;
		a[3]= 4;
		a[4]= 5;
	}
}
步骤 4 :

数组长度

.length属性用于访问一个数组的长度
数组访问下标范围是0到长度-1
一旦超过这个范围,就会产生数组下标越界异常
数组长度
public class HelloWorld { public static void main(String[] args) { int[] a; a = new int[5]; System.out.println(a.length); //打印数组的长度 a[4]=100; //下标4,实质上是“第5个”,既最后一个 a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常 } }
public class HelloWorld {
	public static void main(String[] args) {
		int[] a; 
		a = new int[5];
		
		System.out.println(a.length); //打印数组的长度
		
		a[4]=100; //下标4,实质上是“第5个”,既最后一个 
		a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常
		
	}
}
步骤 5 :

练习-数组最小值

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
首先创建一个长度是5的数组
然后给数组的每一位赋予随机整数
通过for循环,遍历数组,找出最小的一个值出来

0-100的 随机整数的获取办法有多种,下面是参考办法之一:

(int) (Math.random() * 100)

Math.random() 会得到一个0-1之间的随机浮点数,然后乘以100,并强转为整型即可。
public class HelloWorld { public static void main(String[] args) { int[] a = new int[5]; 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 void main(String[] args) {
		int[] a = new int[5];
		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("本练习的目的是,找出最小的一个值: ");
	}
}
步骤 6 :

答案-数组最小值

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

3分49秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


答案-数组最小值
public class HelloWorld { public static void main(String[] args) { int[] a = new int[5]; 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 = 1000; for (int i = 0; i < a.length; i++) { if( a[i] < min ) min = a[i]; } System.out.println("找出来的最小数值是:" +min); } }



问答区域    
2017-12-08 我这么写的,帮我找茬!!!
加油



我这么写的,帮我找茬!!!
class A
{
	public static void main(String[] args){
	int[] a = new int[5];
        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("数组中的各个随机数是:");
		int b = 0;
        for (int i = 0; i < a.length; i++){ 
            System.out.println(a[i]);
			if (a[i] >= b && b != 0)
			{
				b = b;
			}else{
				b = a[i];
			}
		}
         
        System.out.println("本练习的目的是,找出最小的一个值: " + b);
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-12-06 (int)Math.random()*100为什么等于0
天刚刚破晓丶
(int)Math.random()*100为什么等于0




1 个答案

xiaoqiang 答案时间:2017-12-06
类型强转的优先级高于运算符




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-11-30 这个应该是对的
2017-11-29 想找出最大最小在第幾個
2017-11-29 详细解答
2017-11-28 代码一模一样 为啥得不出最小的数 ?
2017-11-26 关于写程序的思路问题
2017-11-26 关于写程序的思路问题
2017-11-24 老师答案的通俗理解
2017-11-10 学的是是而非,就带回来看基础,这个是看,感觉就是不一样,第一遍看的几乎没理解,只知道用;第二遍看的话,可以理解记忆一部分了
2017-11-07 可以参考一下
2017-11-03 排序法
2017-11-03 random包不导也行吗?
2017-11-03 比较简洁有没有?
2017-11-02 得出的结果没问题,但是为什么会跳出这个东西?
2017-10-26 这样写不知道有没有问题啊
2017-10-22 关于min的选值
2017-10-21 老师这样做和您那样做有什么不同
2017-10-20 排序求最小值
2017-10-19 是不是有点小BUG?
2017-10-14 看了答案才把这个最小值求出来。。。
2017-10-03 个人代码
2017-09-27 想了好久才想到.....哭!!!
2017-09-22 是这样么?运行的是没有问题的
2017-09-15 改了改例子的代码。。。
2017-09-14 答案
2017-09-12 再加一个for循环
2017-07-28 dd
2017-07-20 没问题想交流一下。
2017-07-19 数组内最小值总是打印为 0。
2017-07-10 为什么会报错?找了很久没找到原因
2017-05-31 答案仅供参考
2017-05-08 老师您看一下我这个为什么不执行最后的那一句 System.out.println(j)
2017-04-08 为什么答案里面要定义min=1000?
2017-02-24 为什么题目for循环不添加 {}
2017-02-10 答案
2017-02-10 提问测试
2017-01-21 这是我的实现方法,请老师斧正
2016-12-13 为什么不能都写在一个循环里
2016-12-10 没有积分了,老师看看有问题吗
2016-12-10 做出来了~
2016-11-23 这样可以吗
2016-11-23 System.out.println();这句话起什么作用
2016-11-17 应该没问题吧?




提问之前请登陆
关于 JAVA 基础-数组-创建数组 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 661682521
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图