java数据类型和运算

来源:互联网 发布:js 重写confirm 阻塞 编辑:程序博客网 时间:2024/06/05 06:49
1. java的数据类型:基本类型和各种类。

java的基本数据类型:

boolean (没有规定长度),
char     (16位), 
byte     (8位), 
short    (16位), 
int        (32位),
 long     (64位),
 float     (32位),
 double  (64位)。
基本数据类型都是有符号的,定长度(这也是java可以跨平台的一个重要原因),并且不需要用new来创建,也不用“引用”,而是直接在置于堆栈中。

基本数据类型在互相运算的时候,如果是char,byte,short和int进行运算,会都转换成int,结果如果附回原类型就需要进行截断。如果int和long进行运算,会转换成long。总之就是往大了转换。

类:
java中没有指针的概念,而是引用,new方法创建对象,然后赋给一个引用。所创建的对象都存放在“堆”上。程序员不需要管理对象的生命周期,所有对象的销毁都由java负责。

2. 成员默认值
当基本数据类型作为类的成员变量时,java会为其分配一个默认值0. 但是在类外面的基本数据类型必须明确赋值。

3. static关键字
当声明一个事物是static时,意味着这个数据或方法不会与包含他的那个类的对象实例关联在一起。我们可以不用通过类的对象来使用这个域或方法,而直接通过类名。
例如      class StaticTest{
                    static  int i=47;
               }
要访问i变量,可以   StaticTest st1=new StaticTest();
                              st1.i++;
也可以直接 StaticTest.i++;

4. 运算符
关系操作符==和!=的含义:
Integer n1=new Integer(20);
Integer n2=new Integer(20);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
输出结果为false,true。因为这个比较的是对象的引用。如果想比较两个对象,就需要用equals()方法,例如 n1.equals(n2) . 但是对于自己创建的类,默认的equals()方法还是比较引用,除非我们重载equals()方法。

逻辑与,或,非( && , || ,!):与c++不同,只能用来比较布尔值。

java中也有位操作符 与,或,异或(&, | , ^)。

移位操作符:<< (左移), >>(有符号右移), >>>(无符号右移)。只可以处理整形,最多移32位,其他类型进行移位操作会自动转换成int型。long型移位结果是long型,最多移64位。

java不允许我们随便把一种类型当做另一种类型来用,必须显示的类型转换。例如while()里的判断条件必须为boolean类型。
原创粉丝点击