当前位置: 首页 > news >正文

Java-SE DAY3

JAVA 方法

Java 方法是语句的集合,它们在一起执行一个功能。

设计方法的原则:一个方法只完成1个功能,这样利于我们后期扩展

方法包含一个方法头和一个方法体

public static int add(int a,int b){			// static 声明类方法,int 指定方法返回类型return a+b;
}	
// return 除了在方法中代表返回的意思,还代表终止的函数的意思

修饰符:可选,定义了该方法的访问类型

返回值类型:字面意思,即返回值的类型,void 为无返回

方法重载:即一个方法名被定义两次( 如两次参数不同 | 类型不同 ),用于一个方法应对多种情况


命令行传参

args.length # 获取数组长度

在进行编译执行class 文件时,需注意package 的声明,需回到package 的根路径运行,否则会无法找到主类

main 方法也可传参,即定义main 方法的接受即可传参


可变参数

在方法声明时,在指定参数类型后加一个省略号(...)

一个方法只能指定一个可变参数,其必须是方法的最后一个参数

可变参数的本质就是数组

public void Hello(String ... a){			System.out.println(a)
}

递归

​ 递归的本质就是A方法调用A方法自己调用自己

递归头什么时候不调用自身方法,如果没有头,将陷入死循环。

递归体什么时候需要调用自身方法

递归尽量不使用,由于 JAVA 是栈开发,每调用一个方法,就会多一个栈堆叠起来,若调用方法过多,会导致占用大量内存空间


数组

int[] nums; # 定义数组

int nums[] # 定义数组,类C

nums = new int[10] # 初始化/创建 nums,最大元素为10个

nums.length # 获取数据的总元素个数


内存分析

: 存放new 的对象和数组

​ 可以被所有的线程共享,不会存放别的对象引用

: 存放基本变量类型(会包含这个基本类型的基本数据)

​ 引用对象的变量(会存放这个引用在堆里面的具体地址)

栈是存放变量/数组的内存地址,堆是存在变量/数组的真实值

// 静态初始化:创建 + 赋值
int[] a = {1,2,3,4,5,6,7,8,9};
System.out.println(a[0]);//动态初始化: 包含默认初始化
int[] b  = new int[10];
b[0] = 10;

image-20250924145212177


数组小结

长度是确定的,数组一旦被创建,其元素大小就无法改变

元素必须是相同的类型

数组中的元素可以是任何类型,包括基本类型和引用类型

数组对象本身是在堆中的

ArrayIndexOutOfBoundsException: 数组下标越界异常

// 数组是相同的数据类型(类型可以为任何类型)的有序集合
// 数组也是对象。数组元素相当于对象的成员变量
// 数组的长度是确定的、不可变的。

数组的使用

数组可作为传参,也可作为返回类型/值

// 加强型for 循环
for (int array : arrays){}			// 取出arrays 数组中每个元素循环// 定义返回类型为数组,且传入值为数组
public static int[] arrayFindMAX(int[] array){}

多维数组

多维数组:可以看成是数组的数组

二维数组: 一个特殊的数组,每个元素都是一个一维数组

int a[][] = new int[2][5]; // 初始化一个二维数组,可以看成一个2行5列的数组

int[][] array = {{1,2},{3,4},{5,6}}; // 定义一个二维数组并向其中赋值


Arrays类详解

数组的工具类 java.util.Arrays // util 为java 的工具类

Arrays.toString(arr)						// 打印数组
Arrays.sort(arr)							// 对于数据进行排序(默认正序)
Arrays.fill(arr,0)							// 将arr 中所有的数据替换为0   
冒泡排序

总共八大排序,冒泡排序为最出名的排序算法之一

冒泡排序:比较两个相邻的元素,如果第一个数比第二个数大,交换他们的位置,每次比较都会产生一个最大或最小数字,下一轮则可以少一次排序


稀疏数组

用于存在大量无效值的情况;对于无效值如0,不会对其进行表示,而是只对有效值进行输出(且说明有效值位置)

左为原始数组,右为稀疏数组

image-20250928095451596

稀疏数组为概念形式,属于算是算法(目的是节省数组空间),通过循环等手段,将原数组转换为稀疏数组


http://www.rkmt.cn/news/30071.html

相关文章:

  • 深入解析:C语言内存布局:虚拟地址空间详解
  • Java-SE Day5
  • 2025年10月深圳离婚律师推荐榜:五强对比与选择指南
  • 2025年10月房产继承律师推荐榜:五强对比与选择指南
  • WebSocket-基础知识-全-
  • 古代的时辰,几更天与现在的时间对应关系是什么?
  • Unity-物理学习指南-全-
  • 2025年包装机厂家权威推荐榜:自动包装机、半自动包装机源头企业综合测评与选购指南
  • 2025年清洗剂厂家权威推荐榜:水基型清洗剂专业解析,高效环保与行业应用深度评测
  • 2025年自动除渣颗粒热风炉厂家权威推荐榜单:生物质热风炉/大棚供暖热风炉/颗粒热风炉源头厂家精选。
  • 2025 年高低温试验箱厂家最新推荐,技术实力与市场口碑深度解析恒温恒湿试验箱/高低温试验箱厂家推荐
  • 2025年知名的逆变器高压直流继电器,航空航天高压直流继电器厂家最新实力排行
  • 2025年评价高的快走丝线切割机床,电火花数控线切割机床实力厂家TOP推荐榜
  • 2025年热门的航空航天机械加工,自动化零件机械加工厂家实力及用户口碑排行榜
  • 2025年靠谱的无缝半圆管,外半圆管厂家推荐及选择指南
  • 2025年口碑好的二段力小角度铰链,铝框小角度铰链优质厂家推荐榜单
  • 2025年评价高的炫彩金丝绒,染色金丝绒厂家推荐及选择参考
  • 2025年干燥机厂家最新综合评估榜:聚焦技术实力与产品专业性深度剖析
  • 2025年热门的高强度锌钢阳台栏杆,阳台栏杆厂家最新TOP排行榜
  • 2025年常州干燥设备企业最新推荐榜,聚焦企业服务品质与产品竞争力深度剖析
  • AI股票预测分析报告 - 2025年10月25日 - 10:02:39
  • 2025年10月研发管理咨询公司推荐:榜单聚焦五强实战派
  • 滑动窗口:无重复字符的最长子串
  • 2025年比较好的防锈防潮包装袋,木箱真空包装袋实力厂家TOP推荐榜
  • 2025年质量好的密炼机,橡胶密炼机最新TOP厂家排名
  • Centos8源码编译安装Python 3.12
  • 2025年10月数字化咨询公司排行:五强实战评价一次看懂
  • 2025年10月绩效管理咨询公司推荐:口碑榜排名一览
  • 2025年知名的SWL丝杆升降机,丝杆升降机厂家推荐及选择指南
  • 2025年热门的电动车雨衣,儿童一次性雨衣最新TOP厂家排名