编程思想 -- 第2章 -- 一切都是对象

mac2024-06-28  58

一切都是对象

一、引用操作对象。     简化理解:遥控器可以操纵电视,但遥控器是个独立的存在,未必一定要与电视机关联     代码示例: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的对象

基本类型转换成包装类型的过程叫做装箱。把包装类型转换成基本类型的过程叫做拆箱。                     

最新回复(0)