For 循环基础代码运用
/*
* for循环
* 初始化条件 int i=0
* 判断条件 i<10 ?
* 循环体 code
* 循环条件 i++
* */
for (int i = 0; i < 10; i++) {
code;
}
for (int i = 10; i > 0 ; i--) {
code;
}
//continue; 直接到下一次循环
//break; 退出这个循环
For 双重循环运用
// 输出样例:
// *****
// *****
// *****
// *****
// *****
// 代码:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
}
// 打印一个等腰三角形:
// *
// ***
// *****
// *******
// *********
// 代码:
for (int i = 0; i < 5; i++) {
for (int j = 4 ;j>i;j--) {
System.out.print(" ");
}
for (int k = 1; k <= 2*i+1; k++) {
System.out.print("*");
}
System.out.println();
}
// 打印一个菱形:
// *
// ***
// *****
// *******
// *********
// *******
// *****
// ***
// *
// 代码:
public static void main(String[] args) {
System.out.print("请输入菱形的边长: ");
Scanner scanner = new Scanner(System.in);
int diamondLong = scanner.nextInt();
String[] starArr = new String[diamondLong];
for (int i = 0; i < diamondLong; i++) {
starArr[i]="";
for (int j = i; j < diamondLong; j++) {
starArr[i]+=" ";
}
for (int j = 1; j <= 2*i+1 ; j++) {
starArr[i]+="*";
}
System.out.println(starArr[i]);
}
for (int i = diamondLong-2; i >=0 ; i--) {
System.out.println(starArr[i]);
}
}
Break,Continue
可以加标签
public static void main(String[] args) {
a:for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j==1) {
break a;
}
}
}
}
在 for 前面加一个 a标签,使用
break a;
将会把选定的循环打破
利用 For 循环做一个小型计算器
public static void main(String[] args) {
/*
* 从键盘输入两个数字和一个符号
* 加减乘除
* 最终打印输出计算结果
* 其中注意:
* 1.除数不能为0
* 2.符号输入不对怎么办?
* 3.计算器能不能一直算下去
* */
cal:for (; ; ) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数: ");
double num1 = scanner.nextDouble();
System.out.print("请输入第二个数: ");
double num2 = scanner.nextDouble();
double result = 0;
String judge;
symbol:for ( ; ; ) {
System.out.print("请输入运算符号: ");
judge = scanner.next();
switch (judge) {
case "+":
result = num1 + num2;
break symbol;
case "-":
result = num1 - num2;
break symbol;
case "*":
result = num1 * num2;
break symbol;
case "/":
if (num2 == 0) {
System.out.println("there has a error:除数不能为0,计算器将会重新开始");
continue cal;
} else {
result = num1 / num2;
}
break symbol;
default:
System.out.println("there has a error:运算符号只能为 + - * /,请重新输入运算符号");
continue symbol;
}
}
String numStr1=String.valueOf(num1),numStr2=String.valueOf(num2),resultStr=String.valueOf(result);
if (result == (int)result) {
resultStr = String.valueOf((int)result);
}
if (num1 ==(int)num1) {
numStr1=String.valueOf((int)num1);
}
if (num2==(int)num2) {
numStr2=String.valueOf((int)num2);
}
System.out.println("计算结果为: " + numStr1 + judge + numStr2 + "=" + resultStr);
for ( ; ;) {
System.out.println("是否继续计算: 1、是 2、否");
int again = scanner.nextInt();
if (again==2) {
System.out.println("你退出了程序");
break cal;
}
if (again==1) {
continue cal;
}
System.out.println("there has a error:你选择了一个不符合的选项,请重新选择!");
}
}
除数如果为0,将会提示重新输出除数,不会返回到程序最开始的地方,并且记录运算符号
程序结束后,提示“是否继续计算”,如果不选择符合的选项,将会一直提示“重新选择!”
运算符号如果为error
时,将会反复提示,一直到输入了正确的运算符号
小细节:输入的两位数字num1
与num2
为double
类型
如果只是整型的num1+num2 输出将会变成 1.0+2.0=3.0
所以我将num1
,num2
,最后的result
全部判断了一遍
若本身 与 (int)本身 相等,则显示(int)本身,变为1+2=3
经测试7.5 / 2.5 =3
Foreach 循环基础代码运用
foreach 增强 for 循环
`遍历`,把数组中的元素都操作一遍
foreach语句(增强for循环)遍历数组
for (int i : arr) {
System.out.println(i);
}
while 循环基础代码运用
while(判断条件) {
code;
}
do...while 循环基础代码运用
do {
code;
} while (判断条件);
while | do...while |
---|---|
如果条件不满足,一次都不执行 | 无论条件是否满足,循环至少执行一次 |
利用 循环 做一个猜数字小游戏
public static void main(String[] args) {
/*
猜数字小游戏
键盘输入一个数字
猜一猜输入的是什么?
请输入一个数字:
20
数字保存成功,请猜猜数字是几?
比较大小,如果大了提示大了,如果小了提示小了
*/
System.out.println("请输入一个数字");
Scanner scanner = new Scanner(System.in);
int times=0,num,sysNum = scanner.nextInt();
while (true) {
System.out.println("请输入你要猜的数字");
num = scanner.nextInt();
if (num == sysNum) {
times++;
break;
}
if (num > sysNum) {
times++;
System.out.println("你猜大了,这是你猜的第 "+times+ " 次!");
continue;
}
times++;
System.out.println("你猜小了,这是你猜的第 "+times+" 次!");
}
if (times==1) {
System.out.println("太幸运了,你一下子就猜对了");
} else {
System.out.println("恭喜你猜对了,你一共用了 "+times+" 机会!");
}
}
由于目前还没有学Random创建随机数字,sysNum代指的是伪被猜数字
times
记录的是 用了几次机会 即猜了几次
在原基础上加了点功能每次猜错都会提示你,这是你猜的第几次
猜对了也会提示你,一共猜了几次
如果一次就猜对了会提示你,“太幸运啦”
需要注意的是,猜中数字后要及时break掉,防止死循环发生。
终止程序执行的方法
0: 安全退出
-1:强制退出
System.exit(0);
多维数组的遍历
int [][] arr = new int[2][];
arr [0] = new int[]{1,2,3,4};
arr [1] = new int[]{-1,-2,-3,-4,-5};
// for 双重循环遍历
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+",");
}
System.out.println();
}
// foreach 遍历
for (int[] ints : arr) {
for (int anInt : ints) {
System.out.print(anInt+",");
}
System.out.println();
}
3 条评论
航宝快更新
等着开抄是吧
航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超 航宝是我的你不能超