JavaSE(上)-Day6

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/274450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于openresty构建运维工具链实践

本文字数&#xff1a;4591字 预计阅读时间&#xff1a;25 01 导读 如今OpenResty已广泛被各个互联网公司在实际生产环境中应用&#xff0c;在保留Nginx高并发、高稳定等特性基础上&#xff0c;通过嵌入Lua来提升在负载均衡层的开发效率并保证其高性能。本文主要介绍接口鉴权、流…

从零开始写 Docker(六)---实现 mydocker run -v 支持数据卷挂载

本文为从零开始写 Docker 系列第六篇&#xff0c;实现类似 docker -v 的功能&#xff0c;通过挂载数据卷将容器中部分数据持久化到宿主机。 完整代码见&#xff1a;https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识&#xff1a; …

搭建项目后台系统基础架构

任务描述 1、了解搭建民航后端框架 2、使用IDEA创建基于SpringBoot、MyBatis、MySQL、Redis的Java项目 3、以原项目为参照搭建项目所涉及到的各个业务和底层服务 4、以原项目为例&#xff0c;具体介绍各个目录情况并参照创建相关文件夹 1、创建项目后端 BigData-KongGuan …

【MySQL】MySQL视图

文章目录 一、视图的基本使用1.创建视图2.修改了视图&#xff0c;对基表数据有影响3.修改了基表&#xff0c;对视图有影响4.删除视图 二、视图规则和限制 一、视图的基本使用 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称…

15届蓝桥杯备赛(2)

文章目录 刷题笔记(2)二分查找在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组 链表反转链表反转链表II 二叉树相同的树对称二叉树平衡二叉树二叉树的右视图验证二叉搜索树二叉树的最近公共祖先二叉搜索树的最近公共祖先二叉树层序遍历…

管道(acwing,蓝桥杯,二分)

题目描述&#xff1a; 有一根长度为 len 的横向的管道&#xff0c;该管道按照单位长度分为 len 段&#xff0c;每一段的中央有一个可开关的阀门和一个检测水流的传感器。 一开始管道是空的&#xff0c;位于 Li的阀门会在 Si 时刻打开&#xff0c;并不断让水流入管道。 对于位…

WRF模型运行教程(ububtu系统)--III.运行WRF模型(官网案例)

零、创建DATA目录 # 1.创建一个DATA目录用于存放数据&#xff08;一般为fnl数据&#xff0c;放在Build_WRF目录下&#xff09;。 mkdir DATA # 2.进入 DATA cd DATA 一、WPS预处理 在模拟之前先确定模拟域&#xff08;即模拟范围&#xff09;,并进行数据预处理&#xff08…

我的尝试:Codigger + Vim

若您愿意耐心投入&#xff0c;学习 Vim 的过程其实远比想象中轻松。我对 Vim 产生兴趣&#xff0c;主要是源于它对提升生产力的巨大潜力。我尝试了 Neovim、NvChad 以及 Codigger Vim 插件&#xff0c;如今我的工作效率已远超从前。 那么&#xff0c;Vim 究竟是什么呢&#xff…

Leetcode 79. 单词搜索

心路历程&#xff1a; 做完这道题才发现是回溯&#xff0c;一开始想的是递归&#xff0c;判断完第i个字符后&#xff0c;只需要挨个判断第i1个字符在不在第i个字符的邻域。后来发现由于不能重复使用元素&#xff0c;所以需要维护一个visited列表&#xff0c;并且在遍历所有可能…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——自适应大邻域算法(ALNS)

基于python语言&#xff0c;采用经典自适应大邻域算法&#xff08;ALNS&#xff09;对 需求拆分车辆路径规划问题&#xff08;SDVRP&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作&#xff0c;目前…

Aigtek超声功率放大器产品介绍

超声功率放大器是一种特殊类型的功率放大器&#xff0c;专门用于增强和放大超声信号的功率。它在医疗、工业和科学领域中得到广泛应用。 一、超声功率放大器的基本概述 超声功率放大器是一种能够将低功率超声信号放大到更高功率水平的设备。它是超声系统的关键组成部分&#xf…

力扣1. 两数之和

思路&#xff1a;用一个map存放 已遍历过的元素和下标&#xff1b; 若当前元素是nums[i], 且该元素的另一半 target-nums[i] 在已遍历过的map里面&#xff0c;则返回两个元素的下标&#xff1b; class Solution {public int[] twoSum(int[] nums, int target) {int[] ans new…

腾讯云服务器多少钱1个月?2024一个月收费阿济格IE吧

2024腾讯云服务器多少钱一个月&#xff1f;5元1个月起&#xff0c;腾讯云轻量服务器4核16G12M带宽32元1个月、96元3个月&#xff0c;8核32G22M配置115元一个月、345元3个月&#xff0c;腾讯云轻量应用服务器61元一年折合5元一个月、4核8G12M配置646元15个月、2核4G5M服务器165元…

数据结构:详解【顺序表】的实现

1. 顺序表的定义 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。动态顺序表与数组的本质区别是——根据需要动态的开辟空间大小。 2. 顺序表的功能 动态顺序表的功能一般有如下几个&#xff1a; 初始化顺序表打印顺序…

PlantUML Integration 编写短信服务类图

PlantUML Integration 写一个类图&#xff0c;主要功能为 1、编写一个serviceSms短信服务类&#xff1b; 2、需要用到短信的地方统一调用基建层的服务即可&#xff1b; 3、可以随意切换、增加短信厂商&#xff0c;不需要更改场景代码&#xff0c;只需要更改application.yml 里面…

Redis数据结构对象中的对象共享、对象的空转时长

对象共享 概述 除了用于实现引用计数内存回收机制之外&#xff0c;对象的引用计数属性还带有对象共享的作用。 在Redis中&#xff0c;让多个键共享同一个值对象需要执行以下两个步骤: 1.将数据库键的值指针指向一个现有的值对象2.将被共享的值对象的引用计数增一 目前来说…

【Godot4.2】2D导航01 - AStar2D及其使用方法

概述 对于2D平台跳跃或飞机大战&#xff0c;以及一些直接用键盘方向键操控玩家的游戏&#xff0c;是根本用不到寻路的&#xff0c;因为只需要检测碰撞就可以了。 但是对于像RTS或战棋这样需要操控玩家到地图指定位置的移动方式&#xff0c;就绝对绕不开寻路了。 导航、碰撞与…

微信小程序接口请求出错:request:fail url not in domain list:xxxxx

一、微信小程序后台和开发者工具配的不一样导致了这个错误 先说结论&#xff1a; 开发者工具配置了https://www.xxx.cn/prod-api/ 微信后台配置了 https://www.xxx.cn 一、最开始 开发者工具配置了https://www.xxx.cn:7500 微信后台配置了 https://www.xxx.cn 报错:reques…

代码随想录算法训练营第53天 | 1143.最长公共子序列 ,1035.不相交的线 ,53. 最大子序和

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 1143.最长公共子序列 题目链接&#xff1a;https://leetcode.cn/problems/longest-common-subsequence/description/ 思路&…

ASP .Net Core ILogger日志服务

&#x1f433;简介 ILogger日志服务是.NET平台中的一个内置服务&#xff0c;主要用于应用程序的日志记录。它提供了灵活的日志记录机制&#xff0c;允许开发者在应用程序中轻松地添加日志功能。以下是其主要特点和组件&#xff1a; ILogger接口&#xff1a;这是ILogger日志服…
最新文章