一、引用操作对象。 简化理解:遥控器可以操纵电视,但遥控器是个独立的存在,未必一定要与电视机关联 代码示例:String str; 二、必须由你创建所有对象 2.1存储位置: 1,寄存器,处理器内部。速度最快 2,堆栈,RAM(内存),指针向上移动,释放内存,向下移动,分配新内存。速度次之 3,堆,RAM(内存),存放所有的java对象,存放区和生命周期 4,常量,代码内部 5,非RAM存储,如流对象和持久化对象,存储在磁盘。 2.2基本类型 基本类型 大小 最小 最大 字节长度 默认值 包装器类型 boolean - - - 未定义 false Boolean char 16-bit 0 2^16-1 2 空 Character byte 8-bit -128 127 1 0 Byte short 16-bit -2^15 2^15-1 2 0 Short int 32-bit -2^31 2^31-1 4 0 Integer long 64-bit -2^63 2^63-1 8 0L Long float 32-bit 4 0.0f Float double 64-bit 8 0.0d Double void - - - - - Void 注:以上通过内置函数可以得到 类型 符号位 指数位 位数位 符号 float 1bit 8bit 23bit 后缀加f或F double 1bit 11bit 52bit 后缀加d或D float 取值范围:-3.403E38(-3.4*10^38)- 3.403E38(3.4*10^38) double 取值范围:-1.798E308(-1.7*10^308)- 1.798E308(1.7*10^308) float和double是由指数的位数来决定。 float的指数范围为-127--128,double的范围是-1023-1024。理解为偏移量 float和double的精度是由尾数位决定的, float精度范围是:2^23一共7位,因此最多能表示7位,但是能保证的是6位。 double的精度范围是2^52一共16位,同理最多能表示16位,但是能保证的是15位。
指数和尾数是反比,尾数是小数点以后的数据,指数是偏移量。指数越大,数据偏差越大,尾数越长,偏移量越小 高精度:BigInteger 和 BigDecimal 用于高精度计算,一个用整,一个用小数点。多用于科学计算法 2.3数组 数组的创建是引用数据。初始化或运行时下标检查保证了安全和高效。 当创建一个数组对象时,实际创建了一个引用数组,并且都会自动被初始化一个特定值,该值有自己的关键字null, 一旦java发现null,意味着这个引用还没有指向某个对象 三、永远不要销毁对象 对象的作用域不必关注,交由 java垃圾回收器 处理 四、创建新的数据类型:类 定义类后,类里设置两种类型元素:字段和方法。创建类就是描述类的对象的外观和行为。 new的时候 ,普通类才会被创建,数据存储空间才被分配,其方法可以供外界调用 五、方法参数和返回值 java用方法不用函数描述子程序。 方法的基本组成:名称,参数,返回值,方法体,方法名和参数列表唯一标识出某个方法(合称:方法签名) 方法只能作为类的一部分创建,只能通过对象调用。 参数的传递是引用,会检查参数类型 return,返回数据值或者退出方法 六、构建一个java程序 名字可见:同一个文件内保证唯一 运用其他构件:使用import导入包和库 static关键字:1,为特定域分配单一存储空间,不考虑创建多少对象甚至不创建对象, 2,满足某个方法不与包含它的类的任何对象关联,依然可以调用 七、创建第一个程序 命名一致,引用包和类库,静态输出system 运行时要先安装jdk(开发环境),运行完会产生一个。class的文件,是java语言编译为机器语言进行处理。
八、注释和嵌入式文档 /* */ 或者 /** */ 多行注释 //单行注释 通过javadoc生成 html 文件,看到java类库提供和自己提供的文档和说明。只能为public 和protected进行文档注释,其他的会被忽略 九、编码风格 驼峰命名法 nameMethods,帕斯卡命名法 NameMethods 十、总结 简单java编程,基本思想
十一、附录
基本类型和包装类型的不同之处
基本类型存储在栈里,是一个常量值,读取更高效。比如,int a=1,b=1。在栈里只有一个1,属于共同使用
包装类型是对象,是引用类型,每个对象的数值都需要单独创建。如integer a =1 ,b =1。代表两个对象,引用地址不一样,值一样。
包装类可以用于泛型,基本类型不可以。比如list的对象
基本类型转换成包装类型的过程叫做装箱。把包装类型转换成基本类型的过程叫做拆箱。