1.变量:存数的 1)声明:----相当于在银行开了个帐户 int a; //声明一个整型的变量,名为a int b,c,d; //声明三个整型的变量,名为b,c,d 2)初始化:----相当于给帐户存钱 int a = 250; //声明整型变量a并赋值为250 int a; //声明整型变量a a = 250; //给变量a赋值为250 3)使用:----使用的是帐户里面的钱 3.1)对变量的使用就是对它所存的那个数的使用 int a = 5; int b = a+10; //取出a的值5,加10后,再赋值给变量b System.out.println(b); //输出变量b的值15 System.out.println(“b”); //输出b,双引号中的原样输出 a = a+10; //取出a的值5,加10后,再赋值给a //在a本身基础之上增10 System.out.println(a); //15 3.2)变量在用之前必须声明并初始化 //System.out.println(m); //编译错误,变量m未声明 int m; //System.out.println(m); //编译错误,变量m未初始化 4)命名: 4.1)只能包含字母、数字、_和$符,并且不能以数字开头 4.2)严格区分大小写 4.3)不能使用关键字 4.4)允许中文命名,但不建议, 建议"英文的见名知意"、“驼峰命名法” 2.八种基本数据类型:byte,short,int,long,float,double,boolean,char 1)int:整型,4个字节,负的2的31次方到正的2的31次方减1; 1.1)整数直接量默认为int类型,但不能超范围,若超范围则编译错误 1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入) 1.3)运算时若超出范围,会发生溢出(溢出不是错误,但需要避免) 2)long:长整型,8个字节,很大很大很大 2.1)长整型直接量需要数字后加L或l(建议用L) 2.2)运算时若有可能溢出,建议在第1个数字后加L或l 3)double:浮点型,8个字节,很大很大很大 3.1)浮点数直接量默认为double类型,表示float需在数字后加F或f 3.2)double和float型数据运算时,有可能出现舍入误差 4)boolean:布尔型,1个字节 5)char:字符型,2个字节 5.1)采用Unicode字符集编码格式,每个字符都有一个对应的码, 表现的形式为字符char,但本质上是码int(0到65535之间) (ASCII码: ‘a’–97 ‘A’–65 ‘0’–48) 5.2)字符直接量必须放在单引号中,只能有一个 5.3)特殊符号需要通过\来转义 3.类型间的转换: 数据类型从小到大依次为: byte,short,int,long,float,double char, 1)两种方式: 1.1)自动/隐式类型转换:小类型到大类型 1.2)强制类型转换:大类型到小类型 语法: (要转换成为的数据类型)变量 强转有可能溢出或丢失精度 2)两点规则: 2.1)整数直接量可以直接赋值给byte,short,char, 但不能超出范围 2.2)byte,short,char型数据参与运算时, 系统会一律先将其转换为int再运算
package Test;//声明包Test //数据类型的演示 public class DataTypeDemo { public static void main(String[] args) { //类型间的转换: int a = 5; long b = a; //自动类型转换 int c = (int)b; //强制类型转换 long d = 5; //自动类型转换 double e = 5; //自动类型转换(e的值为5.0) long f = 10000000000L; int g = (int)f; System.out.println(g); //强转有可能发生溢出 double h = 56.987; int i = (int)h; System.out.println(i); //56,强转有可能丢失精度 /* 2.1)整数直接量可以直接赋值给byte,short,char, 但不能超出范围 2.2)byte,short,char型数据参与运算时, 系统会一律先将其转换为int再运算 */ byte b1 = 5; byte b2 = 6; //byte b3 = b1+b2; //编译错误,运算时将b1和b2转成int类型, //两个int相加,结果还是int类型, //将int赋值给byte,因为不是直接量, //所以需要强转 byte b4 = (byte)(b1+b2); //强转的是运算之后的int结果 /* //1)int:整型,4个字节,-21个多亿到21个多亿 int a = 250; //250为整数直接量,默认为int类型 //int b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了 //int c = 25.678; //编译错误,整型变量中只能装整数 System.out.println(5/2); //2 System.out.println(2/5); //0 System.out.println(5/2.0); //2.5 int d = 2147483647; //int的最大值 d = d+1; System.out.println(d); //溢出了,-2147483648(int的最小值) //2)long:长整型,8个字节,很大很大很大 //long e = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了 long f = 10000000000L; //长整型直接量需在数字后加L或l long g = 1000000000*2*10L; System.out.println(g); //200亿 //练习+下课----3:00继续 long h = 1000000000*3*10L; System.out.println(h); //溢出了 long i = 1000000000L*3*10; System.out.println(i); //300亿,有可能溢出时建议在第1个数字后加L */ /* //3)double:浮点型,8个字节,很大很大很大 double a = 3.14; //3.14为浮点型直接量,默认为double型 double b=3.0,c=2.9; System.out.println(b-c); //0.10000000000000009-舍入误差 //4)boolean:布尔型,1个字节 boolean d = true; //true为布尔型直接量 boolean e = false; //false为布尔型直接量 //boolean f = 25; //编译错误,布尔型只能取值为true或false */ /* //5)char:字符型,2个字节 char c1 = '女'; //字符女 char c2 = 'f'; //字符f char c3 = '6'; //字符6 char c4 = ' '; //空格符 //char c5 = 女; //编译错误,字符型直接量必须放在单引号中 //char c6 = ''; //编译错误,必须有字符 //char c7 = '女性'; //编译错误,只能有一个字符 char c8 = 65; //0到65535之间 System.out.println(c8); //A,输出时会按变量的数据类型来 char c9 = '\''; System.out.println(c9); //' */ } }