方法是类和对象动态行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序有一个个函数调用组成;面向对象中,整个程序的基本单位是类,方法是从属于类或对象的。
方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成 1 个功能,这样利于我们后期的扩展。
Java 的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:
[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){
Java语句;… … …
}
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法在执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
Java 语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
return 语句终止方法的运行并指定要返回的数据。
基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身。
java中只有值传递!!!
算术运算符: +,-,*,/,%,++,--
赋值运算符 =
关系运算符: >,<,>=,<=,==,!= instanceof
逻辑运算符: &&,||,!
位运算符: &,|,^,~ , >>,<<,>>> (了解即可)
条件运算符 ?:
扩展赋值运算符:+=,-=,*=,/=
整数运算:
如果两个操作数有一个为Long, 则结果也为long
没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
浮点运算:
如果两个操作数有一个为double, 则结果为double.
只有两个操作数都是float, 则结果才为float.
其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004
注:一般都是正整数运算!
int a = 3;
int b = a++; //执行完后,b=3。先给b赋值,再自增。
int c = ++a; //执行完后,c=5。先自增,再给b赋值
注:java中的乘幂处理:
int a = 3^2; //java中不能这么处理, ^是异或符号。
double b = Math.pow(3, 2);
Math类提供了很多科学和工程计算需要的方法和常数。
逻辑与:&&和&,逻辑或:||和|,逻辑非:!。
逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。
逻辑与只要有一个为false, 则直接返回false.
逻辑或只要有一个为true, 则直接返回true;
~ -- 取反 & -- 按位与
| -- 按位或 ^ -- 按位异或
<<:左移运算符, >>:右移运算符 >>>:无符号移位运算符
右移一位相当于除2取商。
左移一位相当于乘2。(小口诀:左乘右除)
扩展运算符
运算符 | 用法举例 | 等效的表达式 |
---|---|---|
+= | a += b | a = a+b |
-= | a -= b | a = a-b |
*= | a *= b | a = a*b |
/= | a /= b | a = a/b |
%= | a %= b | a = a%b |
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
int c = 12;
System.out.println("c=" + c);
三目条件运算符,语法格式:
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
举例:
运算符优先级的问题
记住先乘除后加减就够了。
注:大家不需要去刻意的记住运算符的优先级,表达式里面优先使用小括号来组织就可以了。因为小括号可以提升优先级。