java方法详解

System.out.println() 类+对象+方法
方法是语句的集合,他们在一起执行一个功能,包含于类或对象,在程序中创建,在其他地方被引用
保障方法的原子性,一个方法只实现一个功能,有利于后期的拓展

方法的定义和调用

(类似其他语言的函数)
修饰符(可选,public/static/final)+返回类型+方法名字(参数){
实现功能的语句
}
//加上static可变成类变量,就可以直接调用,不需要通过类对象调用,不然需要实例化
//实参传给形参
//有返回类型一定要return,不然就用void
return可以终止方法
分清值传递和引用传递,java只有值传递

方法的重载

在同一个类里,方法名相同,参数不同(类型或者数量,或者排列顺序),返回类型可以相同或者不同,但仅仅是返回类型不同,不能成为方法的重载,
参数不同很重要,是必须满足的

命令传递参数

可变参数

也叫不定项参数
参数指定类型后加一个…,可变参数必须放在参数列表的最后一个,整个可变参数要同一个类型

递归详解

自己调用自己,可以套娃
一个出口值+套娃
好处是简单化复杂问题
java都是用栈机制的
小计算可以递归,大递归就不要了,很占用内存和计算资源

java数组

数组定义

数组声明和创建

  • 数组声明:
    数组类型[ ] 数组名字 //首选方法 ;
    数组类型 数组名字[ ];
  • 数组的创建:
    (数组类型[ ] )数组名字=new 数组类型[大小]

//声明类型和名字可以理解为一个内存空间,赋值是往内存里放数据
//数组也可以变相实现多参

三种初始化和内存分析

下标越界及小结

内存分析:

  • 堆:存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用
  • 栈:存放基本的变量类型(会包含基本类型的具体数值)、引用变量的对象(会存放这个引用在堆里面的具体地址)
  • 方法区:可以被所有线程共享,包含所有的class和static变量
  • //个人理解,基本类型放在栈里,引用类型的引用在栈里,对象在堆里(new出来的都在堆里)

初始化:静态初始化(创建+赋值),动态初始化(声明+new空间+赋值),默认初始化(分配空间之后,数值默认0,字符默认null)
java学习笔记4数组特点:长度一定,创建不可改,不允许混合类型,可以是基本类型或者引用类型
//数组可以看成对象,每个元素是对象的成员变量
数组有序

数组的使用

  • for each 循环
    for(声明语句:表达式){
    //语句
    }
    主要用来遍历数组和集合
    //for的第三个用法
  • 数组作为方法的参数
  • 数组作为返回值

//数组不能整个输出,要遍历输出,或者printArray()

二维数组

可以看成一维数组里每个元素都是个一维数组
类型[ ][ ] 名字={{一维数组},{一维数组},{一维数组},{一维数组}}
new 类型[x][y]
array.length外层数目x
array[0].length内层数目y

arrays 类讲解

java学习笔记4
//按住Ctrl再点类可以查看源代码,点structure可以查看所有方法
//学会利用jdk帮助文档,查看工具类及其方法

冒泡排序

总共有八大排序
冒泡最简单最出名:两两比较,更小就往前跑

稀疏数组

数组的压缩,数组大部分为0或者同一个值,可以压缩
java学习笔记4

相关文章:

  • 2021-06-10
  • 2021-11-08
  • 2021-07-05
  • 2021-10-23
  • 2021-05-04
  • 2021-07-24
猜你喜欢
  • 2021-07-13
  • 2021-07-28
  • 2021-09-03
  • 2021-07-15
  • 2021-12-05
相关资源
相似解决方案