首页 > 编程语言 >JavaSE(上)-Day6

JavaSE(上)-Day6

时间:2024-03-19 22:59:05浏览次数:32  
标签:初始化 Day6 System int 数组 println JavaSE 方法

JavaSE(上)-Day6

数组

1.数组是一种容器,可以一次存储多个相同类型的数据

数组的定义

		int[] array1;
        int array2[];

数组的初始化

		// 1.两种静态初始化 静态初始化当开始明确了数组填充的值使用
        // 1.1 完整格式
        int[] array3 = new int[]{18, 24, 32};
        // 1.2 简写格式
        double array4[] = {175.5, 173.5, 182.0};
        // 2. 一种动态初始化 动态初始化开始只可以确定长度时使用
        int[] array33 = new int[10];
        array33[0] = 1;
        // 注意:数组动态初始化,会赋予默认值
        // 基本数据类型中:整数 0 浮点数 0.0 char '\u0000' boolean false 
        // 引用数据类型: null

打印数组分析

		// 打印是数组的地址
        //[I@4eec7777、[D@3b07d329  [表示数组 I/D表示数组的类型 @后面是16进制,真正的地址

数组索引

  1. 数组索引从零开始
  2. 注意:数组索引不在范围内会报错

数组内存图

  1. 方法运行就会进入栈中执行
  2. new出现就会在堆中开辟地址 图1
  3. 多个数组可以指向同一个地址 图2
    在这里插入图片描述
    在这里插入图片描述

方法

  1. 方法是程序执行的最小单位
  2. 方法用于打包重复或者独立功能的代码
  3. 方法提高了代码的复用性和可维护性

方法的定义和调用

package com.itheima.demo;

/**
 * 方法练习
 */
public class MehthodDemo01 {
    public static void main(String[] args) {
        // 无参无返回值方法的调用
        // 看到方法调用方法,方法执行完毕返回调用处。
        playGame();

        //有参无返回值方法的调用
        // 方法调用填充的变量或字面量的数目和类型要与方法定义是参数保持一致
        // 方法调用的参数叫实参
        ChangC(15, 5);
        cicleS(2.2);

        // 有参有返回值方法的调用
        double s1 = getArea(1.2, 2.2);
        double s2 = getArea(1.5, 1.7);

        if (s1 > s2) {
            System.out.println("第一个长方形的面积大");
        } else if (s1 < s2) {
            System.out.println("第二个长方形的面积大");
        } else if (s1 == s2) {
            System.out.println("两个长方形的面积一样大");
        }
    }

    // 无参无返回值方法的定义
    public static void playGame() {
        System.out.println("1.选择角色");
        System.out.println("2.进入王者峡谷");
        System.out.println("3.对线");
        System.out.println("4.推水晶");
        System.out.println("5.打赢结束");
    }

    // 有参无返回值方法的定义
    // 方法定义的是形参
    // 计算长方形的周长
    public static void ChangC(int length, int width) {
        System.out.println(length * 2 + width * 2);
    }

    // 计算圆的面积
    public static void cicleS(double r) {
        System.out.println(r * r * Math.PI);
    }

    // 比较两个长方形的面积
    public static double getArea(double len, double width) {
        return len * width;
    }
}

方法的重载

  1. 同一个类中,有数目不同或形参类型不同的多个重名方法称之为重载,与返回值类型无关

方法的内存图

  1. 基本数据类型和引用数据类型的区别
  2. 基本数据类型的数据值是存在栈里变量定义的空间中的
  3. 引用数据类型的数据值是存在堆里开辟的空间的,开辟空间的地址存在栈里变量定义的空间中
  4. 数据类型的传值传递的就是栈里存储的数据。对应基本数据类型是真正的值,对应引用数据类型是地址。

二维数组

二维数组应用于对一组数据进行分组

二位数组的创建和初始化

  1. 静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5,6}};
int[][] arr2 = {{1,2,3},{4,5,6}};
  1. 动态初始化
int[][] arr3 = new int[2][3];
arr[0][0] = 1; 
  1. 遍历二维数组(略)
  2. 动态给二维数组赋值(略)

二维数组的内存图

  1. 栈中执行main方法
  2. 栈中创建arr变量
  3. 堆中初始化一个长度为2的二维数组 索引0和1初始为null
  4. 堆中初始化两个长度为3的一位数组 索引填充值为0,地址分别填充至二维数组
  5. 栈中arr变量保存堆中的二维数组地址
    在这里插入图片描述
    1.特殊情况1 不指定每个一位数组的长度
    在这里插入图片描述
  6. 特殊情况2

标签:初始化,Day6,System,int,数组,println,JavaSE,方法
From: https://blog.csdn.net/qq_40765784/article/details/136857648

相关文章

  • day6
     找最大值即可,碰到更大的就加一   单调栈只有大于stack[-1]的值才能进入栈  注意range(m,n)这是前闭后开的,range(0,n)就是0到n-1    ......
  • 从JavaSE到项目部署——Java基础学习第八天(Java面向对象编程初级)
    目录一、类与对象(OOP)——类        1、类与对象概述    2、对象在内存中的存在形式     3、属性/成员变量/field(字段)     4、对象创建和使用    5、对象创建过程二、方法    1、方法基本演示    2、方......
  • JavaSE的第十步 —— 方法
    一、方法方法(method):用来完成特定功能的代码片段,类似于其它语言的函数(function)。方法用于定义该类或该类的实例的行为特征和功能实现。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。通俗点说的话......
  • JavaSE的第九步 —— 循环中常用到的关键字break和continue
    一、break语句在嵌套for循环中用到break的时候代表着,跳出整个循环 例如:publicstaticvoidmain(String[]args){ inti=0; //这样看起来是判断条件一直为true,那么就会死循环下去 while(true){ System.out.println("i="+i); i++; //但是这里添加了break语句,......
  • Android 开发Day6
    <?xmlversion="1.0"encoding="UTF-8"?><projectversion="4"><componentname="GradleMigrationSettings"migrationVersion="1"/><componentname="GradleSettings">&l......
  • Linux学习-day6
    问题回顾ssh登录Linux服务器默认有7个终端,按Ctrl+alt+F1~F7可以进行切换;SSH远程登录服务器Windows下命令写法:sshroot@10.0.0.12922(端口不写默认是22)Linux下命令写法:ssh-p22root@10.0.0.129关于登录与退出登录登录系统ssh-p22user@10.0.0.129退出登录exit......
  • 代码随想录 day64 柱状图中最大的矩形
    柱状图中最大的矩形本题和接雨水在很多地方都很相似但是不是求凹槽了而是求突起就是相同的思路求不同的柱体对于每一个柱体找左边最矮的柱体这个柱体的右边的柱体和这个柱体围成的矩形就为最大同理找右边的柱体这里注意要用while而不是if因为要找到最矮的而......
  • 代码随想录 day63 下一个更大元素II 接雨水
    下一个更大元素II更下一个最大元素是一样的思路需要处理的是成环数组的模拟过程可以把两个一样的目标数组拼接在一起这样就相当于它成环了或者i变成两倍的范围然后目标下标就变成i%length这样i就会落回目标数组的下标也就是成环了接雨水实际上双指针法可能更......
  • JavaSE的第八步 —— 循环语句
    一、循环循环在Java中主要是依靠两个关键字进行 一个是for关键字有关的,另一个是while关键字有关的循环二、for循环for(初始化条件;判断条件语句;迭代因子){语句块};在for循环执行的时候,首先需要执行第一个分号之前的语句,对判断条件进行初始化,之后对判断条件进行比较,如果判断为......
  • 代码随想录 day61 每日温度 下一个更大元素 I
    每日温度单调栈的作用就是记录之前的元素好与当前元素比较从栈顶到栈底单调增找第一个第一个大元素单调减找第一个小元素栈内存的是数组下标而不是数组元素因为存元素还要会数组找元素是谁存下标可以直接用栈元素作为索引找数组元素下一个更大元素I跟每日温度......