数据类型和运算符

来源:互联网 发布:创业软件高管 编辑:程序博客网 时间:2024/04/28 03:59
 1.java原语类型:boolean、byte、char、double、float、int、long、short;java严格指定了每种原语类型的范围与行为,由于java可移植性的需要,这一点绝不能妥协。
   a).四种整数类型:byte-占用8位二进制位,取值范围-128~127;short-占用16位,取值范围-32768~32767;int-占用32位,取值-2147483648~2147483647;long-占用64位,取值-9223372036854775808~9223372036854775807。所有整数都有正负之分,java不支持无符号整数,int是最常用的整数类型,常被用于循环控制、数组索引,以及执行通常目的的整数数学运算;当需要的整数范围超过int时,就要使用long;在处理无法直接与java的其他内置类型兼容的原始二进制数据时,byte类型的变量特别有用;short可以创建高位字节放于前面的短整数(常用于16位计算机)
   b).浮点型:有两种:float和double;float为32位,double类型为64位;最常用的是double,java中所有数学函数都使用double值。
   c).字符型:在java中,使用的是Unicode,Unicode定义了一个字符集合,可以表示所有人类语言中的字符,因此,java中char是一个无符号16位类型,取值范围0-65536。对java变量进行各种算术运算是可能的。
   d).boolean类型:java使用保留字true和false来定义真值和假值,一个boolean类型的变量或表达式只能是这两个值中的一个。
   e).十六进制和八进制常量分别以0x和0开头。
2.变量:java中所有的变量在使用之前都应该声明;在使用变量之前必须赋给它一个值(初始化),可以利用赋值语句为变量赋值,也可以在声明变量时赋给变量一个初值;还可以在声明变量时使用任何有效的表达式来动态初始化变量。变量在进入作用域时被创建,离开作用域时被销毁。如果变量声明包含初始值,那么在每次进入声明它的代码块时都会被重新初始化。
3.java与C/C++作用域有个明显区别:java中尽管可以嵌套代码,但在内部作用域中声明的变量不能与被嵌套作用域中已经声明的变量同名。
4.运算符:java有四种基本运算符:算术、位、关系、逻辑;还有一些特殊情况下的运算符。
  a).算术:+、-、×、/、%、++、--;“/”用于整数时,任何余数都将被删除。
  b).关系和逻辑:==、!=、>、<、>=、<=;&(与)、|(或)、^(异或)、||(简化或)、&&(简化与)、!(非)     这两种运算符的结果是boolean类型的值;在java中,所有的对象都可以使用==和!=比较,其他四个只能用于支持顺序关系的类型,所有关系运算符都适用于数值类型和char类型,boolean类型只能进行等于或不等于的比较;对逻辑运算符,操作数必须是boolean型的,运算结果也必须是boolean型的。简化运算与普通运算符的区别是:普通运算符将计算每一个操作数,而简化运算符只在必要时计算第二个操作数。
  c).赋值运算符:var=expression;其中var的类型必须与表达式的类型兼容;还有个属性就是允许创  建一个赋值链。速记赋值运算符:+=、-=、*=、/=、%=、&=、|=、^=;优点有二:(1).比普通记法更简洁;(2).java运行时系统执行它们效率更高。
5.类型转换:
  a).自动类型转换:条件是两种类型兼容,目标类型比源类型大。从数值类型到char或boolean没有自动类型转换,并且char和boolean之间也是不兼容的。
  b).不兼容类型强制转换:(target-type) expression;
  c).表达式中的类型转换:当在一个表达式中混合有不同类型(类型兼容)的数据时,它们都被转换为同一类型,具体操作是按java的类型升级规则完成的;所有的char、byte、short都被升级为int,如果有一个操作数是long类型的,整个表达式就全部升级为long类型,如果有一个操作数是float类型,整个表达式就全部升级为float类型,如果有一个操作数是double类型,整个表达式就全部升级为double类型;当计算表达式类型升级只应用于被操作的值,类型升级只影响表达式的计算;另外,java表达式中使用制表符和空格来增强其可读性,java提倡使用圆括号以使计算的顺序清晰,如:x = (y/3) - (34*temp) + 127;
原创粉丝点击