Java程序开发过程:
1.编写源代码;
2.使用javac编译器进行编译生成字节码;
3.启动JVM,解释执行字节码;
(1)由ClassLoader把字节码从硬盘加载到内存(此时初始化静态的程序元素)
(2)由字节码校验器对安全进行校验
(3)由解释器解释执行字节码(调用构造方法,此时this、实例属性和实例方法才有效)
java跨平台:
1.java程序经编译生成字节码,不同的硬件平台上安装有不同的虚拟机(JVM),由JVM来把字节码再"翻译"成所对应的硬件平台能够执行的代码;
2.java中八种基本类型的长度,在任何的平台上都是一致的。
path:让命令行窗口找到可执行的java相关命令的路径
classpath:告诉jvm到哪里去寻找字节码文件
数据类型
基本数据类型
基本类型之间的转换是精度的损失(从前往后截)
整数型
1.byte(1个字节)
2.short(2个字节)
3.int(4个字节)
4.long(8个字节)
注意:>>byte,short,int,long在自动装箱的时候,在-128~127范围内,对象在对象池中分配,对象池中的对象是被共享的
浮点类型
5.float(4个字节)
6.double(8个字节)
注意:>>Java中浮点类型都是采用近似值,而不是精确值,不适合做关于金钱的计算,做财务或金钱方面时用BigDecimal类型做精确计算
DecimalFormat df = newDecimalFormat("显示格式");
df.format(value);
>>所有的浮点类型,在任何范围内自动装箱的时候,都不在对象池中分配
字符类型
布尔类型
引用数据类型
byte short char int=>int byte short char =>int
java中几种基本类型之间的转换
int->Integer: (eg:int i=2)
1.IntegerI=new Integer(i);
2.IntegerI=Integer.valueOf(i);
3.Integer I=i; //自动装箱int/Integer->String
1.Strings=String.valueOf(i);
2.Strings=Integer.toString(i);
3.String s=i+"";String->int/Integer
1.inti=Integer.parseInt(s);
2.IntegerI=new Integer(s);
3.IntegerI=Integer.valueOf(s);
4.Integer I=Integer.decode(s);