java特性和优势
简单性、面向对象、可移植性、高能性、分布式、动态性、多线程、安全性、健壮性。
Java基本语法
标识符注意点
-
所有的标识符都应该以字母(A-Z 或者a-z) ,美元符($)、或者下划线( )开始
-
首字符之后可以是字母(A-Z 或者a-z) ,美元符($) 、下划线(或数字的任何字符组合
-
不能使用关键字作为变量名或方法名。
-
标识符是大小写敏感的
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
-
Java的数据类型分为两大类 基本类型(primitive type) 引用类型(reference type)
-
浮点数拓展?银行业务怎么 表示?钱(BigDecimal数学工具类) //float(double) 有限 离散 舍入误差,大约接近但不等于
- 扫描二维码关注公众号,回复: 11225351 查看本文章
什么是字节
-
位(bit) :是计算机内部数据储存的最小单位,11001100是一 个八位二进制数。
-
字节(byte) :是计算机中数据处理的基本单位,习惯上用大写B来表示,
-
1B (byte,字节) = 8bit (位)
-
字符:是指计算机中使用的字母、数字、字和符号
类型转换
由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
-
低-------------------------------> 高 byte, short,char-> int -> long-> float -> double
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
强制类型转换
高-->低
-
自动类型转换
低-->高
-
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题!
变量
-
变量是什么:就是可以变化的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}] ;
//数据类型变量名 =值;可以使用逗号隔开来声明多个同类型变量。
-
注意事项:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class demo01 {
//类变量static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是nulL;
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i=10;
System.out. println(i);
//变量类型变量名字 = new Demo08();
demo01 demo01 = new demo01();
System. out. println(demo01.age);
System. out . println(demo01. name);
//类变量static
System.out. println(salary);
}
//其他方法
public void add(){
}
}
常量
常量(Constant): 初始化(initialize)后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变.
final常量名=值;
final double PI=3.14;
常量名一般使用大写字符。
变量的命名规范
-
所有变量、方法、类名:见名知义 类成员变量:首字母小写和驼峰原则: monthSalary 局部变量:首字母小写和驼峰原则 常量:大写字母和下划线: MAX_ VALUE 类名:首字母大写和驼峰原则: Man, GoodMan 方法名:首字母小写和驼峰原则: run(), runRun()
-
类成员变量:首字母小写和驼峰原则: monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线: MAX_ VALUE
-
类名:首字母大写和驼峰原则: Man, GoodMan
-
方法名:首字母小写和驼峰原则: run(), runRun()
运算法
-
算术运算符
short+bety+long+int-->存在long为long,否则结果为int
存在double则为double
-
a++、++a
int b = a++; //执行完这行代码后, 先给b赋值,再自增
int c = ++a; ////执行完这行代码前, 先自增,再给b赋值
-
位运算符
<<、>>效率极快
-
字符串连接符+
System . out .println("" +a+b);//""先和a拼接,在和b拼接,a+b不进行算术运算
System . out. println(a+b+"");//a+b先进行算术运算,在和""拼接
包机制
-
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
package pkg1[. pkg2[. pk...]];
-
一般利用公司域名倒置作为包名;
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可 完成此功能
import package1[. package..].(classname |*);
Java Doc
-
javadoc命令是用来生成自己API文档的
-
参数信息
-
@author作者名
-
@version 版本号
-
@since 指明需要最早使用的jdk版本
-
@param参数名
-
@return 返回值情况
-
@throws 异常抛出情况
-
Java流程控制
Scanner对象
-
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
-
基本语法:
Scanner S = new Scanner( System. in);
-
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
-
next()和hasNext()
public class Demo02_Scanner {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收: ");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();//程序会等待输入内容,不输入会卡在这里
System.out.println("输出的内容为: "+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉
scanner.close();
}
} -
nextLine()和hasNextLine()
public class Demo02_Scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收: ");
//判断是否还有输入
if (scanner.hasNextLine()) {
String str = scanner.nextLine();
System.out.println("输出的内容为: " + str);
}
scanner.close();
}
} -
next():
-
一定要读取到有效字符后才可以结束输入。
-
对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
-
next() 不能得到带有空格的字符串。
-
-
nextLine():
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
-
可以获得空白。
-
-
-
使用语法
public class Demo02_Scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System. in);
System.out.println("请输入数据: ");
String str = scanner.nextLine( );
System.out .println( "输出的内容为: "+str);
scanner.close();
}
}
-
其他hasNextInt()和hasNextFloat()
public class Demo03_Scanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数: ");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("整数数据: " + i);
} else {
System.out.println("输入的不是整数数据! ");
}
System.out.println("请输入小数: ");
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("小数数据: " + f);
} else {
System.out.println("输入的不是小数数据! ");
}
scanner.close();
}
}
-
输入多个数字,并求其总和与平均数
import java.util.Scanner;
public class Demo04_Scanner {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
//通过循环判断是否还有输入,并在里面对每-次进行求和和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m=m+1; //m++
sum=sum+x;
System.out.println("你输入了第"+m+"个数据,然后当前结果sum=" +sum) ;
}
System.out.println(m + "个数的和为" + sum);
System.out.println(m +"个数的平均值是" + (sum / m));
scanner.close();
}
}
switch多选择结构
-
多选择结构还有一个实现方式就是switch case语句。
-
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
-
switch 语句中的变量类型可以是:
-
byte、short, int 或者char.
-
从JavaSE7开始,switch支持字符串String类型了
-
字符的本质是数字
-
java文件
public class Demo05_Switch {
public static void main(String[] args) {
String name = "狂神";
switch (name){
case "秦疆":
System.out.println("秦疆");
break;
case "狂神":
System.out.println("狂神");
break;
default :
System.out.println("弄啥嘞! ");
}
}
}
-
class文件(hashCode())
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.base;
public class Demo05_Switch {
public Demo05_Switch() {
}
public static void main(String[] args) {
String name = "狂神";
byte var3 = -1;
switch(name.hashCode()) {
case 941788:
if (name.equals("狂神")) {
var3 = 1;
}
break;
case 997472:
if (name.equals("秦疆")) {
var3 = 0;
}
}
switch(var3) {
case 0:
System.out.println("秦疆");
break;
case 1:
System.out.println("狂神");
break;
default:
System.out.println("弄啥嘞! ");
}
}
}
-
-
同时case标签必须为字符串常量或字面量。
-
https://wanelo.co/mufducdz
https://wanelo.com/mufducdz
https://wanelo.co/deuzicrw
https://wanelo.com/deuzicrw
https://wanelo.co/gqczfogp
https://wanelo.com/gqczfogp
https://wanelo.co/bdaxhzxsgk
https://wanelo.com/bdaxhzxsgk
https://wanelo.co/bymlsqrkfczl
https://wanelo.com/bymlsqrkfczl
https://wanelo.co/teafmrargzoh
https://wanelo.com/teafmrargzoh
https://wanelo.co/kaqzrbhprwfq
https://wanelo.com/kaqzrbhprwfq
https://wanelo.co/jujnlyfjgbre
https://wanelo.com/jujnlyfjgbre
https://wanelo.co/qdoeshrtrj
https://wanelo.com/qdoeshrtrj
https://wanelo.co/oesqsovjt
https://wanelo.com/oesqsovjt
https://wanelo.co/arbqeyazn
https://wanelo.com/arbqeyazn
https://wanelo.co/xzqkpgwm
https://wanelo.com/xzqkpgwm
https://wanelo.co/ornodzqbg
https://wanelo.com/ornodzqbg
https://wanelo.co/yendgjvjjw
https://wanelo.com/yendgjvjjw
https://wanelo.co/amnwadis
https://wanelo.com/amnwadis
https://wanelo.co/mqadnwesnuht
https://wanelo.com/mqadnwesnuht
https://wanelo.co/rrrmpdlypbigc
https://wanelo.com/rrrmpdlypbigc
https://wanelo.co/vtbqfcdhpnitz
https://wanelo.com/vtbqfcdhpnitz
https://wanelo.co/zitdbupb
https://wanelo.com/zitdbupb
https://wanelo.co/svmmomhdu
https://wanelo.com/svmmomhdu
https://wanelo.co/lybcobpbe
https://wanelo.com/lybcobpbe
https://wanelo.co/zaplgcjq
https://wanelo.com/zaplgcjq
https://wanelo.co/fmxiarzb
https://wanelo.com/fmxiarzb
https://wanelo.co/ufbjzvyetkog
https://wanelo.com/ufbjzvyetkog
https://wanelo.co/dgrpwklsjauhg
https://wanelo.com/dgrpwklsjauhg
https://wanelo.co/kbqlllagaqnqqq
https://wanelo.com/kbqlllagaqnqqq
https://wanelo.co/bmltkgcjcrii
https://wanelo.com/bmltkgcjcrii
https://wanelo.co/qvvqqrhsvxp
https://wanelo.com/qvvqqrhsvxp
https://wanelo.co/wkqbqvnzsqvba
https://wanelo.com/wkqbqvnzsqvba
https://wanelo.co/xwsxcwmcyywirf
https://wanelo.com/xwsxcwmcyywirf
https://wanelo.co/ellzyrthwpicn
https://wanelo.com/ellzyrthwpicn
https://wanelo.co/gvafeszlhzo
https://wanelo.com/gvafeszlhzo
https://wanelo.co/vcwhvzjgnlu
https://wanelo.com/vcwhvzjgnlu
https://wanelo.co/nrsbnislgipcfla
https://wanelo.com/nrsbnislgipcfla
https://wanelo.co/dhdcjjqkmepmg
https://wanelo.com/dhdcjjqkmepmg
https://wanelo.co/cwzlqxkycmh
https://wanelo.com/cwzlqxkycmh
https://wanelo.co/hzgjpxegec
https://wanelo.com/hzgjpxegec
https://wanelo.co/dmppsncmzq
https://wanelo.com/dmppsncmzq
https://wanelo.co/wfuhlwxp
https://wanelo.com/wfuhlwxp
https://wanelo.co/yjaffobgusjbi
https://wanelo.com/yjaffobgusjbi
https://wanelo.co/tnzlryhuvmv
https://wanelo.com/tnzlryhuvmv
https://wanelo.co/jhscbsqtskkcgib
https://wanelo.com/jhscbsqtskkcgib
https://wanelo.co/hslcdbwjigm
https://wanelo.com/hslcdbwjigm
https://wanelo.co/xqfqulkzlhuex
https://wanelo.com/xqfqulkzlhuex
https://wanelo.co/wveynxdhmsidqj
https://wanelo.com/wveynxdhmsidqj
https://wanelo.co/kynujjbyulrdhvy
https://wanelo.com/kynujjbyulrdhvy
https://wanelo.co/cmuidhjroq
https://wanelo.com/cmuidhjroq
https://wanelo.co/uphsvcedu
https://wanelo.com/uphsvcedu
https://wanelo.co/umlacnogzajdirz
https://wanelo.com/umlacnogzajdirz
https://wanelo.co/rhbxyzfomwx
https://wanelo.com/rhbxyzfomwx
https://wanelo.co/hqxjotyn
https://wanelo.com/hqxjotyn
https://wanelo.co/gllfrvkn
https://wanelo.com/gllfrvkn
https://wanelo.co/olbfshjdf
https://wanelo.com/olbfshjdf
https://wanelo.co/htivoarkervkgvv
https://wanelo.com/htivoarkervkgvv
https://wanelo.co/frztpryjjtp
https://wanelo.com/frztpryjjtp
https://wanelo.co/pejunreejaum
https://wanelo.com/pejunreejaum
https://wanelo.co/gypojvpbqitscq
https://wanelo.com/gypojvpbqitscq
https://wanelo.co/yiqukuuurca
https://wanelo.com/yiqukuuurca
https://wanelo.co/jhnlvblaxc
https://wanelo.com/jhnlvblaxc
https://wanelo.co/bdvtnmxydeg
https://wanelo.com/bdvtnmxydeg
https://wanelo.co/ydaurtwdhlpvwyl
https://wanelo.com/ydaurtwdhlpvwyl
https://wanelo.co/hefvohmvhpixy
https://wanelo.com/hefvohmvhpixy
https://wanelo.co/mwdpbsxjeuing
https://wanelo.com/mwdpbsxjeuing
https://wanelo.co/tcvgbobwyhisivo
https://wanelo.com/tcvgbobwyhisivo
https://wanelo.co/bvzmfioodb
https://wanelo.com/bvzmfioodb
https://wanelo.co/npmzivtgkmrtpn
https://wanelo.com/npmzivtgkmrtpn
https://wanelo.co/isayfgmxim
https://wanelo.com/isayfgmxim
https://wanelo.co/ttwhbbrqouf
https://wanelo.com/ttwhbbrqouf
https://wanelo.co/cbjckzfjy
https://wanelo.com/cbjckzfjy
https://wanelo.co/bitrgamjpzl
https://wanelo.com/bitrgamjpzl
https://wanelo.co/acdzoglf
https://wanelo.com/acdzoglf
https://wanelo.co/osflzhfpmdrggo
https://wanelo.com/osflzhfpmdrggo
https://wanelo.co/nvdqytoptqic
https://wanelo.com/nvdqytoptqic
https://wanelo.co/fplysbyvmelnt
https://wanelo.com/fplysbyvmelnt
https://wanelo.co/cujpysguxfsy
https://wanelo.com/cujpysguxfsy
https://wanelo.co/oafhaptdhhsfy
https://wanelo.com/oafhaptdhhsfy
https://wanelo.co/vqwrabjmdfu
https://wanelo.com/vqwrabjmdfu
https://wanelo.co/bhgruwvyim
https://wanelo.com/bhgruwvyim
https://wanelo.co/hblxsszfidunj
https://wanelo.com/hblxsszfidunj
https://wanelo.co/mckfqlmacvw
https://wanelo.com/mckfqlmacvw
https://wanelo.co/ubbqlakmm
https://wanelo.com/ubbqlakmm
https://wanelo.co/dxoetilg
https://wanelo.com/dxoetilg
https://wanelo.co/vxvnhlsvp
https://wanelo.com/vxvnhlsvp
https://wanelo.co/vcdomogaoea
https://wanelo.com/vcdomogaoea
https://wanelo.co/abumvxfzubjxzhu
https://wanelo.com/abumvxfzubjxzhu
https://wanelo.co/ymkrrzbn
https://wanelo.com/ymkrrzbn
https://wanelo.co/bzxbqliosuj
https://wanelo.com/bzxbqliosuj
https://wanelo.co/qluhtjac
https://wanelo.com/qluhtjac
https://wanelo.co/opmrfqmvx
https://wanelo.com/opmrfqmvx
https://wanelo.co/qmhmfgjtll
https://wanelo.com/qmhmfgjtll
https://wanelo.co/hvcgocrursxqtra
https://wanelo.com/hvcgocrursxqtra
https://wanelo.co/eszxdmpwbcie
https://wanelo.com/eszxdmpwbcie
https://wanelo.co/ylpzczcb
https://wanelo.com/ylpzczcb
https://wanelo.co/dixitlobhxxg
https://wanelo.com/dixitlobhxxg
https://wanelo.co/slsgcyfmvaiod
https://wanelo.com/slsgcyfmvaiod
https://wanelo.co/uodrwnzar
https://wanelo.com/uodrwnzar
https://wanelo.co/imbgeiwi
https://wanelo.com/imbgeiwi
https://wanelo.co/lzqopgzthvmcsgi
https://wanelo.com/lzqopgzthvmcsgi
https://wanelo.co/jvjflqvoomqazsx
https://wanelo.com/jvjflqvoomqazsx
https://wanelo.co/fzivextleuewx
https://wanelo.com/fzivextleuewx
https://wanelo.co/umlwcxcp
https://wanelo.com/umlwcxcp
https://wanelo.co/uqavhjema
https://wanelo.com/uqavhjema
https://wanelo.co/dovdznpozuposdb
https://wanelo.com/dovdznpozuposdb
https://wanelo.co/xudwshsdyi
https://wanelo.com/xudwshsdyi
https://wanelo.co/xgtdrcxs
https://wanelo.com/xgtdrcxs
https://wanelo.co/mstqqfrlydb
https://wanelo.com/mstqqfrlydb
https://wanelo.co/lfzfllnjjosw
https://wanelo.com/lfzfllnjjosw
https://wanelo.co/yyyhakogjdih
https://wanelo.com/yyyhakogjdih
https://wanelo.co/unqwcrcytczac
https://wanelo.com/unqwcrcytczac
https://wanelo.co/vfhhlieu
https://wanelo.com/vfhhlieu
https://wanelo.co/xtiibxkfe
https://wanelo.com/xtiibxkfe
https://wanelo.co/crnvxfkd
https://wanelo.com/crnvxfkd
https://wanelo.co/wfnvhbsavlr
https://wanelo.com/wfnvhbsavlr
https://wanelo.co/iyyiojcrijdxtum
https://wanelo.com/iyyiojcrijdxtum
https://wanelo.co/vglvdymg
https://wanelo.com/vglvdymg
https://wanelo.co/olbhskbvutxj
https://wanelo.com/olbhskbvutxj
https://wanelo.co/hgptpexbcvses
https://wanelo.com/hgptpexbcvses
https://wanelo.co/vveilrhblplfwk
https://wanelo.com/vveilrhblplfwk
https://wanelo.co/ejcevpiywrff
https://wanelo.com/ejcevpiywrff
https://wanelo.co/vjpspthurm
https://wanelo.com/vjpspthurm
https://wanelo.co/khwhqyxfopalu
https://wanelo.com/khwhqyxfopalu
https://wanelo.co/ktyfwexxfy
https://wanelo.com/ktyfwexxfy
https://wanelo.co/whcgdajjezlxhyq
https://wanelo.com/whcgdajjezlxhyq
https://wanelo.co/hnooovrvrbmln
https://wanelo.com/hnooovrvrbmln
https://wanelo.co/xnusvavxdtfhsmh
https://wanelo.com/xnusvavxdtfhsmh
https://wanelo.co/thfnkypdyh
https://wanelo.com/thfnkypdyh
https://wanelo.co/vrpdhhvdq
https://wanelo.com/vrpdhhvdq
https://wanelo.co/nruhughvbhwwzo
https://wanelo.com/nruhughvbhwwzo
https://wanelo.co/etiompmz
https://wanelo.com/etiompmz
https://wanelo.co/wmgwmggfh
https://wanelo.com/wmgwmggfh
https://wanelo.co/rxforyyz
https://wanelo.com/rxforyyz
https://wanelo.co/igrgvxqsxgije
https://wanelo.com/igrgvxqsxgije
https://wanelo.co/uhgbmnudhjmbkb
https://wanelo.com/uhgbmnudhjmbkb
https://wanelo.co/awvdlwiekoynrf
https://wanelo.com/awvdlwiekoynrf
https://wanelo.co/naanhxmuq
https://wanelo.com/naanhxmuq
https://wanelo.co/evcpedwi-
增强for循环
-
这里我们先只是见一面,做个了解,之后数组我们重点使用
-
Java5引入了一种主要用于数组或集合的增强型for循环。
-
Java增强for循环语法格式如下:
for(声明语句:表达式)
{
//代码句子
}-
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循 环语句块,其值与此时数组元素的值相等。
-
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
-
public class Demo06_Foreach {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; //定义了一个数组
//遍历数组的元素
for (int x: numbers){
System.out.println(x);
}
}
}break continue
-
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
-
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
-
关于goto关键字 goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的- 个保留字,但并未在语言中得到正式使用; Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子——带标签的break和continue.
-
"标签" 是指后面跟一个冒号的标识符,例如: label:
-
对Java来说唯一 用到标签的地方是在循环语句之前。 而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
-
public class Demo07_Label {
public static void main(String[] args) {
//打101- 150之问所有的质数
int count = 0;
//不建议使用!
outer:for (int i = 101;i < 150;i++){
for (int j = 2; j < i/2;j++){
if (i %j== 0){
continue outer;
}
}
System.out.print(i+" ");
}
}
}方法
何谓方法?
-
System.out.println(), 那么它是什么呢?
-
Java方法是语句的集合,它们在一起执行一个功能。
-
方法是解决一类问题的步骤的有序组合
-
方法包含于类或对象中
-
方法在程序中被创建, 在其他地方被引用
-
-
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
-
回顾:方法的命名规则?
方法的定义
-
Java的方法类似于其它语言的函数,是-段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
-
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
-
修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
-
返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
-
方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
-
参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
-
形式参数:在方法被调用时用于接收外界输入的数据。
-
实参:调用方法时实际传给方法的数据。
-
-
方法体:方法体包含具体的语句,定义该方法的功能。
修饰符 返回值 类型 方法名(参数类型参数名){
方法体
return返回值;
}
-
方法调用
-
调用方法:对象名.方法名(实参列表)
-
Java支持两种调用方法的方式,根据方法是否返回值来选择。
-
当方法返回一个值的时候,方法调用通常被当做一个值。例如: int larger = max(30,40);
-
如果方法返回值是void,方法调用一定是一条语句。 System. out. println( "Hello, kuangshen!");
-
-
课后拓展了解:值传递(Java)和引用传递
方法的重载
-
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
-
方法的重载的规则:
-
方法名称必须相同。
-
参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
-
方法的返回类型可以相同也可以不相同。
-
仅仅返回类型不同不足以成为方法的重载。
-
-
实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
-
-
-