Java的基本数据类型

学习一个新东西,我建议先看它的结构,这样有了整体的认知之后,再去学习细节,就能更好的认识到每个细节点在整体中的位置和作用,就可以更好的理解整体和局部之间的关系。

比如我们现在学的是 Java 程序语言设计,那它的表现形式就是 Java 代码。写一个能跑的 Java 程序,那就需要写个 class,class 里要有个 main 方法,这样就构成了一个完整的 Java 程序。

其实我们上篇提到的 HelloWorld 程序就是一个完整的 Java 程序,它由访问修饰符、类型、类命名、main 方法、执行语句、花括号和注释这几个核心要素构成。

访问修饰符决定了被修饰对象的可访问范围,被修饰对象可以是类、变量和方法,访问范围的标识有 public、protected、缺省和 private。

类类型表明当前类的类型,有 class(普通类)、enum(枚举类)、interface(接口类)和 @interface(注解类)。

类名是当前类的标识,通过它来区别其它类。命名的时候一般大写字母开头,可以是字母数字下划线的组合,不过最规范的是大写字母开头的驼峰式命名

 

main 方法是 Java 程序必备的一个东西,它是 Java 程序的执行入口,声明也是固定的。

执行语句就是我们要编写的程序逻辑了,每条语句都要用分号。

花括号 {} 代表了当前内容的作用域,它总是成对出现。比如 HelloWorld 后边的 {} 里的内容,就只影响到当前这个 class,main(String[] args) 后边的 {} 里的内容,就只影响到当前这个 main 方法。

注释是对代码逻辑的解释,它不是写一个 Java 程序必备的,也不会被编译到字节码文件里。但是我认为一个代码的注释是一个代码的灵魂。因为代码虽说是给机器执行的,但却是给人看的,好的代码注释,是能够提升代码的可读性和可维护性的。

注释又分为单行注释多行注释文档注释

编程躲不开的一个概念就是变量。

百度上对变量的定义是:在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名。在实际中我们应该尽量使用有意义的变量名。Java 变量的一个原则:先定义后使用,定义必须指定数据类型

Java数据类型分为基本数据类型引用数据类型

 

1 基本数据类型

byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0

short:短整型,2个字节(16 bit),取值范围-32768~32717,默认值0

int:整型,用于存储整数,在内存中占4个字节,取值范围-2147483648~2147483647,默认值0

long:长整型,在内存中占8个字节-2^63~2^63-1,默认值oL,注意: Java 的long 的后缀 L 可以小写成 l , 但是建议用大写 L,以免与数字 1 混淆; 

float:浮点型,在内存中占4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

double:双精度浮点型,用于存储带有小数点的数字,在内存中占8个字节,默认值0

char:字符型,用于存储单个字符,内存中占2个字节,取值范围0~65535,默认值为空

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false,注意:没有1和0.

2 Java中的数据类型在内存的存储原理

Java的数据类型存储原理要根据其为局部变量还是成员变量来区分,局部变量与成员变量根据定义变量的位置区分:

局部变量:方法中的变量;

成员变量:类中方法外;

3 成员变量和局部变量的简单概念

成员变量:

  • 实例变量(不以static修饰)
  • 类变量(以static修饰)

局部变量:

  • 形参(方法签名中的变量)
  • 方法局部变量(在方法内定义)
  • 代码块局部变量(在代码块中定义)

对于局部变量来说,不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于引用类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上。

对于成员变量来说,不论是基本数据类型还是引用类型,他们都会存储在堆内存或者方法区中;成员变量可细分为静态成员变量和普通成员变量,静态成员变量类属于类,类可以直接访问,存储在方法区中;普通成员变量属于类对象,必须声明对象之后,通过对象才能访问,存储在堆中。

4 基本类型转换

(1)自动类型转换(隐性类型转换)

Java所有的数值类型变量都可以互相转换,如果系统把某种基本类型的值直接赋给另一种基本类型的变量,则这种方式被称为自动类型转换又称为隐性类型转换。

(2) 强制类型转换

当把一个范围大的数值或变量赋给另一个范围小的变量时,需要进行强制转换。

大范围 double 转小范围 int

double  变量名 = (int) 变量名;

注意:强制类型转换大范围的数值会丢失精度 。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值