java内存分析:
堆:存放new的对象和数组
可以被所有的线程共享,不会存放别的对象引用
栈:存放基本变量类型(会包含这个基本类型的具体数值)
引用对象的变量(会存放这个引用在堆里面的具体地址)
方法区:可以被所有的线程共享
包含了所有的class和static变量
数组变量的声明,和创建数组可以用一条语句完成,如下所示
dataType[] arrayRefVar = new dataType[arraySize];
java中的变量要先经过声明之后才能创建
声明数组
arrayRefVar = new dataType[arraySize];
声明整型
a = new int[intSize]; 创建整型变量:int a = 100
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
为 For-Each 循环或者加强型循环,它能在不使用下标的情况下
遍历数组。
for(type element: array){
System.out.println(element);
}
java.util.Arrays 类能方便地操作数组. 使用之前需要导包!
具有以下常用功能:
给数组赋值:通过 fill 方法。
对数组排序:通过 sort 方法,按升序。
比较数组:通过 equals 方法比较数组中元素值是否相等。
查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
Arrays.sort(mylist1);排序
Arrays.binarySearch(mylist1, 3.4))//查找数组元素3.4的索引
Arrays.fill(mylist1, 0,2, 100)//替换数组mylist1中0,2索引的元素为100
For-Each循环能在不使用下标的情况下遍历数组
for(double element:mylist1){//element是必要的参数,mylist1是数组,double是数据类型
System.out.println(element);
}
面向对象编程(Object-OrientedProgramming, OOP)。
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
- 值传递和引用传递
调用方法进行传参时,分为值传递和引用传递两种。
如果参数的类型是基本数据类型,那么就是值传递。
如果参数的类型是引用数据类型,那么就是引用传递。
值传递是实参把自己变量本身存的简单数值赋值给形参.
引用传递是实参把自己变量本身存的对象内存地址值赋值给形参.
所以值传递和引用传递本质上是一回事,只不过传递的东西的意义不同而已.
java中的构造器
7.this关键字
在类中,this关键字可以起到一些特殊作用
【区别成员变量和局部变量】
【调用类中的其他方法】
【调用类中的其他构造器】