双重循环代码练习案例
package Learn4;
public class Demo02 {
/*
* 在控制台输出如下图形
* *****
* *****
* *****
* *****
* *****
* */
public static void main(String[] args) {
//外层循环控制行数,这个图形一共有5行
for(int i =1;i<=5;i++){
//每一行*前面有空格,所以先需要输出空格“ ”
// System.out.print(" ");
// System.out.print(" ");
// System.out.print(" ");
// System.out.print(" ");
for(int k =1;k<=5-i;k++){
System.out.print(" ");
}
//内层循环控制每一行的列数,每一行的*的列数是5
for(int j =1;j<=5;j++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
package Learn4;
public class Demo03 {
/*
* 在控制台输出如下图形:
* *
* ***
* *****
* *******
* *********
* ***********
* */
public static void main(String[] args) {
//外层循环控制行数,当前图形一共有6行
for(int i =1;i<=6;i++){
//内层循环控制每一行的列数
//首先,输出每一行前面的空格数,通过观察可知每一行空格的数量与行号之间的关系:空格数量=6-行号
for(int j=1;j<=6-i;j++){
//每循环一次,输出一个“ ”
System.out.print(" ");
}
//输出每一行空格后面的*,通过观察可知每一行*的数量与行号之间的关系:*的数量=2*行号-1
for(int k =1;k<=2*i-1;k++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
package Learn4;
public class Demo04 {
/*
* 在控制台输出九九乘法表
* 分析得知:
* 九九乘法表一共有9行,可以由外层循环变量来控制
* 九九乘法表每一行的列数是不同,并且每一行的列数与行号相同
* */
public static void main(String[] args) {
//外层循环控制行数
for(int i =1;i<=9;i++){
//内层循环控制每一行的列数
for(int j =1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
//输出每一行内容后换行
System.out.println();
}
}
}
package Subject04;
public class Work14 {
/* 输出图形:* ****** * ***************
*** ******** * * ******* *******
***** ********** * * ****** ******
************ * * ***** *****
************** * * **** ****
**************** * * *** ***
************** * * ** **
************ * * * *
********** * *
******** * *
****** * *
* *
* *
* *
* *
* *
*
*/
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) {
for(int j=1;j<=3-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
System.out.println();
}
System.out.println("------------------------------");
for (int i = 1; i <= 6; i++) {
//输出每一行前面的空格“ ”
for (int j = 6-i; j >0; j--) {
System.out.print(" ");
}
//输出每一行的“*”
for (int k = 2*i+4; k >0; k--) {
System.out.print("*");
}
//换行
System.out.println();
}
//下半截图形:外层循环控制行数
for (int i = 1; i <= 5; i++) {
//输出每一行前面的空格“ ”
for (int j = i; j >0; j--) {
System.out.print(" ");
}
//输出每一行的“*”
for (int k = 16-2*i; k >0; k--) {
System.out.print("*");
}
//换行
System.out.println();
}
System.out.println("------------------------------");
for (int i = 1; i <= 9; i++) {
for(int j=1;j<=9-i;j++){
System.out.print(" ");
}
System.out.print("*");
if(i>=2){
for(int k=1;k<=2*i-3;k++){
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
}
for(int i=1;i<=8;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
System.out.print("*");
if(i<8){
for(int k=1;k<=13-(i*2-2);k++){
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
}
System.out.println("------------------------------");
for(int k=1;k<=15;k++){
System.out.print("*");
}
System.out.println();
for(int i=1;i<=7;i++){
for(int j=1;j<=8-i;j++){
System.out.print("*");
}
for(int h=1;h<=2*i-1;h++){
System.out.print(" ");
}
for(int j=1;j<=8-i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
package Learn5;
import java.util.Scanner;
public class Demo09 {
public static void main(String[] args) {
//创建Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("您想要几行数字:");
int num = scanner.nextInt();
//外层循环控制行数,行数由num值决定的
for(int i =1;i<=num;i++){
//内层循环控制每一行的列数
//输出每一行前面的空格
for(int j=1;j<=num-i;j++){
System.out.print(" ");
}
//输出每一行的数字
for(int k =1;k<=2*i-1;k++){
System.out.print(i);
}
//输出每一行内容之后,换行
System.out.println();
}
}
}
跳转语句代码练习案例
package Learn5;
public class Demo01 {
/*
* 跳转语句break:
* 作用场景:switch选择结构中、循环结构中
* 作用:不管是在switch选择结构中还是在循环结构中,只要执行了break,就会跳出该结构
*
* */
public static void main(String[] args) {
for (int i =1;i <=100 ;i++){
System.out.print(i+" ");
//输出i的值为50后,后面的数字不再想输出了,也就是说要终止循环的后续执行
if(i==50){
break;
}
}
System.out.println("\n输出完毕");
}
}
package Learn5;
import java.util.Scanner;
public class Demo02 {
/*
* 循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
* */
public static void main(String[] args) {
//创建Scanner对象
Scanner scanner =new Scanner(System.in);
//声明一个变量用来累加学生5门课的成绩之和
double sum = 0;
//声明一个变量用来统计正确输入分数的次数
int count =0;
System.out.println("请输入学生姓名:");
String name = scanner.next();
//通过循环的方式获取学生5门课成绩
for(int i =1;i<=5;i++){
System.out.println("请输入第"+i+"门课的成绩:");
double score =scanner.nextDouble();
//对输入的成绩进行判断,如果为负数,停止录入并提示录入错误
if(score<0){
System.out.println("抱歉,成绩录入错误,不能为负数,请重新输入");
break;
}else{
count++;//该代码还可以换成 count=i;
sum+=score;
}
}
//判断正确输出成绩的次数是不是5次。,如果是求平均分
if(count==5){
double avg =sum/5;
System.out.println(name+"同学的5门课平均分:"+avg);
}
}
}
package Learn5;
public class Demo03 {
/*
* 1~10之间的整数相加,得到累加值大于20的当前数
* */
public static void main(String[] args) {
//声明一个变量用来存储累加数据之和
int sum =0;
for(int i=1;i<=10;i++){
sum+=i;
//每累加一次就对累加的和进行判断,看其是否大于20,如果大于20就不再继续累加,输出当前i的值
if(sum>20){
System.out.println("sum:"+sum);
System.out.println("i:"+i);
break;
}
}
}
}
package Learn5;
public class Demo04 {
/*
* 跳转语句continue:
* 作用场景:只能作用在循环结构中
* 作用:结束当前(本次)循环后续操作,继续执行下一次循环操作
* */
public static void main(String[] args) {
for(int i =1;i<=50;i++){
System.out.print("i:"+i);
if(i==20){
continue;
}
System.out.println("好好学习");
}
// int num1 =10;
// if(num1==10){
// //break;//Break outside switch or loop
// //continue;//Continue outside of loop
// }
}
}
package Learn5;
public class Demo05 {
/*
* 求1~100之间的所有偶数
* */
public static void main(String[] args) {
int sum1 =0;
for(int i=1;i<=100;i++){
if(i%2==0){
sum1+=i;
}
}
System.out.println("sum1:"+sum1);
System.out.println("---------------------------------");
int sum2 =0;
for(int i=1;i<=100;i++){
//判断i的值,如果i是奇数,就不进行累加,跳过当前循环,继续执行下一次循环操作
if(i%2!=0){
continue;
}
sum2+=i;
}
System.out.println("sum2:"+sum2);
}
}
package Learn5;
import java.util.Scanner;
public class Demo06 {
/*
* 循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
* */
public static void main(String[] args) {
//声明一个变量用来统计80分以上的人数
double num = 0;
//创建Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数:");
int count = scanner.nextInt();
//循环录入成绩
for(int i =1;i<=count;i++){
System.out.println("请输入第"+i+"为学生的成绩:");
double score =scanner.nextDouble();
//对成绩进行判断,如果是大于等于80分,就统计到变量中
if(score<80){
continue;
}
num++;
}
//求80分以上学生人数占比
double result =num/count;
System.out.println("80分以上学生占比:"+(result*100)+"%");
}
}
package Learn5;
public class Demo07 {
public static void main(String[] args) {
a:for (int i =1;i<=10;i++){
System.out.println(i+":");
b:for (int j =10;j<=100;j+=10){
System.out.print("\t"+j);
if(j==50){
break a;
}
}
//换行
System.out.println();
}
}
}
package Learn5;
import java.util.Scanner;
public class Demo08 {
/*
* 从键盘输入一位整数,当输入1~7时,输出“星期一”~“星期日”
* 输入其他数字时,提示用户重新输入
* */
public static void main(String[] args) {
//创建Scanner对象
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("请输入一个1-7之间的整数,输入0退出程序:");
int num =scanner.nextInt();
//判断输入的是不是0
if(num==0){
System.out.println("程序结束");
break;
}
switch (num){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("您输入的数字不合格,只能是1-7之间的整数,请重新输入:");
break;
}
}
}
}
程序调试
以打印九九乘法表的代码举例