java数组

数组:

1.学习一项技术,我们都需要思考一个问题,这个技术产生打的背景是什么

扩展:他可以解决这一个问题,还是他可以解决这一类问题?

我可以通过这一个能力解决这一类问题

能给我们解决的问题(学了之后的应用场景)

数组初识:

1.数组是什么?

变量能够用来干什么?-------->存值,参与表达式的运算

而数组可以多个基础类型,就比如变量是一个盒子,而数组是摆一排一系列的盒子

2.数组的特性:

(1)数组装的一定相同类型的数据思考(圈子不要强融,强融没有意义)

(2)数组的类型包括基本数据类型,和String

(3)数组为引用类型

3.数组的下标

4.数组的应用场景(数组能够来干什么)

比如我现在有一个班50个学生需要存储成绩

1.定义50个变量

2.使用数组

数组的定义与初始化

语法

静态初始化:

指定数组要存储的长度,系统会自动计算它的长度

数据类型 数组名 【】 = new 数据类型【】{数据1、数据2、…}

int arr [] = new int []{1,2,3,4,5}	//静态化定义一个数组,并直接把数据给数组
									//系统自动识别数据长度然后开辟内存空间

简化写法:

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

动态初始化:

数据类型 数组名 = new 数据类型 【数组长度】

int arr = new int [5]			//动态化定义一个长度为5的int型数组
double arr1 = new dpuble [5]	//动态化定义一个长度为5的double数组

区别

静态化定义数组,用在全部数据已经明确的给了出来的场景

动态化定义数组,用在数据还不确定,先开辟内存空间,之后在存储数据的场景

数组的使用

案例1:给定数组{6,3,8,4,6,7},获取数组的第3个元素

public class Test1 {
    public static void main(String[] args) {
		//1.已知数组使用静态定义
        int [] arr = {6,3,8,4,6,7};
		
        //2.输出数组中的顶3个元素,及下标2
        System.out.println(arr[2]);
    }
}

案例2:求数组{6,3,8,4,6},求数组中所有元素的和

方式一:直接输出对应位置元素

public class Test2_1{
    public static void main(String[] args){
        //1.已知数组使用静态定义
        int [] arr = {6,3,8,4,6,7};
        int sum = 0;
        sum += arr[0];
        sum += arr[1];
        sum += arr[2];
        sum += arr[3];
        sum += arr[4];
        
        System.out.println(sum);
    }
}

方式二:for循环求和

1.循环结束控制条件 i < arr.lenght (数组长度)

for循环遍历数组,如果i从等于0开始,则可以完全遍历数组

public class Test2_2{
    public static void main(String[] args){
        //1.已知数组使用静态定义
        int [] arr = {6,3,8,4,6,7};
        int sum = 0;
        for(int i = 0 ; i < arr.length ; i++){
            sum += arr[i];
        }
        System.out.println(sum);
    }
}

案例三:求数组{72,89,65,58,87,91,53,82,71,93,76,68}最大值,最小值

解题思路:

  1. 将数组的第一个元素当做最大值赋值给max变量,最小值赋值给min变量(两两比较,在赋值)
  2. for循环i=1开始遍历数组
  3. if判断,如果arr[i]>max,就把他赋值给max,如果有arr[i]<min,就把他赋值给min
public class Test3 {
    public static void main(String[] args) {
        int [] arr = {88,55,44,33,11,77,64,93,25};

        //把数组的第一个元素先假设为最大、最小元素
        int max = arr[0];
        int min = arr[0];

        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]){
                max = arr[i];
            }else if(min > arr[i]){
                min = arr[i];
            }
        }
        System.out.println("最大值是:arr["+max+"]");
        System.out.println("最小值是:arr["+min+"]");

    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值