Java基础—变量

变量的定义

Java变量的定义在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。 这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。

简单来说就是在开发程序时,产生的临时数据所存放的内存单元,这些内存单元就叫做变量,给每个变量赋予一个不同的名字,名字就是变量名,也就是标识符。

变量的特点

  1. 变量的值可以不断地变化
  2. 变量是最基本的存储单元 变量类型、变量名、储存的值
  3. 是内存的一个存储区域
  4. 变量的所有类型都没有默认值,所以变量用之前必须初始化
  5. 变量必须声明在作用域内,在那里定义的就在那里用。不同的方法中就是不同的作用域(之后会有具体的分类,到时候再补充)

变量的数据类型

引用数据类型

1.数组([])
2.类(class)
3.接口(interface)

目前的阶段知道class类中的String(字符串类型)就行

基本数据类型

基本数据类型有四类,共八种

整形

1. byte型 (是计算机中的基本存储单元,bit是计算机中最小的存储单位)
2. short型
3. int型(Java开发中整形默认的数据类型)
4. long型(该类型的变量申明时,必须以L或l结尾;如果不写,编译不会报错但是会有精度损失,会以int型来计算)

浮点型

1. float型(单精度)(该类型的变量申明时,必须以F或f结尾;否则编译错误)
2. double型(双精度)(Java开发中小数的默认数据类型)

字符型

1.char型
(1)char型可以存储的值只能是一个字符(任何语言的一个字符),或是一个转义字符(例如'\n','\t'),或是一个字符在底层存储中相对应的数字(Unicode码,ASCII码)。
(2).char型不能赋空值(例:char a = ''   这样是不行的)

说明:每个字母,汉字,数字等在计算机存储的都是一个对子那个的数字,例如‘a’在计算机中储存的对应的数字是97,这个数字通常被称作ASCII码。(由于各个国家的语言字母不同,后来出现了Unicode,UTF-8等,详细参考以下两位前辈的文章)
参考:前辈的文章

布尔型

1.boolean型(只有两个值:true和false)

几种数据类型的关系

1 byte = 8 bit (取值范围:-128 ~ 127)
1 short = 2 byte(取值范围:-2^15^~2^15^-1)
1 int = 4 byte(取值范围:-2^31^~2^31^-1)
1 long = 8 byte(取值范围:-2^63^~2^63^-1)
1 float = 4 byte(虽然也等于4byte,但是比long的存储范围要大)
1 double = 8 byte

数据运算的自动类型提升

  1. 取值范围大的 + 取值范围小的,用取值范围大的数据类型接收
    例如:int = byte + int
  2. byte,short,char之间的运算结果用int接收
  3. boolean类型不能与其他数据类型计算
  4. String(引用数据类型—字符串)和其他数据类型进行结合运算(+)时,都以String类型接收

数据运算的强制类型转换

  1. 一般用于取值范围大的---->取值范围小的

缺点:精度损失
例如:

class DoubleIntTransfer
{
	public static void main(String[] args)
	{
		double d = 787.12;
		int i = (int)d;
		System.out.println("double强转后:" + i);
	}
}

运行结果:

double强转后:787
  1. 特殊的情况:例如int强转byte
class DoubleIntTransfer
{
  public static void main(String[] args)
  {
  	int i1 = 128;
  	byte b = (byte)i1;
  	System.out.println("int强转后:" + b);
  }
}
int强转后:-128

解释:!
128的二进制是1000 0000,这个二进制正好是-128的补码,所以int型的128强转为byte时是-128
说明:
1. 计算机底层都是以二进制的补码来存储数据的,但是正数的原码,反码,补码都是一样的。
2. 二进制的最高位是符号位,正数:0;负数:1;
3. 当数据是负数的时候,
原码就是将正数的最高位变为1
反码就是将原码的1变为0,0变为1
补码就是反码+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值