Java - 变量常量数据类型

标识符命名规范

可以有字母数字下划线和美元符组成, hello abc

不能以数字开头 123abc

严格区分大小写 void Void

不能是java的关键字和保留字 class

标识符必须是见名知意的

ps:在Eclipse中紫色的都是关键字

关键字

具有某个特殊含义的字符串例如class

变量

什么是变量

数据在计算机中存储需要,内存地址,数据值,以及标识符,我们未来更好的描述这种数据,所以给他取名字叫变量,

变量的三个组成,变量类型,变量名称,变量值

变量名命名规范:

1.满足标识符规则

2.符合驼峰命名法 小驼峰

3.简单,见名知意 长度没有限制

类的命名规范:

pascal规范,每个单词首字母都是大写

数据类型

数据类型分两类:

​ 基本数据类型

​ 引用数据类型

基本数据类型又包含:

  • 数值

    • 整数 (byte,short,int,long)

    • 浮点 (float,double)

  • 字符 (char)

  • 布尔 (boolean)

基本数据类型说明:

类型 说明 字节数
byte 字节型 1
short 短整型 2
int 整型 4
long 长整型 8
float 浮点数 4
double 双精度浮点 8
char 字符 2
boolean 布尔 1

字面值

java表示整数字面值

八进制:0开头 包括0-7

​ 例如:037,056

十六进制:0x(小写或大写均可)开头,包括0-9,以及字母a-f,A_F

如:0x12,0xBF

浮点字面值

双进度浮点数

123.1d , 1.1D

单精度浮点

1.1f 1.2F

后缀就是名字的首字母

注意:

当小数后面没有任何字母时默认为double类型

在java中 较小的类型可以转换为较大的类型,较大的类型不可以直接转换为较小的类型,会造成数据丢失

使用科学计数法表示浮点型数据

double d = 1.23e5; //表示1.23 乘以 10的5次方  小数点向后5位
float d1 = 1.23e5f; //表示1.23 乘以 10的5次方 float类型
// 省略整数部分 就是 0.x
double d2 = .2;
float d3 = .2f;

System.out.println(d1);

字符型字面值

使用大单引号定义一个字符变量

char a = 'A'

char ch = 65;

可以使用整型作为值,会自动转换为ASC对应的字符

整型和字符型可以使用ASC相互转换

注意:当字符的链接操作中都是整数或是字符时,字符会被转为整数
System.out.println('\t'+'a');
System.out.println('\t'+"a");

布尔类型字面值

true / flase

字符串字面值

使用双引号包裹的0或多个字符(可以是unicode字符)

String a = ""; //空字符

String a = "abc";

变量声明

变量类型 变量名 = 变量值;

例如:

int a = 3;

3称之为初值

给变量初值的过程称之为初始化

基本数据类型变量的存储

按照作用范围可分为4类:

  • 类级别
  • 实例级别
  • 方法级别 也称之为局部变量
  • 块级别
内存分区:

image-20191107212918199

int a = 100;

1.栈中开辟4字节空间

2.将值100存储到内存区域中

3.将内存区域的地址与变量名a绑定

a 就代表 这块区域中的数据,数据可能会发生变化,所以称之为变量(会变的数据)

Unicode编码

万国码,统一码,支持世界上所有的字符

在字符前面添加\u作为前缀,表示unicode编码

char c = '\u005d'

转义字符

image-20191108104032085

类型转换

自动类型转换(隐式类型转换)

数据范围小的可以自动转为范围大的同类型

image-20191108105643302

实线表示转换过程不会丢失数据

虚线表示转换过程可能丢失数据

强制类型转换

小变大 隐式转换无丢失 short -> int

大变小 强制转换会丢失 int -> short

一样大 隐式强制都可能丢失 例如 float -> int

语法:

double a = 1.1;
float b = (double)a;

常量

在变量定义的前面加上final 关键字 ,就是常量

常量是值不能发生变化的量,一旦赋值,后续不能修改

final int n = 100;
n = 1; //报错

final PAI = 3.1415926;

命名规范,全大写,单词之间用下划线链接

posted @ 2019-11-20 22:43  CoderJerry  阅读(...)  评论(...编辑  收藏