文档版本 | 开发工具 | 测试平台 | 工程名字 | 日期 | 作者 | 备注 |
---|---|---|---|---|---|---|
V1.0 | 2016.02.24 | lutianfei | none |
方法就是完成特定功能的代码块,即函数。
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
方法重载特点
eg:
class FuncionTest{
public static void main(String[] args){
//Test1
short b1 =3;
short b2 =4;
System.out.println("short:"+compare(b1,b2));
}
//*******************************************************//
// Function :byte type
public static boolean compare(byte a, byte b){
System.out.println("byte type");
return a==b;
}
//-------------------------------------------------------//
//*******************************************************//
// Function :short type
public static boolean compare(short a, short b){
System.out.println("short type");
return a==b;
}
//-------------------------------------------------------//
//*******************************************************//
// Function :int type
public static boolean compare(int a, int b){
System.out.println("int type");
return a==b;
}
//-------------------------------------------------------//
//*******************************************************//
// Function :long type
public static boolean compare(long a, long b){
System.out.println("long type");
return a==b;
}
//-------------------------------------------------------//
数组的定义格式
eg:
注:
数组初始化概述:
数组的初始化方式
动态初始化
:初始化时只指定数组长度,由系统为数组分配初始值。静态初始化
:初始化时指定每个数组元素的初始值
,由系统决定数组长度(用的更多)。动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
数据类型[] 数组名 = new 数据类型[数组长度]
;数组长度
其实就是数组中元素的个数。new
为数组分配内存空间。静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
栈
存储局部变量,使用完毕就消失。堆
存储new出来的东西方法区
(面向对象部分讲)本地方法区
(和系统相关)寄存器
(给CPU使用)
局部变量
堆
:new出来的东西,实体,对象。
/* 需求: 1、定义第一个数组,定义完毕后,给数组元素赋值。赋值完毕后,在输出数组名称和元素。 2、定义第二个数组,定义完毕后,给数组元素赋值。赋值完毕后,在输出数组名称和元素。 3、定义第三个数组,把第一个数组的地址值给它。(注意类型一致),通过第三个数组的名称去把元素重新赋值。 4、再次输出第一个数组名称和元素。 */
class ArrayDemo{
public static void main(String[] args){
int[] arr = new int[3];
arr[0] = 88;
arr[1] = 33;
arr[2] = 66;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
int[] arr2 = new int[3];
arr2[0] = 22;
arr2[1] = 44;
arr2[2] = 55;
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
//第三个数组
int[] arr3 = arr;
arr3[0] = 100;
arr3[1] = 200;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
空指针异常
Eg:
int[] arr = {1,2,3};
System.out.println(arr[3]); //报错:ArrayIndexOutOfBoundsException
arr = null;
System.out.println(arr[0]); //报错:NullPointerException
length
,可以得到数组长度。int[] arr2 = {1,4,52,4,5,6,3,2,8,5,3,1,6,7,8,3,2};
//length 属性
for (int x=0;x<arr2.length;x++){
System.out.println(arr2[x]);
}
/* 分析: A:从数组中人员找一个作为参照物(一般第一个),默认他是最大的。 B:遍历其他元素,一次获取和参照我进行对比。 */
class ArrayDemo{
public static void main(String[] args){
int[] arr2 = {1,4,52,4,5,6,44,2,66,323,3,22,6,23,8,654,2};
int max = arr2[0];
int min = arr2[0];
for (int x=1;x<arr2.length;x++){
max = (max > arr2[x]) ? max : arr2[x];
min = (min < arr2[x]) ? min : arr2[x];
// System.out.println(arr2[x]);
}
System.out.println("Max is :" +max);
System.out.println("Min is :" +min);
}
}
/* 分析: A:将arr[0]与arr[length-1]交换 B:将arr[1]与arr[length-2]交换 ... C:只要做到arr.length/2即可 */
class ArrayDemo{
public static void main(String[] args){
int[] arr = {1,4,52,4,5,6,44,2,66,323,3,22,6,23,8,654,2};
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
arrReverse(arr);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
public static void arrReverse(int[] arr){
for (int x=0;x<arr.length/2;x++){
int temp = arr[x];
arr[x] = arr[arr.length-1-x];
arr[arr.length-1-x] = temp;
}
}
}
import java.util.Scanner;
class ArrayDemo{
public static void main(String[] args){
String[] strArr = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
Scanner sc = new Scanner(System.in);
System.out.println("Please input a number(0~6):");
int index = sc.nextInt();
System.out.println(strArr[index]);
}
}