注:本文章是我在慕课网学习时摘录的知识点集合,为了以后复习用的,知识内容都出自慕课网! 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。 常量名一般用大写字母。语法:final常量值 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。 主方法入口:所有的Java 程序由public static void main(String[]args)方法开始执行

认识Java标识符


  问:标识符是神马?

  答:标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

java 实体变量使用大写 java常量名大写_imooc

使用标识符时,需要遵守几条规则:

 1.  标识符可以字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

 2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

 3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

标识符的命名最好能反映出其作用,做到见名知意


------------------------------------------------------------------------


变量是什么



简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。

java 实体变量使用大写 java常量名大写_imooc_02

在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值

如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

java 实体变量使用大写 java常量名大写_归纳_03

例如,我们定义了一个变量 love ,用来保存一个字符串 “imooc” , 在程序中只要找到了 love 这个变量,就能找到存储在里面的 ”imooc”!当然,我们也可以把 love 里面的值更换成新的字符串 “i love imooc” !

java 实体变量使用大写 java常量名大写_imooc_04

运行结果:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_05

-----------------------------------------------------------------------------------------------------------------------



如何命名Java变量




java 实体变量使用大写 java常量名大写_复习_06



java 实体变量使用大写 java常量名大写_imooc_07



优秀攻城师的习惯:


1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!




---------------------------------------------------------------------------------------------------------------------------


Java中的数据类型


Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:

java 实体变量使用大写 java常量名大写_imooc_08

在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。

常用的基本数据类型有:

java 实体变量使用大写 java常量名大写_复习_09

你可能已经注意到了:

java 实体变量使用大写 java常量名大写_归纳_10

注:关于 float 型和 double 型的区别,以及 char 型和 String 型的不同.

String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。



Java 中 float 与 double 的区别

1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位

double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位

 

2.java中默认声明的小数是double类型的,如double d=4.0

如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0

其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义              

 

3.对编程人员来而,double 和 float 的区别是double精度高,但double消耗内存是float的两倍,且double的运算速度较float稍慢。

Java 中 char 和 String 的区别

1.char表示字符,定义时用单引号,只能存储一个字符,如char c='x';

而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name="tom";

2.char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。

Java基本语法学习时需要注意的几点


编写Java程序时,应注意以下几点:


  • 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的Java 程序由public static void main(String[]args)方法开始执行。


------------------------------------------------------------------------------------------------

Java中变量的使用规则


不得不接受的变量小脾气

1、Java 中的变量需要先声明后使用

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_11

2、变量使用时,可以声明变量的同时进行初始化


java 实体变量使用大写 java常量名大写_归纳_12


也可以先声明后赋值


java 实体变量使用大写 java常量名大写_Java_13


3、变量中每次只能赋一个值,但可以修改多次

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_14

4、main 方法中定义的变量必须先赋值,然后才能输出

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_15

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

java 实体变量使用大写 java常量名大写_Java_16

关于 String :表示变量中存储的数据的类型为字符串,后面小节中会详细讲到,小小期待吧~~


---------------------------------------------------------------------------------

Java中的自动类型转换


在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 

这种转换称为自动类型转换

当然自动类型转换是需要满足特定的条件的:

1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

java 实体变量使用大写 java常量名大写_imooc_17

2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

java 实体变量使用大写 java常量名大写_归纳_18


----------------------------------------------------------------------------------------



Java中的算术运算符


算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。

Java 中常用的算术运算符:

java 实体变量使用大写 java常量名大写_imooc_19

 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴

例1:

java 实体变量使用大写 java常量名大写_归纳_20

运行结果:

java 实体变量使用大写 java常量名大写_归纳_21

例2:

java 实体变量使用大写 java常量名大写_复习_22

运行结果:

java 实体变量使用大写 java常量名大写_复习_23

一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!


Java中的赋值运算符


赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

Java 支持的常用赋值运算符,如下表所示:

java 实体变量使用大写 java常量名大写_Java_24


Java中的比较运算符


比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

Java 中常用的比较运算符如下表所示:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_25

注意哦:

1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型


Java中的逻辑运算符


逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

java 实体变量使用大写 java常量名大写_imooc_26

我们可以从“投票选举”的角度理解逻辑运算符:

1、 :要求所有人都投票同意,才能通过某议题

2、 :只要求一个人投票同意就可以通过某议题

3、 :某人原本投票同意,通过非运算符,可以使其投票无效

4、 异或:有且只能有一个人投票同意,才可以通过某议题

当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!


Java中的条件运算符


条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

例如:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_27

因为,表达式 8>5 的值为 true ,所以,返回: 8大于5


Java中运算符的优先级


所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

java 实体变量使用大写 java常量名大写_Java_28

级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2  得到的结果是 13 “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

java 实体变量使用大写 java常量名大写_imooc_29

分析:小括号优先级最高,因此

1、 执行 a + 18 ,结果为 30

2、 执行( a + 18 ) % 4 取模,结果为 2

3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24


----------------------------------------------------------------------------------------

Java条件语句之 switch


当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。例如:根据考试的名次,给予前 4 名不同的奖品。第一名,奖励笔记本一台;第二名,奖励 IPAD 2 一个;第三名,奖励移动电源一个;最后一名奖励 U 盘一个。

语法:

java 实体变量使用大写 java常量名大写_Java_30

执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。

如:

java 实体变量使用大写 java常量名大写_imooc_31

不得不说的几点小秘密:

1、 switch 后面小括号中表达式的值必须是整型或字符型

2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2

3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 如

 

java 实体变量使用大写 java常量名大写_复习_32

,运行结果: 

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_33

4、 可以把功能相同的 case 语句合并起来,如

java 实体变量使用大写 java常量名大写_复习_34

5、 default 块可以出现在任意位置,也可以省略


Java循环语句之 for

需要留心的几个小细节:

1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。

    a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作

需要留心的几个小细节:

1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。
    a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作

java 实体变量使用大写 java常量名大写_复习_35

 b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象

在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用 break 强制跳出循环(关于 break 的用法会在后面介绍)。
    c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化

2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值

3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级

--------------------------------------------------------------------------------------------------------------

如何使用 Java 中的数组


Java 中操作数组只需要四个步骤:

1、 声明数组

 

java 实体变量使用大写 java常量名大写_归纳_36

 

或者 

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_37

其中,数组名可以是任意合法的变量名,如:

java 实体变量使用大写 java常量名大写_Java_38

2、 分配空间

简单地说,就是指定数组中最多可存储多少个元素

语法: 

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_39

其中,数组长度就是数组中能存放元素的个数,如:

java 实体变量使用大写 java常量名大写_归纳_40

话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:

java 实体变量使用大写 java常量名大写_归纳_41

3、 赋值

分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩

java 实体变量使用大写 java常量名大写_Java_42

4、 处理数组中数据

我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值

java 实体变量使用大写 java常量名大写_复习_43

在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如

java 实体变量使用大写 java常量名大写_归纳_44

它等价于:

java 实体变量使用大写 java常量名大写_Java_45

--------------------------------------------------------------------------------------------------------------


使用 Arrays 类操作 Java 中的数组


Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等(关于类和方法的相关内容在后面的章节中会详细讲解滴~~)。

Arrays 中常用的方法:

1、 排序

语法: 

java 实体变量使用大写 java常量名大写_Java_46

可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列),如:

java 实体变量使用大写 java常量名大写_Java_47

运行结果: 

java 实体变量使用大写 java常量名大写_imooc_48

2、 将数组转换为字符串

语法: 

java 实体变量使用大写 java常量名大写_归纳_49

可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如:

java 实体变量使用大写 java常量名大写_复习_50

运行结果: 

java 实体变量使用大写 java常量名大写_归纳_51

----------------------------------------------------------------------------------------------------------------------------------------------


Arrays类应用


Arrays 类是 Java API 中提供的类,在 java.util 包中, Arrays类中提供的方法可直接实现数组的排序、搜索等。常用方法如下:

1、toString

转换数组:将指定数组内容转换为字符串形式

2、fill

给数组赋值:通过fill方法。

3、sort

对数组排序:通过sort方法,默认按升序。

4、equals

比较数组:通过equals方法比较数组中元素值是否相等。

5、binarySearch

二分查找:使用二分搜索法来搜索指定数组的范围

 

示例代码:

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

       int[] array = new int[5];

       // 填充数组

Arrays.fill( a1, value );

         作用:填充 a1 数组中的每个元素都是value

       */

       Arrays.fill(array, 5);

       System.out.println("填充数组:Arrays.fill(array, 5):");

       System.out.println(Arrays.toString(array));

 

       // 将数组的第3和第4个元素赋值为8

       /* Arrays.fill( a1, fromIndex, toIndex,value);

         作用:填充 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素都是 value

       */

       Arrays.fill(array, 2, 4, 8);

       System.out.println("将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):");

       System.out.println(Arrays.toString(array));

      

       int[] array1 = { 7, 8, 3, 2, 12, 6, 3, 5, 4 };

       // 对数组的第3个到第7个进行排序

       /* Arrays.sort( a1, fromIndex, toIndex);

         作用:对 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素排序

       */

       Arrays.sort(array1, 2, 7);

       System.out.println("对数组的第2个到第6个元素进行排序:Arrays.sort(array,2,7):");

       System.out.println(Arrays.toString(array1));

 

       // 对整个数组进行排序

       Arrays.sort(array1);

       System.out.println("对整个数组进行排序:Arrays.sort(array1):");

       System.out.println(Arrays.toString(array1));

 

       // 比较数组元素是否相等

       System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):" + "\n"

              + Arrays.equals(array, array1));

       int[] array2 = array1.clone();

       System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):" + "\n"

              + Arrays.equals(array1, array2));

 

       // 使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确)

       Arrays.sort(array1);

       System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"

              + "\n" + Arrays.binarySearch(array1, 3));

 

       // 如果不存在就返回负数

       System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"

              + "\n" + Arrays.binarySearch(array1, 9));

    }

}

 

运行结果:

填充数组:Arrays.fill(array, 5):

[5, 5, 5, 5, 5]
将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):
[5, 5, 8, 8, 5]
对数组的第2个到第6个元素进行排序:Arrays.sort(array,2,7):
[7, 8, 2, 3, 3, 6, 12, 5, 4]
对整个数组进行排序:Arrays.sort(array1):
[2, 3, 3, 4, 5, 6, 7, 8, 12]
比较数组元素是否相等:Arrays.equals(array, array1):
false
克隆后数组元素是否相等:Arrays.equals(array1, array2):
true
元素3在array1中的位置:Arrays.binarySearch(array1, 3):
1
元素9在array1中的位置:Arrays.binarySearch(array1, 9):
-9

----------------------------------------------------------------------------------

使用 foreach 操作数组


foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思,那么到底怎么使用 foreach 语句呢?

语法:

java 实体变量使用大写 java常量名大写_复习_52

我们分别使用 for 和 foreach 语句来遍历数组

java 实体变量使用大写 java常量名大写_复习_53

结果一样

--------------------------------------------------------------------------------

Java 中的二维数组


所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

那么如何使用二维数组呢,步骤如下:

1、 声明数组并分配空间

java 实体变量使用大写 java常量名大写_imooc_54

或者

java 实体变量使用大写 java常量名大写_归纳_55

如:

java 实体变量使用大写 java常量名大写_复习_56

2、 赋值

二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_57

也可以在声明数组的同时为其赋值

java 实体变量使用大写 java常量名大写_归纳_58

如:

java 实体变量使用大写 java常量名大写_Java_59

3、 处理数组

如:

java 实体变量使用大写 java常量名大写_复习_60

 

运行结果:

java 实体变量使用大写 java常量名大写_imooc_61

需要了解的:在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下所示:

java 实体变量使用大写 java常量名大写_imooc_62

运行结果为:

java 实体变量使用大写 java常量名大写_复习_63

----------------------------------------------------------------------------------

如何定义 Java 中的方法


所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

一般情况下,定义一个方法的语法是:

java 实体变量使用大写 java常量名大写_归纳_64

其中:

1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

3、 方法名:定义的方法的名字,必须使用合法的标识符

4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 

根据方法是否带参、是否带返回值,可将方法分为四类:

Ø 无参无返回值方法

Ø 无参带返回值方法

Ø 带参无返回值方法

Ø 带参带返回值方法

-------------------------------------------------------------------------------

Java 中无参无返回值方法的使用


如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。

方法的使用分两步:

第一步,定义方法

例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”

java 实体变量使用大写 java常量名大写_Java_65

注意哦:

1、 方法体放在一对大括号中,实现特定的操作

2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式

第二步,调用方法

当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 

java 实体变量使用大写 java常量名大写_Java_66

 来实现(关于类和对象的概念在后面章节中会详细讲解滴,先熟悉语法,表着急哦~~)

例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息

java 实体变量使用大写 java常量名大写_imooc_67

运行结果:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_68


Java 中无参带返回值方法的使用


如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。

例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果

java 实体变量使用大写 java常量名大写_归纳_69

在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。

调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:

java 实体变量使用大写 java常量名大写_复习_70

运行结果:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_71

不容忽视的“小陷阱”:

1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_72

2、 方法的返回值最多只能有一个,不能返回多个值

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_73

3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值

java 实体变量使用大写 java常量名大写_imooc_74


Java 中带参无返回值方法的使用


我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。

我们先来看一个带参数,但没有返回值的方法:

java 实体变量使用大写 java常量名大写_imooc_75

上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值

 

java 实体变量使用大写 java常量名大写_归纳_76

例如:

java 实体变量使用大写 java常量名大写_imooc_77

运行结果:

java 实体变量使用大写 java常量名大写_Java_78

很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

一定不可忽视的问题:

1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应

java 实体变量使用大写 java常量名大写_复习_79

2、 调用方法时,实参不需要指定数据类型,如 

java 实体变量使用大写 java常量名大写_Java_80

3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等

java 实体变量使用大写 java常量名大写_归纳_81

4、 当方法参数有多个时,多个参数间以逗号分隔

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_82


Java 中带参带返回值方法的使用


如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。

例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_83

调用带参带返回值的方法:

java 实体变量使用大写 java常量名大写_归纳_84

运行结果:

java 实体变量使用大写 java常量名大写_复习_85


Java 中方法的重载


问: 什么是方法的重载呢?

如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

java 实体变量使用大写 java常量名大写_Java_86

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

java 实体变量使用大写 java常量名大写_Java_87

运行结果:

java 实体变量使用大写 java常量名大写_java 实体变量使用大写_88

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系