数组存储的默认值不是0.0,一直是32.0

问题遇到的现象和发生背景

请教下,我遇到一个问题,在main方法中data数组存储的默认值不是0是为什么呢,一直是32.0,但是我在debug时显示是正常,一在terminal运行就不对劲了,可见下图

img

img

问题相关代码
import java.util.InputMismatchException;
import java.util.Scanner;

public class DataManage {
    /**
     * 提示信息
     */
    public void notice() {
        System.out.println("********************************************");
        System.out.println("                1--插入数据");
        System.out.println("                2--显示所有数据");
        System.out.println("                3--在指定位置处插入数据");
        System.out.println("                4--查询能被3整除的数据");
        System.out.println("                0--退出");
        System.out.println("********************************************");
    }

    /**
     * 显示所有数据
     */
    public void showData(int[] data) {
        for (int datum : data) {
            System.out.println(datum + ' ');
        }
    }

    public int[] insertData(int[] data, int arrLen) {
        data = new int[10];
        Scanner sc = new Scanner(System.in);
        int input = 0;
        while (arrLen < 9) {
            System.out.println("请输入第" + (arrLen+1) + "个数据:");
            input = sc.nextInt();
            System.out.println(input);
            data[arrLen] = input;
            arrLen++;
        }
        /*for (int datum : data) {
            System.out.println(datum + ' ');
        }*/
        return data;
    }

    public static void main(String[] args) {
        int[] dataArr = {0,0};
        float[] data = new float[10];
        for (float datum : data) {
            System.out.println(datum + ' ');
        }
        Scanner sc = new Scanner(System.in);
        DataManage dm = new DataManage();
        dm.notice();
        int input = 0;
        int arrLen = 0;
        while (true) {
            System.out.println("请输入对应的数字进行操作:");
            try{
                input = sc.nextInt();
            }catch(InputMismatchException e){
                System.out.println("输入的数据格式有误,不能有非数字!");
                sc.next();
                continue;
            }
            switch (input) {
                //插入数据
                case 1:
                    dataArr = dm.insertData(dataArr, arrLen);
                    dm.showData(dataArr);
                    break;
                case 2:
                    if (dataArr != null) {
                        dm.showData(dataArr);
                    } else {
                        System.out.println("还未在数组中插入数据,请重新选择操作!");
                    }
                    break;
            }
        }
    }
}


这里的问题System.out.println(datum + ' ');,在这里char类型数据强转为了int型,因为在ASCII表中空格对应的十进制数为32,所以你这里输出的值就是0+32,也就是32

首先 ‘ ’ = 32 ;
0+32 不就是等于 32吗;
float的就是32.0