------- android培训、java培训、期待与您交流! ----------
第一节:函数
一、函数的简述:
1 函数的定义:就是在类中的具有特定功能的一段独立小程序叫做函数,也称方法。
2 函数的格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
对上面的语法格式具体的说明:
(1) 修饰符 方法的修饰符比较多,是对访问权限进行限定的。
(2) 返回值类型 用于限定方法返回值的数据类型的。
(3) 方法名 给方法起一个名字,方便调用此函数。
(4) 参数类型 用于限定调用方法时传入参数的数据类型。
(5) 参数名 是一个变量,用于接收方法时传入的数据。
(6) return关键字 用于结束方法以及返回方法指定类型的值。
(7) 返回值 该值会返回给调用者。
3 函数的注意事项:
(1) 函数不被调用,就不会执行。
(2) 假如函数有明确了返回值类型,就必须有return语句返回,要是没有明确返回值类型,返回值类型用void关键字,return语句在最后一行可以省略不写。
(3) 函数之间是平级关系,函数内可以调用函数,不能再定义函数。
(4) 要明确返回值类型和参数列表
4 而如何的去定义一个函数呢?
(1) 在定义一个函数时要明确该功能的结果是啥。
(2) 在该功能过程中,是否有未知内容参与了运算。
二、方法的重载
1 重载的定义:在同一个类中,方法名相同,参数列表不同。与返回值无关。
2 重载的好处:方便与代码的阅读。
第二节:数组
一、数组的简述
1 数组的定义: 简单的理解就是存储同一种数据类型的多个元素的容器。
2 数组的特点:数组中的元素都进行了编号,从0开始。
3 数组格式:
(1) 数据类型[] 数组名 = new 元素类型 [元素个数或数组长度];
举例:int[] aray=new int[6];
(2) 数据类型[] 数组名= new 元素类型 []{元素1,元素2,…};
举例:int[] array=new int[]{1,2,4};
(3)数据类型[] 数组名={元素1,元素2,...};
举例:int[] array={1,2,3};
二、java中内存的分配
1 java内存中的分配
(1) 栈----->存储局部变量
(2) 堆----->存储new出来的
(3) 方法区---->面向对象中会讲到
(4) 本地方法区---->系统相关
(5) 寄存器---->CPU的使用
2 栈和堆的区别
(1) 栈 用于存储局部变量,执行完,自己所占的空间会自动释放
(2) 堆 数组和对象通过new创建的实例放在堆内存中,都有一个地址值,每一个变量都会有默认的值,数据使用完,会被垃圾回收器回收。
三、二维数组
1 二维数组的定义:就是数组中的数组。
2 格式:
(1) 一、int[][]array=new int[a][b];
此格式是;有a个一维数组,每个数组中的元素为b个。
(2)二、int[][]array=new int[a][];
此格式是:有a个一维数组,每个数组都默认为null。
(3)三、int[][]array={{1,2,3},{4,5}};
此格式是: 都能够看到每个数组中的具体的元素。
四、数组中常见的操作
1 获取元素中的最大值与最小值
//获取数组中的最大值。
class ArrayDemo
{
public static void main(String[] args)
{
int[] arr = {23,4,5,9,0,1};//定义一个数组。
int max=getMax(arr);//调取元素最大值的方法。
System.out.println("max="+max);//打印出max。
}
public static int getMax(int[] arr)//获取数组中最大的数,1 他是有结果的,所以返回值类型为int,2 有未知内容。
{
int max=arr[0];//定义变量max用于记住最大数,首先假设第一个元素为最大值。
for (int x=1;x<arr.length ;x++ )//通过一个for循环遍历数组中的元素。
{
if (arr[x]>max)//比较arr[x]与max的大小。
{
max=arr[x];//如果arr[x]的值最大,就把arr[x]的值赋值给变量max.
}
}
return max;//把最大的那个值返回。
}
}
//获取数组中最小值。
class ArrayDemo1
{ public static void main(String[] args)
{
int[] arr={2,5,8,3,0,1};//定义一个数组。
int min =getMin(arr);//调取元素最小值的方法
System.out.println("min="+min);//打印出最小值。
}
public static int getMin(int[] arr)//定义一个功能,1 有结果 有返回值 2 有未知内容。
{
int min =arr[0];//把第一个元素作为最小值赋值给变量min。
for (int x=1;x<arr.length ;x++ )//定义一个for循环进行对数组遍历。
{
if (min>arr[x])//比较min与arr[x]的大小。
{
min=arr[x];//把小的值arr[x]的值赋值给min。
}
}
return min ;//把最小值返回。
}
}
2 折半查找法
//折半查找法
class ArrayDemo2
{
public static void main(String[] args)
{
int[] arr={5,7,12,45,78,90};//定义一个数组
int get=getSort(arr,79);//函数的调用
System.out.println("get="+get);//打印要找的数据
}
public static int getSort(int[] arr,int key)
{
int min,mid,max;//定义三个变量
min=0;
max=arr.length-1;
mid=(min+max)/2;
while (arr[mid]!= key)//判断当不等于要找的数时
{
if (key>arr[mid])//如果要找的数大于中间数
min =mid+1;
else if (key<arr[mid])//如果要找的数小于中间数时
max=mid-1;
if (min>max)
return -1;//要是要找的数不存在的话就返回-1
mid=(min+max)/2;
}
return mid;//返回要找的元素的角标
}
}
3 两种的排序方法
//选择排序
class ArrayDemo3
{
public static void main(String[] args)
{
int [] arr={5,7,2,8,20,1};//定义一个数组
selectSort(arr);//调用一个方法进行对数组进行排序
printArray (arr);//让数组以一定格式打印出来
}
public static void selectSort(int[] arr)
{
for (int x=0;x<arr.length-1 ;x++ )//for循环进行遍历数组中的元素
{
for (int y=x+1;y<arr.length ;y++ )//for循环遍历遍历的元素与外循环的一个元素进行比较
{
if (arr[x]>arr[y])//如果外循环的元素大于内循环的元素
{
int temp=arr[x];//采用第三方变量进行对两个的元素进行位置变换
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static void printArray(int[] arr)
{
System.out.print("[");
for (int x= 0;x<arr.length ;x++ )//对数组中的元素进行遍历
{
if (x!=arr.length-1)
{
System.out.print(arr[x]+" ");//采用的是字符串的拼接的方式
}
else
{
System.out.print(arr[x]+"]");
}
}
}
}
//二 冒泡排序
class ArrayDemo4
{
public static void main(String[] arga)
{
int [] arr={3,9,76,2,0};//定义一个数组
selectGet(arr);//调用函数进行对数组内的元素进行排序
printArray(arr);//以一定的格式打印出来
}
public static void selectGet(int[] arr)
{
for (int x=0;x<arr.length-1 ;x++ )//for循环的作用是就是所有元素进行相比较的次数
{
for (int y=0;y<arr.length-x-1 ;y++ )//for循环进行对相邻的元素进行比较
{
if (arr[y]>arr[y+1])//判断如果前一个元素大于了后一个元素
{
int temp=arr[y];//采用第三方的变量进行对数组中的元素进行位置的交换
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void printArray(int[] arr)
{
System.out.print("[");
for (int x= 0;x<arr.length ;x++ )//for循环对元素进行遍历
{
if (x!=arr.length-1)
{
System.out.print(arr[x]+" ");//采用字符串的拼接的方式
}
else
{
System.out.print(arr[x]+"]");
}
}
}
}