【二】Java基础(01)---(方法与变量)

      人生是一场单程的旅行,即使有些遗憾,我们也没有从头再来的机会,与其纠结无法改变的过

去,不如微笑着面对未来,因为生活,没有如果  

目录

前言

一、标识符

二、变量与方法      

(一)属性(成员变量)与局部变量的

1.相同点

2.不同点

        2.1在类中声明的位置不同

        2.2关于权限修饰符的不同

        2.3默认初始话值的情况

        2.4在内存中加载的位置

3.属性(成员变量)赋值

(二)成员方法

类中方法的声明和使用

方法的重载

递归方法

方法参数的值传递机制


前言

Java的基础知识,该篇主要讲述变量与方法的特性

一、标识符

1.标识符:凡是自己可以起名字的地方都叫标识符。

比如:类名,变量名,方法名,接口名,包名,.标识符命名规则:

>由26个英文字母大小写,0-9,_$组成

>数字不能开头

>不可以使用关键字和保留字

>Java严格区分大小写,长度无限制

>标识符不能包含空格

3.基本数据类型转换

        1.自动类型提升

        byte 1 char2 short2 --> int4 --> long8 --> float4 --> double8        特别的:当char ,byte,short ,这三种之间做运算时,包括同类型之间的运算,结果是int类型

    容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型

        容量大小表示数据的范围,比如 float 的容量大于long的数据类型

        2.强制类型转换

4.数字进制

        1.二进制:0b

        2.八进制:0

        3.十进制:

        4.十六进制:0x

原码 除符号位外 取反 --> 反码 加一 -->补码

5.运算符

      1.算数运算符

        2.移位运算

        3.比较运算符

        4.位运算符

        5.逻辑运算符

        6.赋值运算符

 6.执行结构       

        循环结构

        for (1;2;4){

        3

        }

        1-2-3-4-2-3-4-2

        1

        while(2){

        3

        }

7.构造器的作用

            创建对象

            初始化对象结构

二、变量与方法      

(一)属性(成员变量)与局部变量的

1.相同点

        1.1定义变量的格式:数据类型 变量名 = 变量值

        1.2先声明后使用

        1.3变量都有其对应的作用域

2.不同点

        2.1在类中声明的位置不同

        属性:直接定义在类的一对{}内

        局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量

        2.2关于权限修饰符的不同

        属性:可以在声明属性时,指明其权限,使用权限修饰符

        常用的权限修饰符 :private public 缺省 protected ----》封装性

        局部变量:不可以使用权限修饰符

        2.3默认初始话值的情况

        属性: 类的属性,根据其类型,都有默认初始话值。

        局部变量:没有默认初始化值

        意味着在调用之前一定要显示赋值

        特别的形参需要在调用的时候赋值

        2.4在内存中加载的位置

        属性:加载到堆空间中

        局部变量:加载到栈中

3.属性(成员变量)赋值

1.默认初始化

2.显示初始化/3.代码块赋值

4.构造器初始化

5.有了对象后调用赋值

(二)成员方法

 类中方法的声明和使用

 方法:描述类应该具有的功能

 方法声明:权限修饰符 返回值类型 方法名(形参列表){

}

 说明: 权限修饰符: private public 缺省 protected

       返回值类型:有返回值vs无返回值

       有返回值  一定要有返回值 return

       无返回值   不要返回值,return 结束该方法的作用

 方法使用:可以使用当前类中的方法,也可以递归使用方法,方法中不可以定义方法

方法的重载

同一个类 方法同名但是参数列表不同,参数个数不同,参数类型不同

可变形参的方法

具体使用

        1.可变个数形参的格式,数据类型 ... 变量名

        2.当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个。。。

        3.可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载

        4.可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存

        5.可变个数形参在方法的形参中必须声明在末尾。

        6.可变个数形参在方法的形参中,最多只能声明一个可变形参

递归方法

    1.递归方法:一个方法体内调用它自身

    2.方法递归包含了一种隐式的循环,他会重复执行某段代码但这后者那个重复执行无需循环控制、

    递归一定要向已经知道的方向递归,否则这种递归变成无穷递归,类似与死循环

    public class Recure{

        public int getSum(int n){

        if (n == 1){

        return 1;

        else{

        return n+getSum(n-1);

        }

        }

        }

    }

方法参数的值传递机制

    1.变量赋值

    如果变量是基本数据类型,此时赋值的是变量所保存的数据值

    如果变量是引用数据类型,此时赋值的是变量所保存的数据地址值

    2.值传递

    形参,方法定义时,声明的小括号内的参数

    实参,方法调用时,实际传递给形参的数据

    3.值传递机制

    如果参数时基本数据类型,此时实参赋予给形参的实参真实存储数据的值

    如果参数时引用数据类型,此时实参赋予给形参的实参存储数据的地址值

   public static void main(String[] args){

    Data data = new Data();

    data.m =10;

    data.n =20

    qqqq test = new qqqq();

    test.swap(data);

    System.out.prinln(""+ data.m +data.n);

    }

    public void swap(Data data){

    int temp =data.m;

    data.m = data.n;

    data.n = temp; }

    此时该方法可以成功交换数据,因为引用数据类型赋值指向同一个地址值,地址值相同就会指向同一个堆空间里面的对象,

    所以值可以成功交换,但是如果时数据变量,只是传递了数据,即使交换了但是原变量时不会变的

    自悟:基本数据类型在栈中只是数据,引用数据类型在栈中是地址值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值