java——变量

一,变量的分类

1.基本数据类型

1.1数值型

整型int【4】             long【8】长整型              short【2】 短整型          double【8】  双浮点型小数      float【4】单浮点型小数

byte【1】 整数类型

1.2字符型

char【2】,boolean【1】布尔类型,只存放true和false

2.引用数据类型

类          接口           数组

二各种数据类型的区分

1.整型

java中整型默认为int型,占4个字节

2.浮点类型

java中浮点类型默认为double类型

浮点型的两种表示方法,十进制表示法:5.12,0.512(必须要有小数点)

假如要定义float类型,书写方法 :float i=3.15f或者后缀F

而double i=3.15f也是正确的,因为在java中会自动转化为大的类型,虽然3.15f是float类型的,但是double类型的容量是更大的,所以会优先转化为double类型

注意:java的小数输入陷阱:
2.7和8.1/3比较,其实8.1/3在java程序中输出是一个非常接近2.7的值,并不相等

所以我们一定不能使用2.7==8.1/3来判断,这样只会输出0

我们应该使用Math.abs(2.7-8.1/3)<0.00001来判断

3.字符型

在java程序中,因为有数据类型之间的自动转换功能

所以这个java程序中的字符类型的本质上就是整型

每个字符都有自己的编码——假如输出是字符型,就输出字符,转化为整型时,就输出相对应的编码。

三.java中的数据类型自动转换机制

1.机制本身的规律:将容量小的数据转化为容量的数据(自动)

                                想要将容量相对大的数据转化为容量相对小的数据(必须要强制转换)

注意:这里的强制转换是转换数据的类型,而不是变量的类型 double a=1;是成立的,转换的是1,而不是a。

2.常见的转换

char->int->long->float->double

byte->short->int->long->float->double

例子:int a ='c';

           double d=80;

都是正确的,并且可以输出相对应的值。

四.多种类型混合

1.转化为表达式最大容量的数据类型,但是如果数据类型过小,在java程序会自动提升至默认的类型,就比如byte和short相加,会自动将结果升级到int类型,short和short相加,也会得到int

2.(byte,short)和char之间不会进行相互转化。

3.但是他们也可以相互计算,就是全部都转化成int类型,用他们所对应的程序码的值来进行计算

4.boolean类型的数是不会进行转化的。

五.强制转换类型

可能会导致数据被截断,造成流失。

强制转换只对离他最近的数有效。可以使用括号。

六.基本数据类型和string之间的转化

就是使用      数+“ ”    来是实现转化成字符串

而字符串转化成基本数据类型要用到包装类

str5="123"

byte num5=Byte.parseByte(str5)

字符串类型String,注意,第一个字母大写,字符串是双标点,字符是单标点

七.java强转类型常考

byte是8位的,最大值是256,
int是32位的,

257表示成二进制的时候,是
100000001,
如果int的强制类型转换成byte型,则要取低8位,也就是要把,其余的位丢掉。
所以,257强制类型转换成byte的时候,只能留下00000001,也就是1 了

byte的范围是-128到127

1.假如你输入的值在这个范围内,都可以正常的读入。

2.假如你大于了127,那么就将你的值模上一个256,假如你是150,则变成了-106,被截断了

3.假如你大于了256,那么你就只要模上一个256就行了,输出一个正值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值