java基础----数组

1数组

数组是什么?内存中一块连续的空间,数量是固定的,存储相同的数据类型

特点:

​ 长度:数组中最多可以存储几个数据。

​ 数组名:快速找到数组中存储的数据

​ 元素:数组名 [下标] 数组中存的数据

​ 数组的数据类型:数组中存储数据的数据类型

​ 下标、索引 范围[0,长度-1],可能引发数字下标越界异常

2.2数组的使用

声明数组-----告诉内存数据类型

数据类型[ ] 数组名;

int[] nums;

开空间----申请几个连续的空间

nums=new int[7];

边声明,边开空间

char[ ] a=new char[2];

长度:

int len=nums.length;

获取元素:数据名[下标]

系统会给数组分配默认值,int---0,double---0.0 boolean----false String----null

null 引用类型特殊值

int num=nums[0];

存储数据---赋值

nums[0]=123;

简便赋值的方法:

int[ ] num={1,2,3,4,5}

char[ ] cs;

cs=new char[ ]{'1','b'};

float[ ] fs=new float[ ] {1.3f,2.5f};\

通过键盘的输入赋值

for (int i = 0; i <=num,length; i++) {}

遍历

for (int i = 0; i <=num,length; i++) {

​ System.out.print(num[i]);

}

增强 for foreach 不能去修改内部数据

for (int n: nums){ nums的值赋给n

System.out.print(n);

}

数组的使用场景:多个相同数据类型的数据存储,更方便的操作(查找,排序,最值等)

数组的应用:

2.2.1查找

2.2.2最值

课后练习:

一、一组成绩67,90,-20,105,88,92,请将负分改为0,超过100的置为100,然后输出


public class Test810 {
	public static void main(String[] args) {
		int[] num = new int[] { 67, 90, -20, 105, 88, 92 };
		int num1 = 0;
		int num2 = 100;

		for (int i = 0; i < num.length; i++) {
			if (num[i] < 0) {
				num[i] = num1;
			}
			if (num[i] > 100) {
				num[i] = num2;
			}
			System.out.print(num[i] + " ");
		}
	}
}

二、有一个数列:8,4,2,1,23,344,12

1.循环输出数列的值

2.逆序(与原数列顺序相反)输出数列的值

3.求数列中所有数值的和

4.猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

import java.util.Scanner;

public class Test809 {
	public static void main(String[] args) {
		int[] num = new int[] { 8, 4, 2, 1, 23, 344, 12 };
		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i] + " ");
		}
		System.out.println();

		for (int i = 6; i >= 0; i--) {
			System.out.print(num[i] + " ");
		}
		System.out.println();

		int he = 0;
		for (int i = 0; i < num.length; i++) {
			he += num[i];
		}
		System.out.print("所有数值的和为:" + he);
		System.out.println();

		Scanner sc = new Scanner(System.in);
		boolean f = false;// false不包含
		System.out.print("请入数字:");
		int n = sc.nextInt();
		for (int i = 0; i < num.length; i++) {
			if (num[i] == n) {
				f = true;
				break;
			}
		}
		if (f) {
			System.out.print("包含");
		} else {
			System.out.print("不包含");
		}
	}
}

三、循环输入近6年某高校的录取分数,求出平均分和最低分

import java.util.Scanner;

public class Test808 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int[] lq = new int[6];// lq=录取分数
		int he = 0;// he=分数总和
		int num;
		System.out.println("请输近六年的录取分数:");
		for (int i = 0; i < lq.length; i++) {
			num = sc.nextInt();
			lq[i] = num;
			he+=lq[i];
		}
		int min=lq[0];
		for (int i = 0; i < lq.length; i++) {			
			if(min>lq[i]) {
				min=lq[i];
			}
		}
		 double ping = he / 6.0;
		System.out.println("录取平均分数为:"+ping+"最低分为"+min);
	}
}

四、判断数组是否相同

对于两个整数数组,如果长度相同,且每个元素也都相同,我们就认为这两个数组相同。

public class Test9 {
	public static void main(String[] args) {
		int[] num1 = { 1, 2, 3, 4, 5, 6, 7 };
		int l1 = num1.length;
		int[] num2 = { 1, 2, 3, 4, 5, 6, 7 };
		int l2 = num2.length;
		int count = 0;
		if (l1 == l2) {
			for (int i = 0, j = 0; i < num1.length; i++, j++) {
				if (num1[i] == num2[j]) {
					count++;
				}
			}
			if (count == num1.length) {
				System.out.println("相同");
			} else {
				System.out.println("不相同");
			}
		} else {
			System.out.println("不相同");
		}

	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值