从零开始学JAVA DAY3

System.out.print()最后输出没有回车

System.out.println()最后输出有回车

System.out.print()

输出格式是拼接型的

比如输出1+2=3

System.out.print(1+"+"+2+"="+3);

形参的三种形式

int,double/float,boolean

数组定义

int[] a = new int[5]

int[] a = new int[]{1,2,3,4}

数组的长度 a.length

a是存在栈中,数组保存在堆中,a取得的是数组中0位的地址值

(局部变量是存在栈中,全局变量存在堆中)

堆开辟了空间,能够保存,栈则是运行一次就消失

但是整个文件执行完,这个数组的堆所占的内存就会释放

java对于内存的优化做的比c++好,java有一个垃圾回收机制,而c++需要程序员手动去操作

如果我现在定义a == null(小写) 那么就没有东西指向这个数组,垃圾回收机制会在不定时的时间下释放这个空间

1.那么如果我现在再定义一个 int[] b = a;a == null

输出b[1] 结果返回 2

2.定义int[]b = a; a[1] = 5;

输出b[1] 结果返回5

因为a或者b取得都是数组的0标位的地址,如果改变了当前这个a[1]那么相当于在这个地址改变了值

与 定义 int b = a[1] 不同,再次改变a[1],b的值也不会变

 

关于类

类相当于一个独立的函数

样例

class Car
{
    String  color = "red";
    static int num = 4;
    public static int run()
    {
       // System.out.print(num);
        return num;
    }
}




class test
{
    public static void main(String[] args)
    {
    Car c = new Car();
    c.color = "blue";
    System.out.print(c.run());
    }
}

 在这里面static意思是静态的,相当于开辟一个空间,而这里的int是局部变量,只存在栈中,不能进行传导

 

posted @ 2015-08-20 10:30  Painting、时光  阅读(147)  评论(0编辑  收藏  举报