欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习笔记2

程序员文章站 2024-02-16 09:30:58
...

成员方法

成员方法的定义

  • 方法是类或对象的行为特征的抽象。
  • 所有方法必须定义在类里,方法不能定义在另一个方法的里面
  • 使用“类名.方法名”或“对象.方法”的形式调用
    /*
     * 格式:
     * 权限修饰符 返回值类型 方法名称(方法参数){
     *      //方法体
     * 		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;
        }
    
  • 调用有返回值的方法时,可接收返回值,也可不接收

局部变量和成员变量

  • 变量的声明

    数据类型 标识符 [=值][,标识符[=值]...]; 
    
  • 局部变量

    1. 定义在类的方法内或代码块内的变量
    2. 局部变量只在定义它的方法体内或代码块内有效
    3. 局部变量在使用之前,必须先初始化
  • 全局变量(成员变量)

    1. 一个类中既不在方法体内也不在程序块内定义的变量

    2. 类中所有的方法和代码块都可以访问全局变量

    3. 对于没有初始化的成员变量,系统会指定默认值

数据类型 默认值 数据类型 默认值
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
        }
    

二、关系运算符

  • 关系运算

    == 判断相等 != 判断不等 > 判断大于

    < 判断小于 >= 判断大于等于 <= 判断小于等于

三、逻辑运算符

  • 逻辑运算

    ! 逻辑非 & 逻辑与 | 逻辑或

    ^ 逻辑异或 && 短路与 || 短路或

    1. 非运算:对结果取反
    2. 与运算:只要其中一个为false,那么结果就为false
    3. 或运算:只要其中一个为true,那么结果就为true
    4. 异或运算:两个相同为false,两个相异则为true
    5. 短路与:只要其中一个表达式或方法的值为false,那么结果就为false,且不执行之后的操作
    6. 短路或:只要其中一个表达式或方法的返回值为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学习笔记2