栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础day04

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础day04

day 04 今日词汇

default 预设
Match 数学工具类
enum 枚举
Arrays.toString().sout toString方法,输出
Math.round(x *100)*1.0/100 保留两位小数
10.for i; 建立一个10次的for循环
数组名,for i; 遍历数组
Array.equals(array1,array2) 比较两个数组

数组的定义

数组定义格式
数据类型 [ ] 变量名;
int [ ] arr; 定义了一个数组,只能存放int类型相匹配的数据

数组的静态初始化
   public class Demo04数组的静态初始化 {
    public static void main(String[] args) {
        int [] brr = {1,2,3,4,5,6,7,8,9};
        int a = brr[0];
        System.out.println(a);
        System.out.println("----------");
        for (int i = 0; i < 9; i++) {
            System.out.println(brr[i]);
        }
        System.out.println("---------------");
        int [] crr = {1,2,3,4,5,6,7,8,9,0};
        
        int l = crr.length;
        System.out.println(l);
        int length = brr.length;
        System.out.println(length);
        //取出数组中所有元素 打印到控制台
        for (int i = 0; i < crr.length; i++) {
            System.out.println(crr[i]);
        }
    }
}
数组的动态初始化

数组的动态初始化:
数据类型 [ ] 数组名 = new 数据类型 [ 长度 ];

public class Demo02数组的动态初始化 {
    public static void main(String[] args) {
        //定义一个长度为3的int类型的数据
        int [] arr = new int[3];
        //定义一个长度为5的float类型的数组
        float [] brr = new float[5];
    }
}
动态初始化数组的基本操作(取值 赋值)
public class Demo03动态初始化数组的基本操作 {
    public static void main(String[] args) {
        //动态初始化一个长度为5的int类型的数组
        int [] arr = new int[5];//数组的长度为5 只能存放int类型相匹配数据,他的索引是0 1 2 3 4
        //取值:格式:数组的数据类型 变量名 = 数组名[索引];
        int a = arr[0];//取出0索引对应的数值 存放到变量a中
        //打印a
        System.out.println(a);
        int b= arr[1];
        System.out.println(b);
        int c= arr[2];
        System.out.println(c);
        int d= arr[3];
        System.out.println(d);
        int e= arr[4];
        System.out.println(e);
        System.out.println("--------");
        for (int i = 0; i < 5; i++) {
            
           int f =  arr[i];
            System.out.println(f);
        }
        System.out.println("------------------");
        //赋值:格式:arr[索引] = 值;
        arr[0] = 10;
        arr[1] = 20;
        arr[2] = 30;
        arr[3] = 40;
        arr[4] = 50;
        for (int i = 0; i < 5; i++) {
            int x = arr[i];
            System.out.println(x);
        }
    }
}
动态初始化数组的默认值

byte short int long 数组 默认值是 0
float double 数组 默认值是 0.0
boolean 数组 默认值是 false
char 数组 默认值是’u0000’

public class Demo05动态初始化数组有默认值 {
    public static void main(String[] args) {
        //int 数组 默认值是0
        int[] arr = new int[3];
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("-----------");
        //byte 数组 默认值是0
        byte [] brr = new byte[3];
        for (int i = 0; i < brr.length; i++) {
            System.out.println(brr[i]);
        }
        System.out.println("-----------");
        short [] crr = new short[3];
        for (int i = 0; i < crr.length; i++) {
            System.out.println(crr[i]);
        }
        System.out.println("------------");
        long [] drr = new long[3];
        for (int i = 0; i < drr.length; i++) {
            System.out.println(drr[i]);
        }
        System.out.println("------------");
        float[] err = new float[3];
        for (int i = 0; i < err.length; i++) {
            System.out.println(err[i]);
        }
        System.out.println("------------");
        double[] frr = new double[3];
        for (int i = 0; i < frr.length; i++) {
            System.out.println(frr[i]);
        }
        System.out.println("------------");
        boolean [] grr  = new boolean[3];
        for (int i = 0; i < grr.length; i++) {
            System.out.println(grr[i]);
        }
        System.out.println("---------");
        char[] hrr = new char[3];
        for (int i = 0; i < hrr.length; i++) {
            System.out.println(hrr[i]);
        }
        System.out.println("---------");
        //数组 类 接口
        String [] irr = new String[3];
        for (int i = 0; i < irr.length; i++) {
            System.out.println(irr[i]);
        }
    }
}
遍历数组
public class Demo06练习 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        //使用循环最方便 选择for循环
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
求数组最大值
public class Demo07求数组的最大值 {
    public static void main(String[] args) {
        int [] arr = {5,44,33,55,22};
        //定义最大值
        int max = arr[0];
        //使用循环遍历数组
        for (int i = 0; i < arr.length; i++) {
            //和最大值比较
            if (arr[i]>max){
                //更新最大值
                max = arr[i];
            }
        }
        System.out.println("数组中元素的最大值是:"+max);
    }
}
求数组最小值
public class Demo08求数组的最小值 {
    public static void main(String[] args) {
        int [] arr = {5,44,33,55,22};
        //1.定义最小值
        int min = arr[0];
        //2.使用for循环遍历数组
        for (int i = 0; i < arr.length; i++) {
            //3.比较
            if (arr[i] 
求数组元素和/平均值 
public class Demo09求数组元素和求平均值 {
    public static void main(String[] args) {
        int[] arr = {5, 44, 33, 55, 22};
        //1.定义求和变量 存储最终和
        int sum = 0;
        //2.使用循环遍历数组,获取数组中的元素,和求和变量累加
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        //3.打印最终和
        System.out.println("数组中所有元素的和:"+sum);

        //4.求平均值
        double avg = sum*1.0/arr.length;
        System.out.println("数组中元素的平局值:"+avg);
    }
}
冒泡排序
public class Demo10冒泡排序 {
    public static void main(String[] args) {
        int[] arr = {5, 4, 3, 2, 1};
       

        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length-1; j++) {
                if (arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        //打印数组的元素
        System.out.println(Arrays.toString(arr));
    }
}
练习题 数组查找
public class Demo11数组查找 {
    public static void main(String[] args) {
        int []arr = {19, 28, 37, 46, 50};
        //1.键盘录入
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num = scanner.nextInt();
        //2.查找键盘录入的数据在数组中的索引 如果不存输出-1
        //定义一个变量用来存存数组的索引
        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            if (num == arr[i]){
                index = i;
            }
        }
        System.out.println(num+"在数组中索引"+index);
    }
}
练习题 评委打分
import java.util.Arrays;
import java.util.Scanner;


public class Demo12评委打分 {
    public static void main(String[] args) {
        //定义数组
        int [] arr = new int[6];
        //键盘录入6个成绩
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请第"+(i+1)+"个评委打分:");
            int score = scanner.nextInt();
            if (score>=0&&score<=100){
                arr[i] = score;
            }else {
                System.out.println("您的打分不和法!");
                i--;
            }
        }
        System.out.println(Arrays.toString(arr));
        // 3.求最大值最小值
        int max = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]>max){
                max = arr[i];
            }
        }
        System.out.println("max = "+max);
        int min = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] 
数组的内存分配 

栈内存
方法运行时,进入的内存
堆内存
new出来的内容都会进入堆内存,并且会存在地址值
方法区
字节码文件(.class文件)加载时进入的内存
本地方法栈:
调用操作系统相关资源
寄存器
交给CPU去使用两个数组指向各自对内存,无论谁修改自己堆内存中的数据,最后取值的时候,取得是修改后的最新值多个数组指向同一片堆内存,无论谁修改堆内存中的值,再去取值的时候取得是修改后的最新值 数组在操作中出现的问题

public class Demo04数组在操作中出现问题 {
    public static void main(String[] args) {
        //1.访问了数组不存在索引 .ArrayIndexOutOfBoundsException 数组索引越界异常
        int [] arr = new int[3];
        //System.out.println(arr[3]);//.ArrayIndexOutOfBoundsException
        //2.空指针异常 NullPointerException
        System.out.println(arr);
        arr = null;
        System.out.println(arr[0]);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756732.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号