二、java基础类型

一、基础类型

java中一共有8种基础类型:4种整型、2种浮点型、1种用于表示Unicode编码的字符单元、1种表示真值的boolean型。
整型

类型存储要求取值范围
int4个字节-2 147 483 648 - 2 147 483 647 (正好超过 20 亿)
short2个字节-32 768 - 32 767
long8个字节-9 223 372 036 854 775 B08 - 9 223 372 036 854 775 807
byte1个字节-128-127

浮点型

类型存储要求取值范围
float4字节大约 ± 3.402 823 47E+38F (有效位数为 6 ~ 7 位)
double8字节大约 ± 1.797 693 134 862 315 70E+308 (有效位数为 15 位)

char型

类型存储要求取值范围
char2字节U+0000 - U+FFFF (Unicode码)

Boolean类型

类型存储要求取值范围
boolean未指明多少字节true 或者 false

二、自动装箱和拆箱

java是一种面向对象的语言,但是基础的类型不是面向对象,所以在设计时候每个基础类型都对应了一种类。这样的八个类叫做包装类。
装箱:把基础的数据类型转换成包装类的过程就是装箱。
拆箱:把包装类转换成基础的数据类型的过程就是拆箱。
在 Java SE5 中,为了减少开发人员的工作,Java 提供了自动拆箱与自动装箱功能。
自动装箱:把基础的数据类型自动转换成包装类的过程就是装箱。
自动拆箱:把包装类转自动换成基础的数据类型的过程就是拆箱。

 		//装箱
        Integer integer = 1;
        //拆箱
        int i = integer;

备注:假设for 循环中有大量拆装箱操作,会浪费很多资源。

三、 变量

在java中每种变量都有一个类型(type)。变量声明之前,变量的类型都是放在变量的前面。java一共有三种变量类型。

  1. 类变量:类变量一般是放在jvm的方法区中。
  2. 成员变量:成员变量是和类一起存储在堆内存中。
  3. 局部变量:局部变量是保存在栈内存中。
public class JavaVariable {

    public static String variableA;

    private String variableB;

    public void test(String variableC) {

    }
}

代码中variableA就是类变量,variableB就是成员变量,variableC就是局部变量

四、常量

在 Java 中, 利用关键字 final 指示常量,关键字 final 表示这个变量只能被赋值一次。一旦被赋值之后, 就不能够再更改了。习惯上常量名使用全大写。

public static final double CM_PER_INCH = 2.54;

五、值传递和引用传递

值传递:
方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值。

引用传递:
也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,函数接收的是原始值的内存地址;在方法执行中,形参和实参内容相同,指向同一块内存地址,方法执行中对引用的操作将会影响到实际对象。
可参考https://www.zhihu.com/question/31203609

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Oak_Fei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值