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. } }