1.while循环与for循环
while循环里面一般写的是boolean类型的判断
(1)累加思想_for
(2)统计思想(计数思想)_while
//sum += i; sum = sum + i;
//sum -= i; sum = sum – i;
//sum *= i; sum = sum * i;
//sum /= i; sum = sum / i;
2.continue和break
(1)continue:跳出本次循环,继续下次循环
(2)break:跳出离他最近的那层循环
for (int i = 1; i <=10; i++) {
if (i == 5) {
break;
}
System.out.println("i:"+i);//输出的结果是1-4
}
for (int i = 1; i <=10; i++) {
if (i == 5) {
continue;
}
System.out.println("i:"+i);//只有5不会输出
}
for (int i = 1; i <= 10; i++){
System.out.println("i:"+i);//i会打印1-10
for (int j = 1; j <= 10; j++){
if (j == 5){
break;//当j == 5时,内层循环会被打断,再次执行外循环
}
System.out.println("j:"+j);//j只打印1-4
}
}
3.java生成随机数
Random random = new Random();
int rand = random.nextInt (数值);
//随机生成一个整数1-1000
用户输入一个整数,程序给出与存储的数字是“大”或者“小”,知道用户猜到这个数字位置。
如果中途用户希望程序退出,输入0可以退出。
Random random = new Random();
System.out.println("生成随机整数:");
//生成一个1~1000的随机整数
int num1 = random.nextInt(1000) + 1;//[0,1000) + 1 = [1,1000]
System.out.println(num1);
Scanner scanner = new Scanner(System.in);
System.out.println("请输入随机整数:");
int num2 = scanner.nextInt();
while (num2 != num1) { //用for循环写无限循环: for (::)
if (num2 > num1) {
System.out.println("太大了!");
System.out.println("请输入随机整数:");
int num3 = scanner.nextInt();
num2 = num3;
} else if (num2 < num1) {
System.out.println("太小了!");
System.out.println("请输入随机整数:");
int num3 = scanner.nextInt();
num2 = num3;
} else {
break;
}
}
System.out.println("耶!猜对啦!");
4.双重for循环
外层循环控制行数,数一下有几行就能确定外层循环
内层循环控制列数,这一行打印多少个,到底要打印多少个要找出和当前行之间的一个关系。
例:打印等腰三角形
// *
// ***
// *****
// *******
// *********
//***********
//-----*
//----***
//---*****
//--*******
//-*********
//***********
@Test
public void test14() {
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= (6 - i); j++) {
System.out.print(" ");
}
for (int j = 1; j <= (2 * i - 1); j++){
System.out.print("*");
}
System.out.println();
}
}
5.switch结构
例:
// >=90 <=100 优秀
// >=80 <90 良好
// >=70 <80 一般
// >=60 <70 及格
// <60 不及格
@Test
public void test15(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
int num = scanner.nextInt();
switch (score / 10) { //取商
case 9:
case 10:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("一般");
break;
case 6:
System.out.println("合格");
break;
default:
System.out.println("不及格");
break;
}
}
6.数组
程序 = 算法 + 数据结构
算法:解决程序的流程步骤 (顺序、分支、循环)
数据结构:将数据按照某种特定的结构来存储
设计良好的数据结构会导致良好的算法。
ArrayList、LinkedList
数组是最简单的数据结构。
数组:存放同一种类型数据的集合,在内存里面是开辟一块连续的区域。
元素类型[] array 1 = new int [3];
int[] array1 = new int[3];
double[] array2 = new double[3];
boolean[] array3 = new boolean[3];
char[] array4 = new char[3];
数组定义的方式:
1、在定义的时候直接赋值
int[] array = {32,5,7,87};
int[] array = new int[]{32,5,7,87};
2、先定义后赋值
int[] array = new int[4];
array[0] = 34;
例:
//冒泡排序
//i = 1 j = 3
//i = 2 j = 2
//i = 3 j = 1
//i+j = 4 = array.length
int[] array = new int[]{40,17,21,1};
for (int i = 1; i <= array.length - 1; i++) {
for (int j = 0; j <array.length - i ; j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+"\t");
}