函数
定义特定功能,提高代码的复用性。Java中对功能的定义是通过函数的形式体现的。
函数定义的格式:修饰符 返回类型 函数名(参数类型 形式参数1,参数类型 形式参数….)
{
执行语句;
返回值类型;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型
形式参数:是一个变量,用于存储调用函数传递给函数的实际参数
Return:用于结束函数
返回值:该值会返回给调用者。
函数只有被调用才会执行。
对于没有返回值类型用void 可以不写return
函数之间是平级的只能调用不能在函数里边定义新函数。
函数的小练习:定义一个功能可以打印矩形,行列可以随意控制。
定义一个 功能打印99乘法表,也可打印到其他数字的乘法。
//打印一个矩形可以根据提供的两数控制行列
class TextHanShu{
public static void printJu(int a,int b){
for(int x=0;x<a;x++){
for(int y=0;y<b;y++){
System.out.print("*");}
System.out.println();}
}
public static void main(String[] args){
printJu(3,5);
printJu(5,7);}
}
//打印九九乘法表。可以打印到任意数
class Print99{
public static void printCC(int a){
for(int x=1;x<=a;x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");}
System.out.println();}
}
public static void main(String[] args){
printCC(9);}
}
函数的重载
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。与返回值无关,只看参数列表。
什么时候用重载?
但定义的功能相同,但参与运算的未知内容不同。
就可以定义一个函数以表示该功能,方便阅读。通过参数列表的不同区分多个同名函数。
注:参数是有顺序的。
数组
同一种类型数据的集合,其实数组就是一个容器。
自动给数组中的元素从0开始编号,方便操作这些元素。
格式1 元素类型[] 数组名=new 元素类型{元素个数或数组长度}
示例:int[] arr=new int[5];
格式2 元素类型[] 数组名=new 元素类型[]{元素,元素,……}
Int[] arr=new int[]{3,5}; int[] arr={3,5,1,7};
内存结构:栈内存:用于存储局部变量,当数据使用完,所占空间自动释放。
堆内存:数组和对象,通过new建立的实例存放在堆内存中。
每一个实体都有内存地址
实体中的变量都有默认初始化值
实体不在使用,会在不确定的时间内被垃圾回收器回收。
打印数组的所有元素 数组元素求和 打印数组与定义时的数组格式一样
//打印数组中所有元素
class TextArray{
public static void main(String[] args){
int[] arr=new int[6];
for(int x=0;x<arr.length;x++)
System.out.println("arr["+x+"]="+arr[x]);
}
}
//打印所有数组元素的和
class TextArray_2{
public static void main(String[] args){
int[] arr={2,4,6,1,7,9};
int sum=0;
for(int x=0;x<arr.length;x++){
sum=sum+arr[x];}
System.out.println("sum="+sum);
}
}
//打印数组元素用,隔开
class TextArray_3{
public static void main(String[] args){
int[] arr={4,6,2,3,8,12};
System.out.print("[");
for(int x=0;x<arr.length;x++){
if( x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");}
}
数组的获取最大值
/*class GetMax{
public static int getMax(int[] arr){
int temp=arr[0];
for(int x=1;x<arr.length;x++){
if(arr[x]>temp)
temp=arr[x];}
return temp;
}
public static void main(String[] args){
int[] arr={3,5,7,2,87,34};
int a=getMax(arr);
System.out.print(a);}
} */
//另一种方式
class GetMax{
public static int getMax(int[] arr){
int temp=0;
for(int x=1;x<arr.length;x++){
if(arr[x]>arr[temp])
temp=x;}
return arr[temp];
}
public static void main(String[] args){
int[] arr={3,5,7,8,9,1,2};
int b=getMax(arr);
System.out.print(b);}
}
}
数据的排序小程序
class ArraySort{
public static void arraySort(int[] arr){
int temp=0;
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]<arr[y]){
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;}
}
}
}
public static void main(String[] args){
int[] arr={3,5,1,2,6,8,4};
arraySort(arr);
for(int x=0;x<arr.length;x++)
System.out.println(arr[x]);
}
}
冒泡排序
class MaoP{
public static void maoPao(int[] arr){
int temp=0;
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){
if(arr[y]<arr[y+1]){
temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void main(String[] args){
int[] arr={3,5,11,7,8,2,9,11};
maoPao(arr);
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}
}
}
折半查找法
class ZheBanCZ{
public static int zheBan(int[] arr,int a ){
int m=0;int n=arr.length;int min=(m+n)/2;
while(arr[min]!=a){
if(arr[min]<a)
m=m+1;
else if(arr[min]>a)
n=n-1;
min=(m+n)/2;
if(min>n)
return -1;
}
return min;
}
public static void main(String[] args){
int[] arr={2,4,6,8,12,21};
int a =zheBan(arr,1);
System.out.println(a);
}
}
十进制转换成二进制,八进制,十六进制的小程序。
//其中,a代表输入的数,m与的数(二进制是1八进制7十六进制是15)n代表右移数(二进制是1位八进制是3位十六进制是4位)
class ToBHB{
public static void main(String[] args){
toBin(60);
toHex(60);
toOctal(60);
}
public static void toBin(int a){
toBHB(a,1,1);
}
public static void toHex(int a){
toBHB(a,15,4);
}
public static void toOctal(int a){
toBHB(a,7,3);
}
public static void toBHB(int a,int m,int n){
char[] chs={'0','1','2','3','4','5','6','7','8','9','a','b','c','e','f'};
char[] arr=new char[32];
int pos=arr.length;
while(a!=0){
int temp=a&m;
arr[--pos]=chs[temp];
a=a>>>n;
}
for(int x=pos;x<arr.length;x++){
System.out.print(arr[x]);
}
}
}
|
|