黑马程序员—JAVA基础总结

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一、java环境

classpath与path的区别:

clsspath:jvm先找classpath然后找当前目录。最好后面不要加;号。如果要在当前目录下找一遍写法:classpath:.;c:\;d:\。classpath主要是为了解决包的问题。让class文件可以运行。
path:jvm先找当前目录,没找到才找path的目录。结尾要加;号。path为了让java能够在任何跟目录下都能编译java文件。

二、语句

java中有几种比较常见的语句。有for、if、switch、while、do while

for和while的区别:

for和while 本身没什么区别,用for可以实现的,用while也可以;变量有自己的作用域,对于for来讲如果将用于控制循环的增量定义在for语句中没那么该变量只在for语句内有效。for语句执行完毕,该变量在内存中被释放。

while与do while的区别:do while不管条件符不符合,都至少会执行一次。

三、函数

函数的格式:
修饰符 返回值类型 函数名(参数类型  形式参数1,参数类型 形式参数2)
{
执行语句;
return返回值;
}

如何定义一个函数?
1.既然函数式一个独立的功能,那么该功能的运算结果是什么先明确。
2.在明确在定义该功能的过程中是否需要未知的内容参与运算。

什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。
那么,这时就定义一个函数名称一表示其功能,方便阅读,而通过参数 列表的不同来区分多个同名函数。

四、数组

数组格式:

元素类型[] 数组名 = new 元素类型{元素个数或数组长度}

数组遍历:

class  BianLi
{
public static void main(String[] args) 
{
//int [] arr= new int[]{3,1,6,5,4}


// int [] arr={3,1,6,5,4};//数据明确。


// int[] arr=new int[5];
// arr[0]=60;
// arr[1]=80;
int [] arr={3,6,5,1,8,9,67};
//System.out.println(arr);
prinArray(arr);
}
//定义一个功能:用于打印数组中的元素,元素见用逗号隔开、
public static void prinArray(int [] arr)
{
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 ArrayTest2
{
public static void selecSort(int [] arr)
{
for (int x=0;x<arr.length-1 ;x++ )
{
for ( int y=x+1;y<arr.length  ;y++ )
{
if(arr[x]>arr[y])
{
int temp =arr[x];
arr[x]= arr[y];
arr[y]= temp;
}
}
}
}
public static void mian(String[] args)
{
int [] arr ={5,1,6,4,2,8,9};
printArray(arr);//排序前
selectSort(arr);//排序
printArray(arr);//排序后
}

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.println(arr[x]+"]");

}
}
/*
冒泡排序
*/
pubilc static void bubbleSort(int [] arr)
{
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])
{
int temp =arr[y];
arr[y]= arr [y+1];
arr[y+1]=temp; 
}
}
}
}
//位置置换
public static void swap(int [] arr,int a,int b)
{
int temp =arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
}

数组折半查找:

class ArrayTest4  
{
public static void main(String[] args) 
{
int [] arr= {3,1,5,4,2,9};
int index=getIndex(aar,2)
}
/*
折半查找,提高效率,但是必须要保证该数组是有序的数组。
*/


public static int halfSearch(int [],int key)
{
int min,max,mid;
min=0;
max=arr.lengrh-1;
mid=(max+min)/2;


while(arr[mid]!=key)
{
if(key>arr[mid])
min=min+1;
else if (key<arr[mid])
max=mid-1;
}
return mid;
}
//折半的第二中方式;
public static int halfSearch_2(int [] arr,int key)
{
int min=0, max=arr.length-1;mid;
while (min<=max)
{
mid=(max+min)>>1;


if(key>arr[mid])
min=min+1;
else if(key<arr[mid])
max=mid-1;
else
return mid;
}
return -1;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值