Java学习笔记2
成员方法
成员方法的定义
- 方法是类或对象的行为特征的抽象。
- 所有方法必须定义在类里,方法不能定义在另一个方法的里面
- 使用“类名.方法名”或“对象.方法”的形式调用
/*
* 格式:
* 权限修饰符 返回值类型 方法名称(方法参数){
* //方法体
* return ;//返回值类型是void时return可以不写
* }
*/
public class MethodTest {
//无参数无返回值的方法
public void aMethod() {
System.out.println("无参数无返回值方法");
}
//有参数但无返回值方法
public void bMethod(int a){
System.out.println("有参数但无返回值方法");
}
//没有参数但有返回值的方法
public int cMethod(){
System.out.println("没有参数但有返回值的方法");
return 10;
}
//有参数有返回值的方法
public int dMethod(int a){
System.out.println("有参数有返回值的方法");
return a+10;
}
public static void main(String[] args) {
MethodTest mt=new MethodTest(); //创建MethodTest类的对象
mt.aMethod(); //通过“对象.方法”调用
}
}
方法的参数
- 方法可有0到多个参数,参数类型可以是任意数据类型
- 方法参数是局部变量
- 方法的参数为基本数据类型时:传递的是值的副本(值拷贝),方法中不会改变原实参的值
- 当方法的参数是引用类型时:传递的是对象的地址,接受参数的方法中可以改变参数的值
方法返回值
-
方法可以有返回值类型声明,也可以没有,没有时使用void声明
-
一个有返回值的方法中有且只有一条return语句被执行,执行后方法执行会立即结束
-
方法返回值类型可以是任意类型
-
//基本数据类型作为返回值 public int aMethod(){ // //直接返回该类型 // return 1; // //返回值自动类型转换 // byte b=10; // return b; //byte-->int //返回值强制类型转换 double d=12.5; return (int)d; }
-
调用有返回值的方法时,可接收返回值,也可不接收
局部变量和成员变量
-
变量的声明
数据类型 标识符 [=值][,标识符[=值]...];
-
局部变量
- 定义在类的方法内或代码块内的变量
- 局部变量只在定义它的方法体内或代码块内有效
- 局部变量在使用之前,必须先初始化
-
全局变量(成员变量)
-
一个类中既不在方法体内也不在程序块内定义的变量
-
类中所有的方法和代码块都可以访问全局变量
-
对于没有初始化的成员变量,系统会指定默认值
-
数据类型 | 默认值 | 数据类型 | 默认值 |
---|---|---|---|
byte | 0 | short | 0 |
int | 0 | long | 0L |
float | 0.0f | double | 0.0d |
char | ‘\u0000’ | boolean | false |
运算符
一、算术运算符
-
算术运算:+(加)、-(减)、*(乘)、/(整除)、%(取余) ——二元运算
++ 、- -(自增自减运算) ——单目运算
-
i++:先用i变量的值,然后再进行加法运算(先用再加)
++i:先加1再使用i变量的值(先加再用)
i- -:先用再减
- -i:先减再用
public void aMethod(){ int i=5; i++; //6 System.out.println(i);//6 System.out.println(i++);//6 先用i,再加1,此时i为7 System.out.println(++i);//8 先加1,再用i,7+1=8,此时i为8 System.out.println(i);//8 }
二、关系运算符
-
关系运算
== 判断相等 != 判断不等 > 判断大于
< 判断小于 >= 判断大于等于 <= 判断小于等于
三、逻辑运算符
-
逻辑运算
! 逻辑非 & 逻辑与 | 逻辑或
^ 逻辑异或 && 短路与 || 短路或
- 非运算:对结果取反
- 与运算:只要其中一个为false,那么结果就为false
- 或运算:只要其中一个为true,那么结果就为true
- 异或运算:两个相同为false,两个相异则为true
- 短路与:只要其中一个表达式或方法的值为false,那么结果就为false,且不执行之后的操作
- 短路或:只要其中一个表达式或方法的返回值为true,那么结果就为true,且不再执行之后的操作
四、赋值运算符
-
赋值运算符:=(等于号)、+=(加等于)、-=(减等于)
*=(乘等于)、/=(除等于)、%=(取模等)
-
赋值运算符的优先级很低
-
赋值运算符先计算右边再计算左边
五、三目运算符
-
三目条件运算符语法格式:
x ? y : z
x返回一个boolean值的表达式,如果x为true,则执行y;如果x为false,将执行z
六、字符串连接符
-
运算符“+”用于数值类型数据,是加法运算符,用于字符串类型(String)数据中,是连接符
例:“abc” + “de” 结果为"abcde"
-
字符串+数值,Java会自动将数值转换成字符串,,然后两个字符串相连形成一个新的字符串
例:“12” + 34 结果为 “1234”
七、运算符优先级
- 运算符优先级口诀:非、算、关、与或、赋
连接符
-
运算符“+”用于数值类型数据,是加法运算符,用于字符串类型(String)数据中,是连接符
例:“abc” + “de” 结果为"abcde"
-
字符串+数值,Java会自动将数值转换成字符串,,然后两个字符串相连形成一个新的字符串
例:“12” + 34 结果为 “1234”
七、运算符优先级
- 运算符优先级口诀:非、算、关、与或、赋
下一篇: java学习笔记--注解