Java变量和表达式

一、数据类型

1、数据类型分几类,分别是什么?

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

        基本数据类型包括八种,分别是byte,  shot,int,long,float,double,boolean,char。

        引用数据类型包括数组、接口、类等。

        除了基本类型外的数据都是引用数据类型。

 2、基本数据类型

数据类型

占用空间

保存范围

使用举例

Boolean

布尔型

1字节

true或false

保存性别,婚否

Byte

字节型

1字节

-128~127

对字节操作时使用,如文件读写

Char

字符型

2字节

0~65535

保存单个字母或汉字时使用

Short

短整型

2字节

-32786~32767

保存较小的整数时使用

Int

整型

4字节

-2147483648~2147483647

保存一般的整数时使用

Long

长整型

8字节

-9223372036854775808

~9223372036854775807

保存较长的整数时使用

Float

浮点型(单精度)

4字节

-3.403e38~3.403e38

保存小数时使用

Double

浮点型(双精度)

8字节

-1.798e308~1.798e308

保存精度较高的小数时使用

3、数据类型转换

 (1)高转低怎么转

        (类型标识符)要转换的变量

              例:float f=1.6F; Int i=(int)f;

 (2)低转高怎么转,并举例?

      系统自动转换(double->float->long->int->(这三个平级short->bytechar)

              int i=52;float x;

              直接赋值即可X=i;

 (3)表达式的数据类型由什么决定,举例说明?

      表达式的数据类型由运算结果的数据类型决定。

public class Example{

 public static void main(String[] rags){

       int i=5;

      float f=6f;

      double d=7.8d;

      double result=i+f+d;

  }

}

4、总结计算过程中的小bug

1)在运算过程中只要有低于int类型的数据(Boolean除外),都将会自动转换为int类型的数据,这时候进行赋值的话,会变成int类型,如果需要变回原有的数据类型需要进行强制转换。

 

(2)在计算过程如果有高级别数据类型,计算时会自动转换成高级别的数据类型。

(3)i++是先使用,然后才进行加i+1,而++i是先i+1在使用i          

         

(4)a+=b和a=a+b的区别

        a+=b是只有一步操作运算(不存在赋值的过程),而a=a+b是两步操作运算(先加后赋值的两个过程)

        

5分析下面的代码

Short s = 1;

S = s+1;

1可以赋值给short类型的数据;但short类型的数据加上1(整型数据),运算后升到int类型,不能赋值给short

Short s = 1;

S = 18+1;

18+1在编译是确定了其值在short范围内,可以赋值

二、变量

 1、什么是变量?

        a. 变量是指在程序运行过程中其值可以改变的量。变量的使用必须先声明,然后初始化, 最后才能使用变量。

        b. 变量就是计算机内存中存放数据的单元,定义变量的本质就是分配内存。当把数据赋给变量时,实际上就是将数值存储到变量占用的内存单元中。

2、变量的语法?

        变量的声明语法:[修饰符] 数据类型 变量名称[=值];

3、变量的命名规则?

        Java语言是区分大小写的,变量的命名也有规范:由数字、字母、下划线和$符号组成,开头不可以是数字 ,变量名不能使用Java语言中的关键字。

4、变量能做什么?

        变量就是计算机内存中存放数据的单元,定义变量的本质就是分配内存。当把数据赋给变时,实际上就是将数值存储到变量占用的内存单元中。   

三、表达式与运算符

 1、什么是表达式?

表达式是运算符和操作数的有效组合,操作数可以是变量、常量、方法调用的返回值。

 2、算术运算符

运算符

示例

说明

+

3+2

加法运算符,求两个操作数的和。

-

3-2

减法运算符,求两个操作数的差。

*

3*2

乘法运算符,求两个操作数的积

/

3/2

除法运算,求两个操作数的商。

%

3%2

求余运算符,求两个整数的余数

++

Int a=3;++a或者a++

自增运算符,a++相当于a=a+1

--

Int a=3;--a或者a--

自减运算符,a--相当于a=a-1。

 3、关系运算符

运算符

实例

说明

a>b

如果a>b成立,结果为true,否则结果为false

>=

a>=b

如果a>=b成立,结果为true,否则结果为false

a<b

如果a<b成立,结果为true,否则结果为false

<=

a<=b

如果a<=b成立,结果为true,否则结果为false

==

a==b

如果a==b成立,结果为true,否则结果为false

!=

a!=b

如果a!=b成立,结果为true,否则结果为false

  4、逻辑运算符

运算符

示例

说明

&&

a>b&&a>c

a大于b,并且a大于 c

||

a>b||a>c

a大于b,或者a大于c

!

!(a>b)

a大于b不成立

  5、位运算符

        位运算符是对整数类型的操作数进行的二进制运算,包括7个:~(位反)、&(与)、

    |(位或)、^(位异或)、<<(左位移)、>>(右位移)、>>>(无符号右移)

  6、算术复合运算符(a=10)

表达式

等价的Java代码

运行的结果

a+=3

a=a+3

13

a-=3

a=a-3

7

a*=3

a=a*3

30

a/=3

a=a/3

3

a%=3

a=a%3

1

7、运算符的优先级

运算符

优先级

结合性

[]

1

从左向右

!~ ++  --   +(一元运算)-(一元运算)

2

从右向左

*/%

3

从左向右

+-

4

从左向右

<< >> >>>

5

从左向右

< <= > >= instanceof

6

从左向右

== !=

7

从左向右

&

8

从左向右

^

9

从左向右

|

10

从左向右

&&

11

从左向右

||

12

从左向右

?:

13

从右向左

=  +=  -=  *=  /=  %=  &=  |= ^=  <<=  >>= 

>>>

14

从右向左

8、& 和 &&区别: 

        & :无论左边结果是什么,右边都参与运算。

        &&:短路与,如果左边为false,那么右边不参数与运算。

9、| 和|| 区别:

        |:两边都运算。

        ||:短路或,如果左边为true,那么右边不参与运算。

大哥点点关注呀!!!!!!!!!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值