JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。是java开发工具包
jre是java的运行环境(如果不做开发就不用安装jdk单独安装jre就可以运行java程序)
在java中一个int 等于4个字节,而char等于2个字节,long 等于8个字节,给long类型赋值时数字后面要加L表示long类型
否则它会认为是int类型,下面是关于基本数据类型的字节换算:
整数类型可以表示一个整数,常用的整数类型有:
byte,short,int,long
它们的区别在于:
byte 1个字节8位 -128到127
short 2个字节16位 -32768到32767
int 4个字节32位 -2147483648到2147483647
long 8个字节64位 -9223372036854775808到9223372036854775807
计算它的数字范围2(字节乘8-1)次方取负到2(字节乘8-1)次方-1
float和double区别:
单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。
float占4个字节,int也占4个字节,可float的数字要比int型大很多,这是因为float在内存中的表示方法和int不一样,其实float的有效位是7位,double的有效位的16位
所以说float的值大,只是一个大概值,不是很精确,有效的位还是float的有效位是7位,double的有效位的16位
char char1='我'; // char中可以存一个汉字但不能存储两个字母 int test1='a'+'b'; // 结果是字母所对应的ascii码相加 //在java中对char进行运算时候,直接当作ascii码对应的整数对待,如果没有对应的ascii码,则是"?" char test1='a'+'b';
java中类的生命周期从类被加载,连接,初始化,使用,到类被卸载结束;
int a=1.2; // 违背了数据从高精度到低精度的转换的原则 // byte<short<int<long<float<double 精度由低到高 // 在java中的小数默认为double; // float a=3.4; // 报错 改为:float a=3.4f; int a=(int)1.2; // a=1 int b=(int)1.9; // b=1 都为1直接省略小数点后面(并不会四舍五入) System.out.println("a="+a+" b="+b); int a=1; double b=4.5; // a=b //也会报错 int a=3; // int b=a+3.4; //报错 // 在java中加减乘除都自动的往高精度转换当定义的变量类型低于所得结果的类型时则报错违反原则 short s1=1; // s1=s1+1; 报错损失精度 s1+=1; 不会报错 它会自动强转 int a=1; int a=a+1.2; 同上 a+=1.2;