Java基础笔记(四)——命名规则、数据类型

摘要:
标识符是需要在Java程序中自定义的名称,例如变量名、方法名、类名、包名、项目名等。Java中的基本数据类型及其描述如下:Java中的数字类型是有符号的,没有无符号的数字。它们的值范围是固定的,不会随着硬件环境或操作系统的改变而改变。除了上述八种基本数据类型之外,Java语言中还有一种基本类型void,它也有一个相应的封装类Java.lang.void,但不能直接操作。

标识符即Java程序中需要自定义的名称,如变量名、方法名、类名、包名、工程名等。

标识符的命名规则:

1.可由字母、数字、下划线(_)和美元符($)组成,不能以数字开头。

2.严格区分大小写。

3.不能是Java关键字和保留字。

4.最好能反映其作用。

变量名、方法名的命名规则:

1.满足标识符命名规则。

2.符合驼峰法命名规范。(首字母小写,如果名称由多个单词组成,从第二个单词开始每个单词的首字母都要大写。)

3.尽量简单,做到见名知意。

常量名的命名规则:

字母全部大写,且单词间用下划线(_)分隔。

如:final int MAX_VALUE=100;

类名、接口名的命名规则:

满足Pascal命名法规范。(首字母大写,如果名称由多个单词组成,每个单词的首字母都要大写。

接口的实现类的命名规则为:<接口名>+"Impl"。

包名、项目名的命名规则:

包名:<域名反转>.<团队名>.<项目名>。相关项目可使用<域名反转>.<团队名>.<f父项目名>.<子项目名>。

命名必须全部使用英文小写字母,不要用下划线等字符。(除常量外,Java命名习惯中均不推荐使用下划线等字符)

项目工程名用小写英文字母。

数据类型

Java基础笔记(四)——命名规则、数据类型第1张

基本数据类型的数据变量在声明后就会立刻在内存中的栈上被分配内存空间,变量值存储在栈空间里。

例如:int n=100; //变量类型、变量名、变量值

在栈中开辟int类型大小的存储空间, 4个字节,占用32个二进制位,把100这个整型字面值放到开辟的空间中,n是100所占内存空间的别名,代表100去做运算。

引用类型继承于Object类(也是引用类型),内存栈里存储的是对象的引用变量(要存储的是实际对象的地址),对象本身存储在内存堆上。

例如: 用类定义一个变量叫对象的引用变量名,new出来的对象存储在堆空间,把对象在堆内存的地址存储到栈内存中这个引用变量名所在的空间里,这个引用变量名可以通过地址来找到对象,即对象的引用变量指向这个对象。

Java基础笔记(四)——命名规则、数据类型第2张

            图1

栈:栈数据可共享,存取速度比堆快,仅次于寄存器,存在栈中的数据大小与生存期必须是确定的。关于回收:当超过变量的作用域后,Java会自动释放该变量内存空间,可立即被其它利用。

堆:存储速度较慢,动态地分配内存大小,生存期也不必预先告诉编译器。关于回收:由Java虚拟机的自动垃圾回收器来回收不再使用的数据。

Java基础笔记(四)——命名规则、数据类型第3张

           图2

例子:

Dog d1; //在栈内存里给引用变量d1开辟存储空间,这时d1=null。(null不是一个合法的Object实例,所以编译器并没有为其(null)分配内存,它仅仅用于表明该引用目前没有指向任何对象。)

d1=new Dog(); //在堆内存里给Dog类的对象开辟空间,并调用Dog类的构造函数。(若未自定义,调用系统默认提供的。)

注:

1.这里的"=",是把Dog类的对象在堆中的地址传递给引用变量d1,即栈中的引用变量d1里存放了新创建的Dog类对象的地址,这时引用变量d1指向了新创建出来的对象。

2.对象创建出来,没有名字,通过引用变量来对其操作。

Dog d2;

d2=d1; //d2也指向了d1所指向的对象  如上图2

注:

1.一个对象引用可以指向0个或1个对象。

2.一个对象可以有n个引用指向它。

d2=new Dog(); // 引用变量d2改成指向了新的第2个对象

d1=d2;  // d1也指向了第2个对象

注:第一个对象已成为垃圾回收机制的处理对象。

Java中的基本数据类型及其描述如下:

Java基础笔记(四)——命名规则、数据类型第4张

Java中的数值类型都是有符号的,不存在无符号的数,它们的取值范围也是固定的,不会随着硬件环境或者操作系统的改变而改变。除了以上八种基本数据类型以外,在Java语言中,还存在另外一种基本类型void,它也有对应的封装类java.lang.void,只是无法直接对它进行操作。

封装类型和原始类型有何不同:

1.原始数据类型在传递参数时都是按值传递,而封装类型是按引用传递的。

2.当封装类型和原始类型用作某个类的实例数据时,它们所指定的默认值不同。对象引用实例变量的默认值为null,而原始类型实例变量的默认值与它们的类型有关(例如int默认初始化为0)。

例子:

 1 public class Test {
 2     String s;
 3     int i;
 4     float f;
 5     public static void main(String args[]) {
 6         Test t=new Test();
 7         System.out.println(t.s==null);
 8         System.out.println(t.i);
 9         System.out.println(t.f);
10     }
11 }

程序运行结果为:

true

0

0.0

免责声明:文章转载自《Java基础笔记(四)——命名规则、数据类型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇父进程非阻塞回收子进程(适用LINUX下C语言的clientserver模型)hadoop集群搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux declare命令

[ Linux 命令大全Linux declare命令用于声明 shell 变量。 declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。 语法 declare [+/-][rxi...

perl5 第二章 简单变量

第二章 简单变量  by flamephoenix 一、整型 二、浮点数 三、字符串 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串。一、整型 1、整型   PERL最常用的简单变量,由于其与其它语言基本相同,不再赘述。   例:   $x = 12345;   if (1217 + 116 == 1333) {   # statement...

vue-cli3使用less全局变量,不用每个组件引入less文件(亲测有效)

问题: 在global.less文件中定义一些全局使用的less变量; 结果组件使用这些全局变量时,都要@import "~@/styles/global.less"引入该文件,否则报错 解决方法和步骤 1. 安装style-resources-loader yarn add style-resources-loader 2. 在vue.config.j...

03-cmake语法-变量,字符串

CMake的基本数据类型是字符串(不区分大小写),一组字符串在一起称为列表(list)。 条件判断中的取值情况如下表: 真 1, ON, YES, TRUE, Y, 非0的数 假 0, OFF, NO, FALSE, N, IGNORE, 空字符串,以“-NOTFOUND”结尾的字符串 变量显式定义 set(VAR a b c) # 输出 V...

R语言数据挖掘方法及应用

R语言数据挖掘方法及应用 第1篇 起步篇:R语言数据挖掘入门并不难 1 数据挖掘与R语言概述 1.1 为什么要学习数据挖掘和R语言 1.2 什么是数据挖掘 1.3 数据挖掘能给出什么 1.3.1 数据挖掘结果有哪些呈现方式 1.3.2 数据挖掘结果有哪些基本特征 1.4 数据挖掘能解决什么问题 1.4.1 数据预测 1.4.2 发现数据的内在结构 1.4....

ansible 调试 debug 一介凡人

一、debug模块 1、debug模块是Ansible Playbook中最常用的调试模块,可以在Playbook执行过程打印调试信息,特别是跟when条件语句一起使用时,可以调试特定条件下的执行过程。 比如:当变量 a 定义时,将 a 的值打印出来,当任务成功后,打印执行结果等。 msg:调试输出的消息 var:将某个任务执行的输出作为变量传递给d...