Java笔记(四)……常量与变量

常量

常量表示不会改变的数值。

Java中常量的分类:

整数常量:所有整数

小数常量:所有小数

布尔型常量:较为特有,只有两个数值,true false

字符常量:将一个数字字母或者符号用单引号(' ')标识

字符串常量:将一个或者多个字符用双引号标识。

null常量:只有一个 null 数值

整数进制:

对于整数:Java 有三种表现形式

  • 十进制:0-9,满10进1
  • 八进制:0-7,满8进1
  • 十六进制:0-9,A-F,满16进1,用0x开头表示。

二进制

  • 二进制:0-1,满2进1,现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现
  • 二进制的发明非常伟大,有很多含义,将来有机会单独发一篇博客追溯二进制的来龙去脉
  • IP地址每一段是一个字节表示,每个字节是8位二进制位,这样来操作数据节省很多内存

进制转换:

无论什么进制,在内存中其实都是用二进制表示的,只不过显示的方式不一样,所以转换的时候,无论什么进制都看做是一个二进制数就可以了,后期的移位操作也是基于二进制的,所以用二进制作为基础进行进制转换比较方便。

十六进制就是每四个二进制位表示一位

八进制就是每三个二进制位表示一位

所以

  • 任何进制------>十六进制:每四位一截取
  • 任何进制------>八进制:每三位一截取
  • 任何进制------>二进制:每一位一截取
  • 任何进制------>十进制:默认表现形式,直接打印便是十进制数

特殊情况:

负数------>二进制(负数的二进制表现形式)

简单来说,一个字节只能表示256个数,如果无符号,则是0-255,如果有符号,则首位是符号位,0表示正数,1表示负数,则能表示的正数负数各一半,也就是0-127,即0000-0000--->0111-1111,那么剩下的二进制数则表示负数,这里引进了补码的概念,简单说就是二进制是没有符号的,所以表示负数的二进制数是其正数的一个补充数字,那么从1000-0000--->1111-1111分别对应的是-128- (-1),补码的计算是由该负数的反码(原码取反)+1,原码则是绝对值的二进制。

变量

变量的概念:

内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

该区域的数据可以在同一类型范围内不断变化

为什么要定义变量:

用来不断的存放同一类型的常量,并可以重复使用

即更方便的操作内存

使用变量注意:

变量的作用范围(一对{}之间有效)

初始化值

定义变量的格式:

数据类型 变量名 = 初始化值;

注:格式是固定的,记住格式,以不变应万变。

理解:变量就如同数学中的未知数。

数据类型:

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间

var

整数默认是 int 型,小数默认 double 型

类型转换:

类型转换分为自动转换(隐式转换)和强制转换(显式转换)

   1: //3虽然是个整数,但它是个常量
   2: //在赋值过程中,计算机会判断它是否在b的范围内,如果在,便可赋值
   3: byte b = 3;
   4: //4是个整数,所以在加法运算过程中,b会自动提升成int型,结果为int型数值
   5: //但结果是个int型变量,有可能超出byte型的范围,所以编译器报错,容易损伤精度
   6: b = b + 4;
   7: //进行强制转换便可以避免报错问题
   8: b = (byte)(b + 4);

char类型是可以计算的,ASCII码表中定义了字符对应的数值

ASCII

你可能感兴趣的:(java)