java入门(二)

java入门(二)

方法

方法的定义

java的方法和python中的方法一样,类似于C的函数。放啊包含一个方法头和一个方法体。下面是一个方法的所有部分:

修饰符 返回值类型 方法名(参数类型 参数){
    ...
    方法体
    ...
    return 返回值;
}
  • 修饰符:是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 返回值类型:不需要返回值时,使用void。
  • 方法名:注意小驼峰命名规则。
  • 参数类型:在定义的时候需要说明形参类型,调用的时候无需标注,直接赋值实参。
  • 方法体:描述功能

方法的调用。

同类直接调用;

跨类调用方法:对象名.方法名(实参列表)

java支持两种调用方法的方式,根据方法是否有返回值来选择。

int larger = max(30,40);	//有返回值
System.out.println("Hello,World!");	//无返回值

方法调用还和修饰符相关,后面需要一个单独章节记笔记。

方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数。

方法重载的规则:

  • 方法名称必须相同。
  • 参数列表必须不同(个数不同,类型不同或参数排列顺序不同等)。
  • 方法的返回类型可以相同也可以不同。
  • 仅仅返回类型不同不足以成为方法的重载。

实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

可变参数

这个和python的*args相似,可传入不定项个参数,定义方法为在最后一个形参前面加...,多个参数值被当作数组传入。

void foo(String... args);
void foo(String[] args);

注:可变参数只能有一个,并且必须定义在所有形参最后面。

递归

没啥好记的,数据结构里面递归更多。

数组

数组的定义

数组是相同类型数据的有序集合,每一个数据称作一个数组元素,可通过下标进行访问,具有先后顺序。

数组声明创建

首先必须声明数组变量,才能在程序中使用。

dataType[] arrayRefVar;	//首选方法
dataType arrayRefVar[];	//效果相同但不是首选方法
实例
int[] nums;
int nums[];	//这种定义方式与C和C++相同

java语言使用new操作符来创建数组,语法如下:

dataType[] arrayRefVar = new dataType[arraySize];
实例
int[] nums = new int[10];

数组索引从0开始,获取数组长度使用数组属性array.length

三种初始化

静态初始化

int[] a = {1,2,3};

动态初始化

int[] a = new int[10];
a[0] = 100;

默认初始化(知道有这个就行)

四个基本特点

  • 数组的长度是固定的,被创建后不可改变(python列表可以添加元素)。
  • 其元素必须是相同类型,不允许出现混合类型。
  • 数组中的元素可以是任意类型,包括基本类型和引用类型。
  • 数组变量属引用类型,数组也可以看作对象,数组中的元素相当于对象的成员变量,存放在堆中。

数组边界

下标合法区间:[0, length-1],越界则会报错。

for-each循环

for-each循环是对一个序列中的元素进行迭代,而不使用循环计数器,其语法为:

for (type variable_name:array){
    
}
实例
int nums[] = {1,2,3};
for (int x:nums){
    System.out.println(x);
}

二维数组

记住定义方法 int[][] nums,用法与C一样。

Arrays类

数组的工具类java.util.Arrays。数组对象本身没有方法可以调用,但API中提供了Arrays类供我们使用。Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用。(注意:是”不用“而不是”不能“)

具有以下常用功能:

  • 给数组赋值:通过fill方法。
  • 对数组排序:通过sort方法,按升序。
  • 比较数组:通过equals方法比较数组中元素值是否相等。
  • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值