P02-Java流程控制基本结构
一、顺序结构
- Java最基本的结构:除非特别指明,否则就按顺序一步一步执行
- 顺序结构也是最简单的算法结构
二、选择结构
1、if选择结构
- if单选择结构:if(){}
- if双选择结构:if(){}else{}
- if多选择结构
- if嵌套结构
2、switch选择结构
注意:switch语句中的变量类型可以是:
- byte、short、int或者char
- 从java SE 7开始支持String类型
- 同时case标签必须为字符串常量或字面量
import java.util.Scanner;
public class Switch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//输入你的等级
String s ;
s = scanner.next();
switch (s){
case "A":
System.out.println("优秀");
break;
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("一般");
break;
case "D":
System.out.println("挂科");
break;
default:
System.out.println("未知");
}
scanner.close();
}
}
三、循环结构
1、while循环
最基本的循环
例子:while循环计算1+2+···100=?
public class While {
public static void main(String[] args) {
//while循环计算1+2+···100=?
int i = 1;
//总和
int sum = 0;
while(i<=100){
sum = sum + i;
i++;
}
System.out.println("1+2+···100="+sum);
}
}
大多数情况下,循环需要停止,但也有不需要的情况:
while (true)
{
//等待客户端连接
//定时检查
//.....
}
//死循环对性能会有影响
2、do…while循环
与while循环区别:do…while循环至少会执行一次
3、for循环
for循环时支持迭代的一种通用结构,是最有效最灵活的循环结构
例1:计算0~100的奇数和和偶数和
public class For01 {
public static void main(String[] args) {
//计算0~100的奇数和和偶数和
//奇数和
int sum1 = 0;
//偶数和
int sum2 = 0;
for(int i=0;i%2==0&&i<=100;i+=2){
sum1 = sum1 + i;
}
for(int i=1;i%2!=0&&i<=100;i+=2){
sum2 = sum2 + i;
}
System.out.println("奇数和为:"+sum1+"\n偶数和为:"+sum2);
}
}
更规范的:
例2:用for循环输出1-1000之间能被5整除的数,并且每行输出3个
例3:打印九九乘法表
public class For02 {
public static void main(String[] args) {
//打印九九乘法表
// 1×1=1
// 2×1=2 2×2=4
// 3×1=3 3×2=6 3×3=9
// 4×1=4 4×2=8 4×3=12 4×4=16
// 5×1=5 5×2=10 5×3=15 5×4=20 5×5=25
// 6×1=6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36
// 7×1=7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49
// 8×1=8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64
// 9×1=9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81
for(int j=1;j<=9;j++){
for(int i=1;i<=j;i++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
4、增强for循环
这里暂做了解,之后数组重点使用
四、break、continue、goto
两者皆是用于循环语句体中
- break用于强制退出循环
- continue用于结束这一次循环
关于goto关键字
在Java中他不是以goto形式存在,而是设置标志,通过break、continue来达到goto的效果
五、打印三角形及Debug
我的方法:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//打印三角形,输入几,打印几行
int n = 0;
System.out.println("请输入你想打印的三角形的行数:");
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();//输入三角形行数
//i代表第几行
for(int i=1;i<=n;i++){
//每一行它前面的空格数是:总行数-当前行数
for(int j=0;j<n-i;j++){
System.out.print(" ");
continue;
}
//每一行的*数是:2*当前行数-1
for(int p=0;p<2*i-1;p++){
System.out.print("*");
}
System.out.println();
}
}
}
其他方法:
public class Test02 {
public static void main(String[] args) {
//打印三角形的另一种方式,一半一半的来打印,打印一个5行的
for (int i = 1; i <= 5; i++) {
for(int j = 5; j>=i; j--){
System.out.print(" ");
}
for(int j = 1;j<=i; j++){
System.out.print("*");
}
for(int j = 1;j<i; j++){
System.out.print("*");
}
System.out.println();
}
}
}
Debug调试:
- 标调试点
-
点击调试
-
了解调试按钮
- 点击控制台即可便调试边看其调试结果