------- android培训、java培训、期待与您交流! ----------
循环结构:
while语句格式:
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}while(条件表达式);
do while特点是条件无论是否满足,
循环体至少被执行一次。
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
1、for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然
后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while
循环使用的变量在循环结束后还可以继续使用。
3、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某
些条件,来控制循环。
break(跳出), continue(继续):
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
for和while的区别:
1、变量有自己的作用域,对于for来说:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语
句内有效。For语句执行完毕,该变量在内存中被释放。
2、For和while可以进行互换,如果需要定义循环增量。用for更为合适。
for(int x = 0; x<3 ; x++)
{
System.out.println("x="+x);
}
int y=0;
while(y<3)
{
System.out.println("y="+y);
y++;
}
System.out.println("y===="+y);
For练习:
*
**
***
****
*****
for (int x=0; x<5 ;x++ )
{
for (int y=0 ; y<=x ; y++ )
{
System.out.print("*");
}
System.out.println();
}
1
12
123
1234
12345
for (int x=1; x<=5; x++)
{
for (int y=1; y<=x;y++ )
{
System.out.print(y);
}
System.out.println();
}
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
for (int x=1; x<=9 ; x++)
{
for (int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
函数:
什么是函数:
函数就是定义在类中的具有特定功能的一段独立小程序。
函数也称为方法。
函数的格式:
修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
重载:
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
特点:
与返回值类型无关,只看参数列表。
数组:
1、同一种类型数据的集合。其实数组就是一个容器。
2、可以自动给数组中的元素从0开始编号,方便操作这些元素。
3、元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
栈内存:
用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
1、数组和对象,通过new建立的实例都存放在堆内存中。
2、每一个实体都有内存地址值
3、实体中的变量都有默认初始化值
4、实体不在被使用,会在不确定的时间内被垃圾回收器回收
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0; x
获取数组的最大值:
public static int getMax_2(int[] arr)
{
int max = 0;
for(int x=1; xarr[max])//经较大元素的角标赋值给max
max = x;
}
return arr[max];
}
获取最小值:
public static int getMin(int[] arr)
{
int min = 0;
for(int x=1; x
排序方法:
选择排序:
/*
选择排序。
内循环结束一次,最值出现头角标位置上。
*/
public static void selectSort(int[] arr)
{
for (int x=0; xarr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y]= temp;
}
}
}
}
/*
冒泡排序
*/
public static void bubbleSort(int[] arr)
{
for(int x=0; x
折半查找:
/*
折半查找。提高效率,但是必须要保证该数组是有序的数组。
*/
public static int halfSearch(int[] arr,int key)
{
int min,max,mid;
min = 0;
max = arr.length-1;
mid = (max+min)/2;
while(arr[mid]!=key)
{
if(key>arr[mid])
min = mid + 1;
else if(keymax)
return -1;
mid = (max+min)/2;
}
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 = mid + 1;
else if(key
二维数组:
格式1:int[][] arr = new int[3][2];
定义了名称为arr的二维数组
二维数组中有3个一维数组
每一个一维数组中有2个元素
一维数组的名称分别为arr[0], arr[1], arr[2]
给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
格式2:int[][] arr = new int[3][];
arr中定义了3个未定义长度的一维数组。
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
arr中定义了3个一维数组。
第一个一维数组为{3,8,2},第二个一维数组为{2,7},第三个一维数组{9,0,1,6}