java数据类型(大小等),变量定义,各进制书写方法

1.

    java中字符占两个字节,因为char类型占两个字节(16位),而C,C++中占1字节(8位)。

2. 变量定义

   第一步:声明(Declaration)

   第二步:赋值(Assignment)

    这两步可以合并: int X = 10;

3.局部变量和全局变量可重名,方法中调用的是局部变量,方法外调用的是全局变量。

4.各进制书写方法

  十进制无前缀

  八进制(octal)前面加数字“0”

  十六进制(hexadecimal)前面加“0x”或“0X”(数字“0”和字母“X”)。

5.科学计数(指数形式)

  10e2 或 10E2或1.56e3

  分别为10*10^2  ,10*10^2 和 1.56*10^3。其中,10e2还可以写成:10e+02

  表示指数形式时,e前面必须有数字 ,e后面必须是整数。例如:7.012e+23f;

6.类型转换casting

  小的赋给大的,自动转换(隐式转换Implicit Casting)

  强制类型转换(Explicting Casting)是暂时的,一次性的,不会改变其后面表达式的类型,会出现截断(truncation)

    如:a=3.45; (int)a = 3;

      截断不是四舍五入!int a =(int)1.2; int b = (int) 1.9; //二者都是“1”,不会四舍五入!

  若浮点值太大而不能适合目标整数类型。那么它的值将会因为对目标类型值域取模而减小。

    如:byte b;  int i = 257;

      则 b = (byte)i;   //则b=1

下面的代码供以后复习看:

    public static void main(String args[]){
        
        long y = 123;//√ long类型的数,最好后面明确指出,不指出也不会报错。
        long x = 123L;
        long z = 123l;
        float a = 12;//√ 同样 后面最好加上f(F)
        double b = 12;//√ 加上d(D)
        //float aa = 12.0; //×  12.0若不加l(L),则默认为double类型
        double bb = 12.0; ////'a'是字符常量;"a"是字符串常量
        char c ='a';
        String d = "a";
        
        char ch1,ch2;
        ch1 = 65;    //√ 表示'A'
        ch2 = 'B';
        int ch = ch1 -ch2;//√  自动转换成int
        //char cc =ch1 -ch2;//×  自动转换成int
        ch1++ ;        //√ 表示'B'
        
        //java 运行加减,直接把char 类型当做整数来运行
        int s = 'a' +'b';//√    ‘a’就是97,则s = 195
        char test1 = 'a' + 28;//√    test1为195对应的字符
        char test2 = '中';////int a = 1.2;//×    会损失精度,违法的
        
        //以下都是隐式转换
        byte e = 0x60;//
        int ie = e;//
        char g = 'a';//
        int ig = g;//
        long h = ig;//
        long i = 1000000000l;//
        float j = i;//
        double k =j;//
        String str = "hello";//
        Object o =s;////以下都是显示转换
        long l = 1000000L;
        //int i =l;//×
        Object o2 = new String("hello");
        //String str2 = o2;//× 
    }

 

public class Test{
	
	public static void main (String [] ABC){
		long l = 0xfffl;
		long l1= 0XfffL;//大小写不影响的哦~
		int i = 0xFFFFFF1;
		int j = ~i;
		//则 j = 14;“~”为求补运算
		float a1 = -1;//int to float
		//float a2 = 1.0;//wrong~!double to float! 
		//float a3 = 42e1;//wrong~!double to float! 
		float a4 = 2.02f;
		//float a5 = 3.01d;//wrong~!double to float! 
		float a6 = 0x00123;
		
		Boolean b = null;
		//boolean b1 = null;//这句错了!!why?
		boolean c = true;
		Boolean c1 = true;
//		boolean是基本数据类型
//		Boolean是它的封装类,和其他类一样,有属性有方法,可以new,例如:
//		Boolean flag = new Boolean("true");  // boolean 则不可以!
//		Boolean 是boolean 的实例化对象类,和Integer对应int一样
//		自jdk1.5.0以上版本后,Boolean在"赋值"和判断上和boolean一样,
//		即是你: boolean b1 = true ; 或者 Boolean b2 = true ; 都可以。
//		唯一只能使用Boolean上的就是从列表或者哈希表获取值时。
//		比如 boolean t = false;
//		Map map = new HashMap();
//		map.put("t", t);
//		那么获取值时只能用
//		Boolean t1 = (Boolean) map.get(t); //前面只能用Boolean强制转换,不能使用boolean.
	}

}

  

posted @ 2013-10-24 15:59  little white  阅读(1544)  评论(0编辑  收藏  举报