Java基础语法学习 ———— Day2
Java基础语法学习 ———— Day2
一、方法
-
定义
类似于其他语言的函数,是一段用来完成特定功能的代码片段。
//定义方法 修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } -
方法调用
-
调用方法:对象名.方法名
-
当方法返回一个值时:
int large = max(30,40); -
当返回值时
void时,方法调用一定是一条语句:System.out.println("");
-
-
方法重载
重载是在一个类中,有相同的函数名称,但形参不同的函数。
-
可变参数
- 在方法声明中,在指定参数类型后加一个省略号(…)
- 一个方法只能指定一个可变参数,它必须是方法的最后一个参数
public class Demo05 { public static void main(String[] args) { Demo05 demo05 = new Demo05(); //传递多个int类型参数 demo05.max(1,4,65,75,34,24); } public void max(int...numbers){ //numbers相当于数组 if(numbers.length == 0){ System.out.println("NO argument passed!"); return; } double result = numbers[0]; for (int i = 0; i < numbers.length; i++) { if(numbers[i] > result){ result = numbers[i]; } } System.out.println("The max value is "+ result); } }
二、数组
-
数组的声明与创建
-
必须先声明数组变量才能在程序中使用数组:
//声明数组 dataType[] array; //常用方法 dataType array[]; //效果相同 -
使用
new操作符来创建数组://创建数组 dataType[] array = new dataType[arraySize]; //声明与创建数组 dataType[] array = new dataType[arraySize];
-
-
三种初始化
-
静态初始化
int[] a = {1,2,3}; Man[] mans = {new Man(1,1), new Man(2,2)}; -
动态初始化
int[] a = new int[2]; a[0] = 1; a[1] = 2; -
默认初始化
-
-
Arrays类
- 数组的工具类
java.util.Arrays - 具有以下常用功能:
- 给数组赋值:通过
fill方法 - 对数组排序:通过
sort方法 - 比较数组:通过
equals方法 - 查找数组元素:通过
binarySearch方法对已排序的数组进行二分查找
- 给数组赋值:通过
- 数组的工具类
-
冒泡排序
public static int[] sort(int[] arr){ boolean flag = false; int temp = 0; //外部循环,表示循环次数 for (int i = 0; i < arr.length - 1; i++) { //内部循环,比较大小转换排序 for (int j = 0; j < arr.length - 1 - i; j++) { if(arr[j+1] < arr[j]){ temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; flag = true; } } if(!flag){ break; } } return arr; }
三、Java内存分析
- 堆
- 存放
new的对象和数组 - 可以被所有的线程共享,不会存放别的对象引用
- 存放
- 栈
- 存放基本变量类型
- 引用对象的变量
- 方法区
- 可以被所有的线程共享
- 包含了所有的
class和static变量
浙公网安备 33010602011771号