JavaSE基础系列之变量和数据类型

一.变量

变量的概念:当程序需要记录单个数据,定义一个变量,声明变量的实质是在内存中开辟一块存储单元,开辟的存储单元的内容会改变,所以声称"变量"。

变量的声明方式:数据类型 变量名=初始值;(例如: int a=3;)。

标识符的命名法则:可字母,数字,下滑线,$等组成,但不能以数字开头,不能使用java关键字命名。


 二.数据类型

三.常用的ASCII及其转义字符

常见字符对应ASCII码:'0'~48,'A'~65,'a'~97,空格~32,换行符~10

四.基本数据类型范围及占字节数

五.自动类型转换及强制类型转换

自动类型转换(隐式类型转换):满足条件一:两种数据类型彼此兼容;条件二:目标类型的取值范围大于源数据类型(低级类型数据换成高级类型数据)。例如:byte类型向short类型转换时,由于short类型取值范围较大,会自动将byte转换为short;

强制类型转换:当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要强制类型转换;(注:若业务计算对精度比较高,慎用double,float 建议用若希望实现精确运算则借助java.math.BigDecimal类型)

六.单个字节表示范围推导过程

在计算机中单个字节表示八位二进制位, 为什么是-128~127呢?(注:其中最高位最左边代表符号位)推导如下

非负数所能表示的整数范围:0000  0000  ~  0111 1111=>0~127=>0  ~ 2^7-1

       0111 1111=>0*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0

       =>0+64+32+16+8+4+2+1

       =>127

负数所能表示的整数范围: 1000 0000  ~ 1111  1111

      1000 0000=>先减1:   0111 1111

             =>按位取反:  1000 0000

     1000 0000=>0*2^7+1*2^0+1*2^0+1*2^0+1*2^0+1*2^0+1*2^0+1*2^0

             =>转为十进制:128

             =>添加负号:-128

    很显然可以看到是因为整数二进制数符号位是0,负数的二进制符号位是1,得出  -128~127.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值