1.双重循环打印一个数字金字塔
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//用户输入的行数
System.out.println("您想要几行数字?");
int num = input.nextInt();
for(int i =1;i<=num;i++){
//倒三角
for(int j =1;j<=num-i;j++){
System.out.print(" ");
}
//直角三角形
for(int k=1;k<=i*2-1;k++){
System.out.print(i+" ");
}
System.out.println();
}
}
}
代码部分
打印结果
2.双重循环打印九九乘法表
public class Test {
public static void main(String[] args){
for(int i =1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
代码部分
打印结果
跳转语句
3.break语句与continue语句
·break的使用
(1)配合switch一起使用
(2)例子:输入一个学生的5门成绩,计算平均分,如果输入的分数为负数,则报错并且结束程序
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//总分
int sum = 0;
//输入一个学生的5门成绩,计算平均分,如果输入的分数为负数,则报错并且结束程序
int i =1;
for(;i<=5;i++){
System.out.println("请输入第"+i+"门成绩:");
int score = input.nextInt();
if(score<0){
System.out.println("输入的成绩有误,程序结束");
break;
}
sum+=score;
}
if(i==6) {
System.out.println("这个学生的5门成绩的平均分为:" + (sum / 5) + "分");
}
}
}
(3)可以手动控制跳出哪一层循环或者选择
·continue的使用
(1)continue:只能在循环里使用
(2)continue作用:跳过循环体中剩余的语句而执行下一次循环
(3)例子:循环录入学生的成绩,统计分数大于80分的人数。
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//输入学生人数
System.out.println("请输入班级学生人数:");
int student = input.nextInt();
//统计分数大于80分的学生人数
int studentCount = 0;
for(int i=1;i<=student;i++){
System.out.println("请输入第"+i+"位学生的成绩:");
int score = input.nextInt();
if(score<80){
continue;
}
studentCount++;
}
System.out.println("成绩大于80分的学生人数为:"+studentCount+"人");
}
}
(4)例子:输入一个整数,0的话程序结束,1~7的话,输出对应的“星期一~星期天”,超过7的话,提示重新输入
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while(true) {
//提示用户输入一个1~7的整数
System.out.println("请输入一个1~7的整数:");
int num = input.nextInt();
if (num == 0) {
System.out.println("程序结束");
break;
}else{
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:
continue;
}
break;
}
}
}
}
·break与continue
(1)使用场合:break常用于switch与循环结构中,continue一般用于循环结构中
(2)作用(循环结构中)
break语句终止某个循环,程序跳转到循环块外的下一条语句
continue跳出本次循环,进入下一次循环
双重循环亦是如此
·return
结束当前方法的执行并推出,返回到调用该方法的语句处;通俗一点讲,就是终止程序,退出方法
数组
1.含义:数组是一个变量,储存相同数据类型的一组数据
· 声明一个变量就是在内存空间划出一块合适的空间
· 声明一个数组就是在内存空间划出一串连续的空间
2.基本要素:
(1) 标识符(数组名称)
(2) 数组元素
(3) 元素下标:从0开始
(4) 元素类型
3.使用步骤:
(1)声明数组 int[] a; int a[]; 数据类型 数组名[]; 或者 数据类型[] 数组名;
(2)分配空间 a = new int[5]; new 数据类型[大小];
上面两步可以合在一起写: 数据类型[] 数组名 = new 数据类型[大小];
(3)赋值 a [0] =8;
(4)处理数据 a [0] = a[0] *10;
4.注意点:
(1)数组声明后长度固定不变,避免数组越界
(2)分配空间后,即便不赋值,数组元素也有初始值(int数组:0; str数组:null)