Java——第二章(变量)

继续更新......


说到变量,无非可以想到常量,常量是固定不变的单位,例如π,很显然变量是变化的量,变量变量,就是可


以发生变化的,也就是说变量可以被赋值改变的。


变量的用途可谓是一架桥梁,每一个结构部分,都离不开变量的存在,通过变量来连接一个一个的数据。



变量有三要素:变量名,变量类型和变量值。


变量名可以随意取,但是要遵循变量命名的规则:首字母必须为字母、下划线、美元符号,而其他位置可以是


字母、下划线、美元符号和数字。


变量类型分为两大类:基本数据类型和引用数据类型。


基本数据类型包括:整型(byte, short,int,long)、浮点型(float,double)、字符型(char)、


布尔型(true、false)。


其中,整型中byte占8位,一个字节,范围是 -128~127,(-2^7~2^7-1),short占16位,两个字节,


范围是(-2^15~2^15-1),int占32位,4个字节,范围(-2^31~2^31-


1),大约20个亿,够大吧。而long类型占64位,是8个字节,范围(-2^63~2^63-1)。


浮点型:double类型:double类型数值为双精度浮点数,占8个字节,64位。为Java浮点型的默认类型,


如3.14,后面可以不写d。


float类型:float类型为单精度浮点数,占4个字节,32位。如果想表示float类型,需要在数字尾加F或者f,


例如3.14f,3.14F.


字符型用char表示,由于java采用不是ASCLL码编码,java采用unicode,2个字节(16位)来表示一个字符。

所以一个char2个字节。而ASCALL中一个char是一个字节。


布尔类型(boolean)的值为true,false,只有这两种,占一个字节,并且布尔类型不可以用来强制类型转


换。


引用数据类型包括:类class、接口Interface、数组array。


变量的值要根据变量的类型赋值。


变量的使用:


变量的使用可以分为变量的定义,变量的初始化,变量的引用。


变量的定义和变量名的命名规则一样,可以随意取,但是要遵循变量命名的规则:首字母必须为字母、下划


线、美元符号,而其他位置可以是字母、下划线、美元符号和数字。


变量的初始化也称为变量的赋值,在变量定义之后若没有初始化是不可以使用的,也要与其变量类型相匹配。


在定义和初始化完成后,变量可以被引用,用来执行相关操作。


同样在这么多变量类型中,可不可以在变量类型之间替换呢,答案是可以的。这个过程称为变量的类型转换,


分为隐式转换和强制类型转换。


隐式类型转换也叫做自动类型转换,是数据类型范围小的往大范围的类型中存放,


例如int i =2;double d = i; 此过程是编译器自动进行转换的,相当于将一个小箱子存放入大


箱子是可以放进去的,这个叫隐式转换,自动类型转换都可以。


而强制类型转换估计大家也可以猜到了,是大范围存入小范围类型,例如 double d = 1.5;int i = d;这个


过程是会报错的,因为double类型放不进去int中,那怎么办呢?


别急,可以进行强制类型转换,硬性要求让double变为int,改成这样double d = 1.5;int i = (int)d;


这样就可以装入int了,不过精度会丢失变为整型,大家要注意这一点。


注意:java中整型默认为int,例如 byte b = 1; byte b1= b+1;会报错,因为1为int类型,


int加byte是int类型,取大范围为准,强制类型转换。所以应该是


byte b = 1; byte b1= (byte)(b+1);


浮点型默认为double型,例如 float  f = 1.5是会报错的,因为1.5是double,要放入float需要进行强制


类型转换。改成float  f = 1.5f;或者改为float  f=(float)1.5。都是可以的,


f表示float型。



有了变量,需要变量与变量之间的关系连接,关系连接需要什么呢?




那接下来就是运算符,运算符作为连接。运算符分为基本运算符、赋值运算符、关系运算符、连缀运算符、逻


辑运算符还有三目运算符。


基本运算符分为:+、-、*、/、%这5个运算符,后面三个乘,除,取余优先级是相同的。与平时运算的四则运


算规则相同,这里就不一一详细介绍了。


赋值运算符就是= 号,赋值运算符是从右到左进行运算,=号右边的变量运算结束后赋给左边变量。


关系运算符:<、>、==、>=、<=、!=。关系运算符结果为boolean(布尔)类型。常用于选择语句中。eg: 


if(3>=2) ——{   }。


连缀运算符:+。 此+不彼之前那+,之前基本运算符中有+是加,而现在的+是连缀,起连接两个数据连着一起


输出,前提必须是有引号(”“)。eg: System.out.println("a的值


为: "+15);输出结果为a的值为15  ,15连接到引号内。


逻辑运算符:&&(两者都为真结果为真)、||(两者有一个为真即为真)、!(真为假,假为真)。

&,|(位与,位或)和&&、||  结果可以互相取代但是&&、||起到短路效果,如果前边操作已经决定结果,


后面的操作不做运行。


而&、| 无论结果怎样都会将所有逻辑运算全部运算完成。


例:1<4&&3>2当前面的结果为假,整体为假,后面的3>2不执行。

1<4&3>2位与会连同3>2进行运算。


三目运算符:也叫条件运算符。格式:int  t=a>b?a:b;    如果a大于b,则t=a,否则t=b。常用于比较。


还有最重要的内容!也是比较混淆的内容,那就是自增和自减,这两个类似,咱们讲其中一个,另一个完全相


同。




自增(++)分为前增(++i)和后增(i++)。


前增 ++i,先把i的值加1,然后将加1以后的i即(i+1)代入进行计算。每次进行 ++i后,下一个语句前再次


引用i将变成i+1的值即i=i+1;


例如 int i =3; int b = ++i+5;System.out.println(b);  结果为9。 因为什么呢,首先是++i+5,前增


++,  先将i的值+1,i=i+1;i=4,再执行+5操作。


后增i++, 先引用i的值进行计算,结束后i默认加1;同样,每次进行i++以后,下一语句前 i的值变成i+1


的值。


例如 int i =3; int b = 5+i++;System.out.println(b); 结果为8。 首先是5+i++,先引用i的值3,再


进行操作+5,操作结束后 i变为4。


无论前增后增,自增语句结束后,i的值最后都加1;


最后提醒一点是变量的作用域,作用域从变量定义的地方开始,到该变量所在的那对大括号结束;变量只在属


于他的那对大括号内有效。


变量就先说这么多啦。晚安,睡觉。






  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值