从零开始学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是局部变量,只存在栈中,不能进行传导