方法的定义: 方法:指的是一段可以重复调用的代码(和C语言中的函数一样) 方法的定义语法: public static 返回值类型 方法名 (参数) { //方法体 return //返回值 } 调用:类内 方法名 (参数) 类外 对象.方法名 (参数)或者类名.方法名 (参数) 参数: 格式: 固定参数type name 可变参数type... name声明在最后一个,当做数组 定义方法时的参数称为形参 调用方法时的参数称为实参 一次只能返回一个值 static修饰的变量我们称之为静态变量,没有用static修饰的变量称之为实例变量,他们两者的区别是: 静态变量是随着类加载时被完成初始化的,它在内存中仅有一个,且JVM也只会为它分配一次内存,同时类所有的实例都共享静态变量,可以直接通过类名来访问它。 实例变量则不同,它是伴随着实例的,每创建一个实例就会产生一个实例变量,它与该实例同生共死。 所以我们一般在这两种情况下使用静态变量:对象之间共享数据、访问方便。 访问权限修饰符: 修饰类:对于非内部类而言,类的访问权限仅有public和包访问权限两种(内部类可以是private或protected) 修饰成员: 1.private:及私有的,对访问权限限制最窄的修饰符。被private修饰的属性以及方法只能被该类的对象访问。它的子类也不可以访问,更不支持跨包访问。 2.protected:及保护访问权限,是介于public和private之间的一种访问修饰。被protected修饰的属性及方法只能被类本身的方法和子类访问。(子类在不同的包中也可以访问) 3.public:及共有的,是访问权限限制最宽的修饰符。被public修饰的类、属性、及方法不仅可以跨类访问,而且可以跨包访问。 4.default:及默认的,不加任何访问修饰符。常被叫做“默认访问权限”或者“包访问权限”。无任修饰符时,只支持在同一个包中进行访问。 方法重载:Java 允许同一个类中定义多个同名方法,只要它们的形参列表不同即可。如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,这种情况被称为方法重载(overload)。 方法重载的要求是两同一不同:同一个类中方法名相同,参数列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。 实际调用时,根据实参的类型来决定调用哪一个方法。 数组:数组是最常见的一种数据结构,它是相同类型的用一个标识符封装到一起的基本类型数据序列或者对象序列。数组使用一个统一的数组名和不同的下标来唯一确定数组中的元素。 声明:在声明数组时不需要规定数组的长度 type[] arrayName; // 数据类型[] 数组名; type arrayName[]; // 数据类型 数组名[]; 在 Java 中可以使用 new 关键字来给数组分配空间。分配空间的语法格式如下: arrayName = new type[size]; // 数组名 = new 数据类型[数组长度]; 声明数组时就给它分配空间,语法格式如下: type[] arrayName = new type[size]; // 数据类型[] 数组名 = new 数据类型[数组长度]; 初始化: 声明后;1.挨个赋值arrayName[i] = element;一直到i=size-1 2.arrayName = {值 1,值 2,值 3,...,值 n}; 声明时:1.type[] arrayName = new type[]{值 1,值 2,值 3,值 4,• • •,值 n}; 2.type[] arrayName = {值 1,值 2,值 3,...,值 n}; 数组属性:arrayName.length 数组方法: arrayName.clone() arrayName.equals(Object obj) arrayName.getClass() arrayName.hashCode() arrayName.notify() arrayName.notify All() arrayName.toString() arrayName.wait() arrayName.wait(long timeout) arrayName.wait(long timeout,int nanos) Arrays 类 java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的 给数组赋值:通过fill(a,2)方法。 输出数组元素:toString(a) 对数组排序:通过 sort(a)方法,按升序。 比较数组:通过 equals(a1,a2) 方法比较数组中元素值是否相等。 查找数组元素:通过 binarySearch(a,3)方法能对排序好的数组进行二分查找法操作。 复制数组:type[] copyOf(type[] original)这个方法将会把 original 数组复制成一个新数组,其中 length 是新数组的长度。如果 length 小于 original 数组的长度,则新数组就是原数组的前面 length 个元素,如果 length 大于 original 数组的长度,则新数组的前面元索就是原数组的所有元素,后面补充 0(数值类型)、false(布尔类型)或者 null(引用类型)。 System.arraycopy() 数组遍历: 1.for循环下标遍历... 2.foreach遍历格式: for(type element: arrayName) { System.out.println(element); } 数组异常: 空指针异常:该变量为null,调用该变量的属性或者方法 地址越界异常:无地址 多维数组:没有真正意义上的二维数组,是将数组作为数组元素形成矩阵 栈内存:大小固定,用于存储局部变量,临时变量(基本数据类型)和引用变量(保存的是一块堆内存的地址,即:通过地址找到堆内存,而后找到对象内容;) 堆内存:大小不固定,存储对象,在程序之中堆内存空间的开辟是通过new完成的; JDK,JRE和JVM的联系区别: JDK提供编译、调试和运行功能,用于开发,包含了JRE和JVM JRE提供了运行Java程序的平台,包含了JVM JVM是Java的虚拟机,提供了内存管理、垃圾回收和安全机制等
java方法定义和数组
最新推荐文章于 2023-03-11 19:17:20 发布