java数据类型和运算

一、在java中数据类型整体上分为两大类:

1、基本数据类型/原生的数据类型(共八个)

  整数型:byte(占1字节),short(占2字节),int(占4字节),long(占8字节)。【byte,shuort,int,long 唯一不同就是存储空间容量大小不一样,根据具体需求存储的数据去选择合适的数据类型,一般选用int即可】

       浮点型:float(占4字节),double(占8字节)

  字符型:char(占2字节)

  布尔型:boolean(占1位)

2、引用数据类型/对象数据类型

  类、接口、数组

整数类型(byte,short,int,long)

整型常量的四种表示形式:
① 二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B10100;
② 八进制整数:要求以0开头,如 int a = 0157;
③ 十进制整数:如:int a = 100;
④ 十六进制整数:要求0X或0x开头,如int a = 0xFFFFF123;

Java语言的整型常量默认是int型,声明long型变量后加上‘l’或‘L,因小写的l容易和数字1相混淆,建议使用大写L。
默认情况下,一个整型的字面量默认是int类型.

小数类型(float,double):
表示小数类型又称为浮点类型,其中float表示单精度类型,double表示双精度类型,但是二者都不能表示精确的小数。
Java的浮点类型常量有两种表现形式:
a,十进制形式: 例如:3.14 ,168.0, .618
b,科学计数法形式: 例如:3.14e2, 3.14E2, 1000E-2
科学计数法表达式返回的结果是double类型。

默认情况下,一个浮点类型的字面量默认是double类型.若要声明一个常量为float型,则需在常量后加上f  或 F,double常量后面的D或d可省略。
注意:Java里只有浮点型的变量才可以接受科学计算式结果.

字符类型(char):

字符,字母和符号.
char类型:表示16位的无符号整数或者Unicode字符,Java对字符采用Unicode字符编码。
Unicode收集了世界上所有语言文字中的符号,是一种跨平台的编码方式,Java的字符占两个字节,可以表示一个汉字。
char常量2中表示方法

1.直接把需要的字符赋值给变量,如: char a='A';

2.用十进制或者十六进制作为赋值,如 char a=65;得到的值为   'A'。

十六进制,如:char a='\u0041';

基本数据类型转换

在8大基本数据类型中,boolean不属于数值类型,不参与转换.
一般的,byte,short,char不参与转换操作.我们直接把byte,short,char直接付给int类型.

自动类型转换,也称为“隐式类型转换”:
当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量,系统可以完成自动类型转型

byte b= 1;
short s=b;//小转大
int i= s;
long l=i;

float f = l;
double d= f;
System.out.println(d); //1.0

 

强制类型转换,也称为“显示类型转换”:

当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成转换,需要加上强制转换符,但这样的操作可能造成数据精度的降低或溢出,所以使用时要格外注意。

double d = 1.23d;
int i =(int)d;
System.out.println("result="+i); //result=1

表达式类型的自动提升当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升,其规则是:
       所有的byte、short、char类型被自动提升到int类型;
二、算数运算

  

这里主要讨论下 ++和--

++和--详解: 都只能操作变量,不能操作常量.
++: 表示当前操作变量自己累加1.
--:   表示当前操作变量自己减去1.
--------------------------------------------------------------------
自增:++,递增操作符,使变量值增加1,有前置和后置之分,只能操作变量。
自减: -- ,递减操作符,使变量值减去1,有前置和后置之分,只能操作变量。
自增和自减具体操作是一样的,仅仅是一个是加1,一个是减1而已,现在单讲++:
代码 result ++和 ++result,都将使result变量的值加1。
唯一的区别是:
前置(++result):   表示对result加1之后的结果进行运算,
后置(result++):   表示对result变量加1之前的值(原始值)进行运算。
如果仅仅执行简单的递增操作(只写result++或++result),那么选用任意一个都可以。
比较运算符:

 用于比较两个变量或常量之间的关系,比较运算符的结果是boolean类型,其操作格式为:
 boolean  result = 表达式A   比较运算符   表达式B;
三元运算符:

 语法格式:X  ?  Y :Z;

其中x为boolean类型表达式,先计算X的值,若X结果为true则整个三目运算表达式的结果是Y,否则就是Z。三目运算符结果的类型由Y和Z决定。
逻辑运算符:

&:表示并且,当操作数A和B都为true结果才为true,否则结果result 是false。
&&:和&结果相同,具有短路效果,如果左边操作数A是false,result 一定为false,且不运行B的运算。
|:表示或者,A和B都为false结果result为false,只要有A或B是true,结果就是true。
||:和|结果相同,具有短路效果,如果左边操作数A是true,result一定为true,且不运行B的运算。
^:判断A和B是否不同,不同则为true,相同则为false。
!:取反,!true结果是false,!fasle结果是true。
位运算符:

<<:将操作数的二进制码整体左移指定位数,左移之后的空使用“0”来补充。
>>:将操作数的二进制码整体右移指定位数,右移之后的空使用“符号位”来补充:
    若是正数使用“0”补充;
    若是负数使用“1”补充;(操作负数:取反,求补,操作,取反,求补)
>>>:将操作数的二进制码整体右移指定位数,右移之后的空位使用“0”来补充。
运算符操作的优先级:

 

转载于:https://www.cnblogs.com/willingchen/p/9381527.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值