java数据类型和运算符_Java数据类型和运算符

一,数据类型分类(2种)

1. 基本数据类型(3种)

数值型:

整数类型(4种):

byte(1字节):范围(-128~127);

short(2字节):范围(-32768~32767);

int(4字节);

long(8字节):若数据定义为long类型超过int范围后面 需加“L”(推荐)或“l”(默认为int,超过int范围编译将会报错,未超过则不会);

浮点类型(2种):

float(4字节):第1位为符号位,接下来8位表示指数,再接下来23位表示尾数;若指定浮点类型为float需加“F”或“f”(默认为double,否则编译提示可能损失精度);

double(8字节):第1位为符号位,接下来11位表示指数,再接下来52位表示尾数;

浮点数的形式:

a.十进制数形式:必须包含一个小数点(1.68、168.0和 .168),否则当成int类型;

b.科学计数法形式:只有浮点类型数值才可以使用,如1.68e2(168.0)、1.68E2和168e2(16800.0);

特殊浮点数:

a.正无穷大:正数除于0.0,用Double或Float的POSITIVE_INFINITY表示,所有的正无穷大都相等;

b.负无穷大:负数除于0.0,用Double或Float的NEGATIVE_INFINITY表示,所有的负无穷大都相等;

c.非数:0.0/0.0,用Double或Float的NaN表示,所有的非数均不相等;

字符型:char(2字节)

布尔型:boolean(1字节)

注意: switch语句中只能接受byte、short、int和char 类型变量(JDK1.6以前的版本),JDK1.7时,又增加了String。

2. 引用数据类型

类(class)

接口(interface)

数组([ ])

Java中的六种运算符:

算术运算符

赋值运算符

关系运算符

逻辑运算符

位运算符

三元运算符

算术运算符:

+:加法运算,求操作数的和

-:减法运算,求操作数的差

*:乘法运算,求操作数的乘积

/:除法运算,求操作数的商

%:求余运算,求操作数相除的余数

++:自增,操作数自加1

--:自减,操作数自减1

赋值运算符:

=:将右边的值赋给左边,例:int a = 1;

+=:左右两边的和相加赋给左边,例:int a = 1; a+=2;结果a的值为3

-=:左边减去右边的差赋给左边,例:int a =5;a-=2;结果a的值为3

*=:两边数值相乘的值赋给左边,例:int a = 2;a*=2;结果a的值为4

/=:左边除以右边的值赋给左边,例:int a = 6;a/=2;结果a的值为3

%=:左边除以右边的余数赋给左边,例:int a =7;a%=2;结果a的值为1

关系运算符

>:大于,例:int a = 1;int b = 2;System.out.print(a > b);其结果为false

>=:大于等于,例:int a = 1;int b = 2;System.out.print(a >= b);其结果为false

<=:小于等于,例:int a = 1;int b = 2;System.out.print(a <= b);其结果为true

==:等于,例:int a = 1;int b = 2;System.out.print(a == b);其结果为false

!=:不等于,例:int a = 1;int b = 2;System.out.print(a != b);其结果为true

其结果都是boolean类型,即要么是true要么是false

逻辑运算符

&&:与、并且(短路),   两个条件同时为真时,结果为真

||:或、或者(短路),   两个条件有一个为真时,结果即为真

!:非,(!+条件)  条件为真时,结果为假

Java中的数据类型转换

1:自动数据类型转换(放大转换)

满足自动数据类型转换条件:

1)两种类型要兼容:如数值类型(整型和浮点型)

2)目标类型大于源类型:例如int型数据可以自动转换为double类型

2:强制数据类型转换(缩小转换)

在变量前加上括号,在括号中指定要强制转换的类型

例:double a = 40.9;

int b = (int)a;

注:强制转换会损失数值精度,例如double类型变量a,经强制转换为int类型后值变为40

运算符的优先级:

1,算数运算符() ++ -- > * / % + -

2,比较运算符(> < >= <=) > (== !=)

3,逻辑运算符! > & > ^ > |

4,赋值运算符=

算数运算符> 比较运算符(关系运算符) > 条件运算符 >赋值运算符

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先乘除(模),后加减。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后计算。

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

后置++

后置自增运算符

变量名++

左到右

后置--

后置自减运算符

变量名--

[ ]

数组下标

数组名[整型表达式]

( )

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

前置++

前置自增运算符

++变量名

单目运算符

前置--

前置自减运算符

--变量名

单目运算符

*

取值运算符

*指针表达式

单目运算符

&

取地址运算符

&左值表达式

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof 表达式/sizeof(类型)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式%整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

表达式<

左到右

双目运算符

>>

右移

表达式>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

整型表达式&整型表达式

左到右

双目运算符

9

^

按位异或

整型表达式^整型表达式

左到右

双目运算符

10

|

按位或

整型表达式|整型表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

结合性

( ) [ ] -> . ++(后缀自增) --(后缀自减)

left to right

! ~ ++(前缀自增) --(前缀自减) + - * sizeof(type)

right to left

* / %

left

to

right

+ -

<< >>

< <= > >=

== !=

&

^

|

&&

||

? : (条件运算)

right to left

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

结合性

( ) [ ] -> . ++(后缀自增) --(后缀自减)

left to right

! ~ ++(前缀自增) --(前缀自减) + - * sizeof(type)

right to left

* / %

left

to

right

+ -

<< >>

< <= > >=

== !=

&

^

|

&&

||

? : (条件运算)

right to left

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值