------- 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<arr.length; x++) { if(x!=arr.length-1) System.out.print(arr[x]+", "); else System.out.println(arr[x]+"]"); } }
获取数组的最大值:
public static int getMax_2(int[] arr) { int max = 0; for(int x=1; x<arr.length; x++)//遍历比较数组元素的大小 { if(arr[x]>arr[max])//经较大元素的角标赋值给max max = x; } return arr[max]; }
获取最小值:
public static int getMin(int[] arr) { int min = 0; for(int x=1; x<arr.length; x++) { if(arr[x]<arr[min]) min = x; } return arr[min]; }
排序方法:
选择排序:
/* 选择排序。 内循环结束一次,最值出现头角标位置上。 */ public static void selectSort(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 bubbleSort(int[] arr) { for(int x=0; x<arr.length-1; x++) { for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。 { if(arr[y]<arr[y+1]) { int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } }
折半查找:
/* 折半查找。提高效率,但是必须要保证该数组是有序的数组。 */ 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(key<arr[mid]) max = mid - 1; if(min>max) 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<arr[mid]) max = mid - 1; else return mid; } return -1; }
二维数组:
格式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}
相关推荐
黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip
黑马程序员_Java基础辅导班教程课件[第01期]第15天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第8天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第11天
黑马程序员_Java基础辅导班教程课件[第01期]第7天
黑马程序员_Java基础辅导班教程课件[第01期]第5天
黑马程序员_Java基础辅导班教程课件[第01期]第4天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第6天
黑马程序员_Java基础辅导班教程课件[第01期]第10天
黑马程序员_Java基础辅导班教程课件[第01期]第9天
( 01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip )
黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件).zip
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
黑马程序员毕向东java基础视频教程全套
黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习).zip
黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件).zip
黑马程序员_毕向东_Java基础视频教程第05天-01-面向对象(概述).avi