java编程 Javase02

一、方法

1.方法入门

小case:print打印时不换行   println打印默认换行

(1)定义格式:public class void 方法名称(){

                           方法体;

}

(2)调用格式:方法名称();

(3)注意事项

1.方法定义的先后顺序无所谓

2.方法的定义不能产生嵌套和包含关系

3.方法定义之后不会执行。若想执行必须进行方法的调用.

2.方法

(1)定义:方法是若干语句的功能集合,参数和返回值时关键

a.参数:进入方法的数据

b.返回值:就是从方法中出来的数据

(2)定义方法的完整格式

修饰符 返回值类型 方法名称(参数类型 参数名称,......){

          方法体

          return 返回值:

}

修饰符:现阶段固定写法 public static

返回值类型:方法最终产生的数据类型

参数类型:进入方法的数据类型

参数名称:进入方法数据对用的变量名称

ps:参数如果有多个, 使用逗号符进行分隔

 方法体:方法需要做的事情,若干行代码

return:第一停止当前方法,第二将后面的返回值还给调用处

返回值:方法执行后最后产生的数据结果

注意:return后的返回值必须和方法名称前的返回值类型保持一致

三要素:返回值类型   方法名称  参数列表

 (3)方法调用的三种格式

1.单独调用 :方法名称(参数)

2.打印调用:System.out.println(方法名称(参数))

3.赋值调用:数据类型 变量名称=方法名称(参数)

注意:此前学习的方法,返回值为类型为void,这种方法只能单独调用,不能进行打印调用或者赋值调用。

(4)方法调用流程图解

以赋值调用为例

找到方法>参数传递>执行方法体(即大括号中的内容)>带着返回值回到方法的调用处

(5)方法参数

有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的话就是有参数

无参数:小括号当中留空。一个方法不需要任何数据条件,自己独立完成任务,就是无参数。

例如定义一个方法 打印固定10次HelloWorld

(6)方法返回值

void类型方法不需要return语句

若为其他类型则需要return语句

注意事项:

对于有返回值的方法,三种调用均可使用

对于无返回值的方法,只能使用单独调用,其余两种无法使用

(7)方法练习题

a.定义一个方法判断数字是否相

关键字:boolean语句

b.求出1到100的累加和

关键字:for循环的使用

c.定义一个方法打印指定次数的helloworld

关键字:void

(8)方法使用注意事项

1.方法定义在类中,但不能嵌套

2.方法定义的前后顺序无所谓

3.方法定义之后不会执行,若需要执行,一定要调用

4.如果方法有返回值,则必须加上return语句且返回值数据必须和方法类型相同

5.对于void类型,不能写return后面的返回值,只能写return自己

6.void方法当中最后一行的return可以省略不写

7.一个方法当中可以有多个return语句,但必须保证同时只有一个会被执行

(9)方法重载(overload)

多个方法的名称一样,但是参数列表不同

方法重载与下列因素相关

1.参数个数不同

2.参数类型不同

3.参数的多类型顺序不同

方法重载与下列因素无关

1.与参数名称无关

2.与方法的返回值类型无关

相关练习题

1.判断数字是否相等

2.判断方法是否为正确重载 

3.实现重载的println方法

ps:shift+f6可以选中所有相同内容

在调用输出语句时,println方法其实就是进行了多种数据类型的重载形式。

二、数组

(一)数组的概念

数组:数组是一个容器,可以同时存放多个数据值

(二)数组的特点

1.数组是一种引用类型数据

2.数组当中的多个数据,类型必须统一

3.数组的长度在程序运行期间不可改变

(三)数组的使用

1.数组的初始化:在内存当中创建一个数组,并向其中赋予一些默认值

初始化的两种方式

(1)动态初始化(指定长度)

动态初始化数组的格式

数据类型[ ] 数组名称= new 数据类型[数组长度] ;

解析含义:

a、左侧数据类型也就是数组当中保存的数据全部都是统一的什么类型

b、左侧的中括号代表这是一个数组

c、左侧数组名称给数组取一个名字

d、右侧的new代表创建数组的2动作

e、右侧数据类型:必须和左边的数据类型保持一致

f、右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字

(2)静态初始化(指定数据内容)

静态初始化基本格式:

数据类型[ ] 数组名称 = new 数据类型 [ ] {元素1 ,元素2 ,......};

注意事项:虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容可推知静态数组的长度
省略格式

数据类型  [ ] 数组名称 = { 元素1, 元素 2 ......};

注意事项

a、静态初始化没有直接指定长度,但仍然会自动推算长度

b、静态初始化标准格式可以拆分为两个步骤

先定义数组在定义内容,动态数组初始化步骤也可拆分为这连个步骤

c、静态初始化一旦使用省略格式,就不能拆分为两个步骤

使用建议:

如果不确定数组当中具体内容则使用

2、数组的使用方法

直接打印数组名称,得到的数组对应内存定义的哈希值(16进制·)

  • 二进制:01
  • 十进制:0123456789
  • 十六进制:0123456789abcdef

访问数组元素的格式: 数组名称[ 索引值 ]

索引值:就是一个int数字,代表数组元素当中的编号

  • 【注意】:索引值从0开始,以后掉“数组的长度-1”为止。
  • 数组元素可以直接打印也可以将数组当中的某一个单个元素,赋值交给变量。
  • 使用动态初始化数组的时候,其中的元素将拥有一个默认值,规则如下:

                       如果是整数类型,那么默认值为0;

                       如果是浮点类型,那么默认值为0.0;

                       如果是字符类型,那么默认为'\u0000' ;

                       如果是布尔类型,那么默认为false;

                       如果是引用类型,那么默认为null;

  • 静态初始化也有默认值的过程;只不过系统自动马上将默认值替换成了大括号当中的具体数值。

3.数组中内存的使用情况

(1)Java的内存需要花费为五个部分:
 

(2)一个数组的内寸使用情况图

 

(3)两个数组的内存使用情况图

(4)两个引用指向同一个数组的内存图

4.数字使用的常见问题

(1)数组索引越界异常

数组索引从0开始直到数组长度-1为止

如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常。 即ArrayIndexOutofBoundExpection。

原因:索引编号写错了

解决:修改成为存在的正确的索引编号

(2)空指针异常

 所有的引用类型变量,都可以赋值为一个null值。但是代表其中什么都没有。

数组必须进行new初始化才能使用其中的元素。

如果只是赋值了一个null,没有进行new创建,那么将会发生空指针异常即

NullPointerException。

原因:忘了new

解决:补上new

5.数组的常用方法

(1).如何获取数组的长度

格式:

数组名称.length

这将会得到一个int数字,代表数字的长度。

数组一旦创建,程序运行期间,长度不可改变。

若想改变数组的长度对数组名重新进行长度的定义

如 int [ ] arrayc =new int [ 3 ];

array c = new int [ 5 ];

内存图使用情况

(2)数组的遍历

遍历数组:说的就是对数组当中的每一个元素进行逐一处理。默认方式就是打印输出。通常都使用for循环。(case:将循环判断可以改为数组名.length)

for循环使用数组名.length.for

练习题:求出数组当中的最大值

               数组元素的反转

(3)数组在方法中的使用

     a、数组作为参数传递

      参数名称 :int [ ] 数组名称

      传递进去的为数组的地址值

     b、数组作为返回值使用

    一个方法可以有0、1、多个参数;但只能有0或1个返回值,不能有多个返回值。如果希望一个方法当中产生多个结果数据进行返回,使用一个数组作为返回值类型即可。

    ps:任何数据类型都能作为方法的参数类型,或者返回值类型。

数组作为方法的参数值和返回值,传递的为数组的地址。

 

   ​​

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值