在控制台输出5行5列*
*****
*****
*****
*****
*****
方式一:每行输出*****,输出5次
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
方式二:方式一可以通过循环来实现
for(int i =1;i<=5;i++){
System.out.println("*****");
}
方式三:方式二中的{}里的代码表示在一行输出5个*,这个需求也可以通过循环来实现
for(int j =1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
练习1:输出一下图片格式:
package cn.bdqn.demo01;
public class Demo03 {
public static void main(String[] args) {
//外层循环控制行数
for(int i =1;i<=7;i++){
//在输出每一行*之前,要输出空格“ ”,通过分析发现,每一行*前面的空格数量不一样的
for(int k =1;k<=7-i;k++){
System.out.print(" ");
}
//输出*,每一行的*数量一样,都是7个
//内层循环控制每一行*的数量
for(int j =1;j<=6;j++){
System.out.print("*");
}
//输出完每一行*后要换行
System.out.println();
}
}
}
练习2:使用双重for循环输出九九乘法表,外层循环控制行数,九九乘法表,一共有9行
package cn.bdqn.demo02;
public class Demo01 {
public static void main(String[] args) {
//使用双重for循环输出九九乘法表
//外层循环控制行数,九九乘法表,一共有9行
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();
}
}
}
作用场景:switch选择结构和循环结构中
练习3:循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.next();
//定义一个变量用来累加成绩
double sum = 0;
for(int i =0;i<5;i++){
System.out.println("请输入第"+(i+1)+"门课的成绩:");
double score =sc.nextDouble();
if(score<0){
System.out.println("成绩不能为负数,结束录入");
break;
}else{
sum+=score;
//如果能正确累加到第五门课的成绩,就计算平均分并输出平均分
if(i==4){
double avg =sum/5;
System.out.println(name+"的5门课平均分为:"+avg);
}
}
}
}
}
练习4:1~10之间的整数相加,得到累加值大于20的当前数
package cn.bdqn.demo03;
public class Demo03 {
public static void main(String[] args) {
//1~10之间的整数相加,得到累加值大于20的当前数
//定义一个变量用来存放累加的数字之和
int sum = 0;
for(int i =1;i<=10;i++){
sum+=i;
//每循环累加1次,就需要判断一下sum是否大于20,如果大于20,就结束累加并输出当前这个数
if(sum>20){
System.out.println("sum="+sum);
System.out.println(i);
break;
}
}
}
}
作用场景:continue只能作用在循环结构中
练习5:使用continue实现输出1-100之前所有偶数
package cn.bdqn.demo04;
public class Demo02 {
public static void main(String[] args) {
//使用continue实现输出1-100之前所有偶数
for(int i =1;i<=100;i++){
//在输出之前需要进行判断
if(i%2!=0){//i%2!=0,说明这个数是奇数,就结束本次循环continue后面的输出操作,从而实现奇数不输出
continue;
}
System.out.println(i);
}
}
}
练习6:使用continue实现求1-100之间所有偶数之和
package cn.bdqn.demo04;
public class Demo03 {
public static void main(String[] args) {
//使用continue实现求1-100之间所有偶数之和
//定义一个变量用来存储累加数据之和
int sum =0;
for(int i =1;i<=100;i++){
//累加之前,要进行判断,如果数是奇数,就不进行累加操作,继续执行下一次循环操作
if(i%2!=0){
continue;
}
sum+=i;
}
System.out.println("1-100之间所有偶数之和:"+sum);
}
}
练习7:循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
package cn.bdqn.demo04;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
Scanner sc = new Scanner(System.in);
System.out.println("请输入班级学生人数:");
int num = sc.nextInt();
//声明一个变量用来统计分数大于80分的人数
double count = 0;
//获取学生的成绩
for(int i =1;i<=num;i++){
System.out.println("请输入第"+i+"个学生的成绩:");
double score =sc.nextDouble();
//判断学生成绩是否大于80分,如果大于80分,就统计到变量count中
if(score<80){
continue;
}
count++;
}
//输出分数大于80分的人数
System.out.println("分数大于80分的人数有:"+(int)count+"人");
double result =count/num;
System.out.println("80分以上学生所占比例:"+result*100+"%");
}
}
在多重循环中使用break跳出指定循环,可以给循环加上标记
package cn.bdqn.demo04;
public class Demo05 {
public static void main(String[] args) {
// 在多重循环中使用break跳出指定循环,可以给循环加上标记
a: for (int i = 1; i <= 10; i++) {
System.out.print(i + "-");
b: for (int j = 10; j <= 100; j += 10) {
System.out.print(j + " ");
if (j == 30) {
break a;
}
}
System.out.println();
}
System.out.println("----------------");
a: for (int i = 1; i <= 10; i++) {
System.out.print(i + "-");
b: for (int j = 10; j <= 100; j += 10) {
System.out.print(j + " ");
if (j == 30) {
continue a;
}
}
System.out.println();
}
}
}
//定义一个方法
public static String test(){
for(int i=1;i<=10;i++){
if(i==5){
return "方法执行完了" ;
}
System.out.println(i);
}
return null;
}
public static void main(String[] args) {
int num = 10;
System.out.println("abcdefg");
String result =test();
System.out.println(result);
}
练习8:输出以下图片样式:
package cn.bdqn.demo03;
import java.util.Scanner;
public class Subject03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("您想要几行数字?");
int sum = sc.nextInt();
for(int i=1;i<=sum;i++){
for(int j=1;j<=sum-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print(i);
}
System.out.println("");
}
}
}
练习9:从键盘输入一位整数,当输入17时,输出“星期一”“星期日”, 输入其他数字时,提示用户重新输入
package cn.bdqn.demo03;
import java.util.Scanner;
public class Subject02 {
public static void main(String[] args) {
/*
* 从键盘输入一位整数,当输入1~7时,输出“星期一”~“星期日”
* 输入其他数字时,提示用户重新输入
*/
Scanner sc = new Scanner(System.in);
int num;
do{
System.out.println("请输入1~7:");
num = sc.nextInt();
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.print("输入错误!");
}
}while(num>=7||num<=1);
}
}