基本数据类型

 文章目录 

  • 一、标识符
  • 二、Java关键字
  • 三、变量
  • 四、数据类型
    • 基本数据类型
    • 引用数据类型
  • 五、基本数据类型的转换


一、标识符

1.含义:给类、接口、方法、变量等取名字时使用的字符序列。

2.命名规范:

(1)组成部分:英文大小写字母、数字字符、 $、_ (字下美人数骆驼)-> 驼峰命名法

(2)注意事项:

 a.不能以数字开头;

 b.不能包含除了$和_以外的特殊符号;

 c.不能使用Java中的关键字;

d.区分大小写;

e.不要使用中文(编码格式不统一时出现乱码)

二、Java关键字

含义:Java提供的具有特殊意义的单词(练习、理解、切记死记硬背)

三、变量

1.含义:在程序执行的过程中,其值会发生变化,就是用来存储可变化的数据的一个元素

变量就是存储单个数据的容器,是内存。

2.语法规则:数据类型 变量名 [= 初始值];     ( [= 初始值] 可写可不写,不影响语法规则)

               =:赋值号,将赋值号右边的值赋值给左边的变量。

3.使用的注意事项:

   a.变量要先初始化,才能使用;

   b.变量定义的作用域问题,同一个作用域变量名不能重名。

四、数据类型

1.含义:Java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存中为每种数据类型分配了不同的内存空间。

2.Java数据类型图:

(1)float后的值一定要加上f;

(2)char的值只能是一个字符;

(3)boolean的值只有true和false。

(4)boolean使用4字节表示:因为计算机底层没有boolean类型机器指令,boolean底层使用int来表示。boolean类型的数组中元素用1个字节表示。

3. Java数据类型取值范围表:

   

 注意:byte、char、int类型的取值范围

           1字节(计算机存储的最小单位)=8个比特(位)(计算机以二进制来存储数据)

五、基本数据类型的转换

1.数值型的取值范围:byte < short < int < long < float < double

2.自动转换:取值范围从小往大的转,会默认转换(底层使用最高位(符号位)补位)      

byte b = 10; //0000,1010

short s = b;  //0000,0000,0000,1010

int i = s;    //0000,0000,0000,0000,0000,0000,0000,1010

long l = i;

float f = l;

double d = f;

System.out.println(d);

直接将byte转成double:

byte b1 = 123;

double d1 = b1;

 System.out.println(d1);

3.强制转换:取值范围从大往小的转,会强制转换

        语法结构:目标类型 变量名 = (目标类型)(被转换的数据);

double d = 123.123;

float f = (float)d;         //1.将double类型的变量d强转为float类型 2.再将强转后的数据赋值给float类                                           型的变量f

long l = (long)f;

 int i = (int)l;

 short s = (short)i;

 byte b = (byte)s;

System.out.println(b);

直接将double转成byte:

double d2 = 123.123;

byte b2 = (byte)d2;

System.out.println(b2);

4.特殊点:

a.案例一

byte b1 = 1;     //1为int类型的数字字面量,但是1在byte类型的取值范围内,就直接赋值
byte b2 = 128;      //报错:128为int类型的数字字面量,但是128不在byte类型的取值范围内,所                                                 以报错
 解决方案:byte b2 = (byte)128;

b.案例二

int i = 12345678901;     //12345678901为int类型的数字字面量,但是该数字已经超过了int类型的                                            取值范围,所以会报错

c.案例三

long l1 = 12345678901;   //12345678901为int类型的数字字面量,但是该数字已经超过了int类型                                             的取值范围,所以会报错

long l2 = 12345678901L;      //12345678901L为long类型的数字字面量,该数字没有超过了long类                                                   型的取值范围,所以不会报错

d.案例四

float f1 = 1;     //int转float:自动转型
                    
float f2 = 1.0;     //double转float:强制转型

解决方案1:float f2 = (float)1.0;         //将double(64位)转float(32位),浪费空间

解决方案2:float f2 = 1.0f;           //直接认为1.0为float(32位),效率更高

e.案例五

char c = 'a';        //ASCII - 97
int i = c;
System.out.println(i);        //97

5.数字字面量:代码中的数字 (数字为整数默认类型为int,数字为小数默认类型为double)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值