保姆级教学数组

数组

1.数组的由来

例题:录入三十个学生的成绩

如果设置30个变量,则成本十分高,而且维护比较麻烦

这时采用数组就不需要那么多的变量

2.数组的使用

public class Main {
    public static void main(String[] args) {//String[] args 是声明了一个字符型数组
        //声明一个数组 如果要存储整数,则为整型
        int[] arr;//声明
        arr=new int[5];//赋值,给数组里面五个成员,都分别给个成绩
        //给arr[0] arr[1] arr[2] arr[3] arr[4]分别赋值
        arr[0]=60;arr[1]=90;arr[2]=34;arr[3]=89;arr[4]=89;
    }
}

3.数组的内存图

4.变量声明和arrgs参数声明

1.第一种int[ ] arr或者int arr[ ]都可以

public static void main(String[] args) {//String[] args传递存储字符串的参数

5.声明分配空间赋值的省略写法

public class Main {
    public static void main(String[] args) {
        //声明一个数组 如果要存储整数,则为整型
        int[] arr;//声明
        arr=new int[]{81,23,34,44};//与c语言不同,因为后面已经赋值,前面[]里面不可写数字,而c语言可以
        int[] arr2=new int[]{81,23,34,44};
        int[] arr3={81,23,34,44}//如果声明,分配空间 赋值 是在一行,可以省略new int[]
    }
}

6.数组的length属性

public class Main {
    public static void main(String[] args) {
        //java数组,天然有个只读属性,叫length
        //对比c语言,C语言必须要知道数组确定数组的长度,而java不需要
        int[] arr={81,23,34,44};
        System.out.println(arr.length);//注意arr.length与arr,length()区别,跟了()叫方法,不跟是属性
        System.out.println("数组里面的信息:");
        for (int i = 0; i < arr.length; i++) {//直接arr.for就可以直接跳出来
            System.out.println(arr[i]);
        }
    }
}

例题:数列输出求和判断

要求:有一个数列:8,4,2,1,23,344,12

循环输出数列的值

求数列中所有值的和

猜数游戏:从键盘上任意输入一个数,判断数列中是否包含这个数

知识点:三元操作符
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int[] arr={8,4,2,1,23,344,12};
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
            sum+=arr[i];
        }
        System.out.println("总和为:"+sum);
        System.out.println("请输入一个数");
        int num= scanner.nextInt();
        boolean bfound=false;
        for (int i = 0; i < arr.length; i++) {
            if(num==arr[i]){
                bfound=true;
                break;
            }
        }
        System.out.println(bfound?"找到":"没找到");//bfound?相当于是问一下是真还是假,如果是真则为前面,否则为后面
        //唯一的三元操作符
    }
}

例题2.购物金额结算

import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        double[] arr;
        arr=new double[5];
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第"+(i+1)+"笔的金额:");
            arr[i]=scanner.nextDouble();
        }
        System.out.println("序号\t金额");
        double sum=0.0;
        for (int i = 0; i < arr.length; i++) {
            System.out.println((i+1)+"\t"+arr[i]);
            sum+=arr[i];
        }
        System.out.println("总金额:"+sum);
    }
}

7.Arrays的sort和toString方法

8.字符数组顺序和逆序输出

import java.sql.SQLOutput;
import java.util.Arrays;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        char[] arr={'a','c','u','b','e','p','f','z'};
        Arrays.sort(arr);//只能升序排序
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
        System.out.println();
        /*
        逆序输出
         */
        for (int i = arr.length-1; i >=0; i--) {
            System.out.print(arr[i]);
        }
        }
    }

Aways.sort(arr)只能升序排序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值