变量的意义和数据类型的使用

一、变量的定义

二、数据类型

三、类型转换

一、变量的定义

        ①、变量是什么

定义一个变量首先我们需要知道变量是什么,为什么需要变量。

变量的用处就在于存放一个临时的数据

比如当我们去酒店住房时,需要先选择房间类型,再给你选择哪一间房,

这个时候就会出现四个东西:房间、房间名字、房间类型、入住的客人。变量也可以这样看待:

房间                 变量
                 房间名字                变量名
                 房间类型               变量类型
               入住的客人                变量值

你来酒店开房间,当房间号给你了就相当于你入住了,哪怕你没来,这个房间也是代表你的了。

也就是说当设置一个变量之后这个空间就存在了,哪怕你不用这个变量,这个空间也存在。

所以以此推出:

                变量是一个具有大小的空间,一个数据储存空间的表示;

                变量类型就是限制这个空间储存东西的条件;

                变量名就是数据储存空间的名字;

                变量值就是这个储存空间里面储存的东西;

        ②、变量名的定义

变量命名规则:

一、字母、下划线、美元符号人民币符号、数字、驼峰、有意义,即这五种规则命名正确,

二、但是不能以数字开头,也不能用空格符号。

三、变量命名最好别用abcd去命名,这样会显得不专业,而且还会混乱,以后和别的程序员进行 交互的时候也会让其他程序员看混乱,所以最好设置其英文名字的变量名。名字多则用驼峰命名法,即第一个字母小写,不同单词的首字母大写。

四、变量名字不能为关键字,例如public、static、void等等

二、数据类型

java语言有八种基本数据类型:

  数据类型大小取值范围

byte

1字节8位-128 ~ 127
short2字节16位                              -32768 ~ 32767
int4字节32位-2147483648 ~ 2147483647
 long8字节64位-2的63次方 ~ 2的63次方-1
float4字节32位浮点数1.4E-45 ~ 3.4E+38
double8字节64位浮点数4.9E-324 ~  1.7E+38

对于数据类型大小一般只记住前三个byte、short、int就行,因为现在一般超过界限的就是这三个

以八个类型都会有默认值,即不给变量赋值,计算机也会默认有一个值。

        整型默认值为0,float型默认值为0.0f,double型默认值为0.0

        字符型默认值为\u0000  表示空字符  布尔值型默认值为false

当然除了这八种基本数据类型,还有其他的数据类型:

        字符串类型:String

        其他Java类型

        自定义类型等等

三、类型转换

①数据的计算

数据计算首先要知道浮点型的概念,浮点型也就是小数型,计算机不能表示小数,都是通过分数来计算的,有时候分数会出现除不尽也就是无限小数,单精度float就是在小数第六位的情况下四舍五入,双精度double就是在24位小数四舍五入,这个理解就好。

当一个数值比数据类型的范围更大的时候,数据就会溢出,数据就会乱码

例如 byte  127+1;     byte的范围是-128 ~ 127,这时候+1就会溢出,输出的是-128

输出的为什么是-128呢?

        前面文章提到,java编译是先要转换成电脑能识别的.class文件才能继续运行,电脑能识别的只有0和1,所以这里我们用二进制来进行说明:

         127用二进制表示是(1111  1111)

        当127+1时为128,用二进制表示为(1  0000  0000)

        这个时候因为byte的范围最大只在(1111  1111)多了一个1

        在计算机中1表示为否,零表示为是,所以多一个1输出的值就为负数,数值就会出现乱码。

当然,到了这里为了变量不出现乱码的现象说直接用最大的long或者double数据类型来定义,这样就不会出现溢出的情况了,这样是不会出现溢出的情况,当然不支持这样做。

因为当你定义了一个变量之后,这个程序内储存空间就变大了,运行会变得更慢,尤其是在工作中,计算钱或者货运数据的时候,定义一个更大的变量空间只会让程序变得效率更低,所以是不支持这样做的。。

②、数据的定义

讲到这里,我们就可以进行变量定义了:

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

变量定义也有规则:

  定义float值的时候结尾必须加上f;  float  number   =  12.5f;

  字符型值必须写在单引号中,且只能是一个字符  char  num   = ‘男’; 

  字符串必须写在双引号中,且变量类型首字母必须大写   Strnig  num  =  “你好”;

除了变量,还有就是常量,变量是一个可以随意更改的数值,常量一般不会变化,就是储存空间里面的东西已经固定了。

常量的定义可以在前面加上final

例如: final  double  PI = 3.1415926  

关键字  final来标记常量,常量名的书写格式应该全用大写,如果常量名很长的话可以在一个词的中间加上下划线来实现驼峰。

③、类型转换

类型转换规则:

        ①、小类型与大类型转换时,会自动转换成大类型。

        ②、大类型接收小类型的时候,会默认转换成大类型。

        ③、小类型接收大类型的时候,需要强制转换类型。

        ④、强制类型转换时有可能造成溢出的问题,会舍弃精度。

        ⑤、强制类型转换会丢失精度,直接截取掉。

小类型转大类型比如:

byte  A = 1;

int   B= 2;

B = A+B;

这时候a就会自动转换成int类型在计算了

byte b  =1;

b = b+1;

这时候运行就会报错,因为1在这是默认int类型,这是大类型往小类型转换。

这个时候可以给1强制类型转换

b=b+ (byte)1;

这时候就不会报错了,在数据前面加一个括号然后输入数据类型就是强制类型转换

 byte c= 127;

c = (byte)(c+1);

当偏要强制类型转换时结果就会变成-128,应为超出了byte的最大值,当超出了就会导致溢出,出现乱码的现象。

字符串+任意基本数据类型,都会默认转换为字符串类型(字符串拼接)

例如(“请看结果”+1+1)这时候输出的是:请看结果11,而不是请看结果2;

因为前面是先字符串类型,然后在加int类型,所以把+1+1变成字符串类型。

如果要计算1+1可以写在字符串前面(1+1+“请看结果”),或者写成(“请看结果”+(1+1))

比较字符串也不能简单的使用==要用equals对比

比如需要比较字符串a和字符串b是否相等

a.equals(b);即可


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值