马太效应 发表于 2017-7-11 23:40:37

Java暑期学习Day07

今天是第七天了,希望能坚持下去
{:10_265:}ps.这个表情好搞笑……

① 基本类型打包器

   (J2SE 5.0开始支持了自动装箱(Autoboxing)、拆箱(Unboxing))
A. 要让基本类型像对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包基本类型,这些类就是所谓的打包器。
<div>public class IntegerDemo {
        public static void main(String[] args) {

                int data1 = 10;
                int data2 = 20;
                Integer a = new Integer(data1);// 打包基本类型
                Integer b = new Integer(data2);
                System.out.println(data1 / 3);//基本类型运算   答案:3
                System.out.println(a.doubleValue() / 3);</div><div>//操作打包器的方法 答案:3.3333333333333335
                System.out.println(a.compareTo(b));//答案:-1

        }
}
</div>
a.操作Integer的doubleValue()将打包值以double类型返回
b. Integer提供compareTo()方法,可与另一个Integer对象进行比较。
   若打包值相同就返回0,小于compareTo()传入对象就返回-1,否则就返回1。


B.自动装箱与拆箱

1.自动装箱
   如int i=10; Integer a=i;
或者 Integer a=10;
再或者 Number number =3.14f;


2.自动拆箱
如Integer a=10;//自动装箱
    int b=a;//自动拆箱
或者 Integer i=10;
      System.out.println(i+10);//先对i拆箱再进行加法运算


3.Java中的null代表一个特殊对象,任何类声明的参考名称都可参考null,表示该名称没有参考至任何实体
public class B {

        public static void main(String[] args) {

                Integer a = 200;//直接建立实例,不从缓存中传回
                Integer b = 200;
                if (a == b) {
                        System.out.println("a==b");
                } else {
                        System.out.println("a!=b");    //a!=b

                }

        }

}

    IntegerCache.low的默认值是-128//执行时期无法更改
      IntegerCache.high的默认值是127//可以在启动JVM时,利用系统属性java.lang.Integer.IntegerCache.high来指定
      Cache——缓存


②数组对象(引用数据类型)
   作用:存储相同数据类型的一组数据;对同类型数据进行集中管理
   (数组中所有元素在内存中连续存储)

特点:1.数组本身也是一种引用类型
             2.数组名只是引用,指向堆中创建的数组对象,该对象保存一组其他引用或直接值
   
声明、创建数组
A.语法:数组类型[] 数组名;
   B.数组的创建——为数组分配内存空间(new操作符的使用,在堆中分配)
   C.数组类型[] 数组名= new 数组类型[大小];

数组特点
A.数组中的length不是实际保存的元素个数(是数组长度)
B.通过"[]"访问数组对象成员(唯一方式)
C.对象数组保存的是引用,基本类型数组直接保存基本类型的值
D.新生成的数组对象,其中所有引用自动初始化为null;基本类型数组成员有各自的默认值

数据类型 初始值
byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0D
char \u0000
boolean false



\u0000是null,是空字符

E.必须初始化才能使用(为数组中的成员——赋值)
   不要动静结合


数组赋值的两种方式
A.边声明边赋值


int[] score={66,77,88};
int[] score = new int[]{66,77,88};


B.动态获取(从键盘录入)信息并赋值
   int[] score = new int;
Scanner input =new Scanner(System.in);
for(int i=0;i<3;i++)
{ score=input.nextInt();
}





页: [1]
查看完整版本: Java暑期学习Day07