Java程序逻辑控制
1.顺序结构
也就是: 按照代码书写的顺序一行一行执行.
int i = 0;
System.out.print(i);
//运行结果: 0
//按照书写顺序执行
2.分支结构
2.1 if语句
//第一种 只有一个 if **if会判定后面括号的true/false 也就是bolean类型的语句值或者语句 Java中 判定相等使用 a == b; 两个等号**
if(true){
a+b;
}//一般不论如何加上{},以防代码看不清结构
//第二种 if-else
if(true){
a+b;
}else{//与之对立就是 false 的情况
a+c;
}
//第三种 if-else if -else ,且else if 可以写多个
if(a == 1){
a++;// a = a + 1;
}else if(a == 2){
b++;
}else if(a == 3){
c++;
}else{
j++;
}
2.2 switch语句
switch(整数|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句;
[break;
}
case 内容2 : {
内容满足时执行语句;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
//例子
int day = 1;
switch(day) {
case 1:
System.out.println("星期一");
break;
//break 不要遗漏, 否则会失去 "多分支选择" 的效果
case 2:
System.out.println("星期二");
break;
}
// 运行结果 星期一
3.循环结构
3.1 while 循环
while(循环条件){
循环语句;
}
//循环条件为 true, 则执行循环语句; 否则结束循环.
//示例: 打印 1 - 5
int num = 1;
while (num <= 5) {
System.out.println(num);
num++;
}
3.1.1 break
break 的功能是让循环提前结束.
3.1.2 continue
continue 的功能是跳过这次循环, 立即进入下次循环.
3.2 for 循环
for(表达式1;表达式2;表达式3){
循环体;
}
//表达式1: 用于初始化循环变量.
// 表达式2: 循环条件
//表达式3: 更新循环变量.
//相比于 while 循环, for 循环将这三个部分合并在一起, 写代码时不容易遗漏
//示例
for(int i = 0 ; i < 5;i++){
System.out.println(i);
]
3.2 do-while 循环
do{
循环语句;
}while(循环条件);
//先执行循环语句, 再判定循环条件.
//相比于while循环,是必定多一次执行循环语句
//示例
int num = 1;
do {
System.out.println(num);
num++;
} while (num <= 10);
//1. do while 循环最后的分号不要忘记
//2. 一般 do while 很少用到, 更推荐使用 for 和 while.
4.输入输出
4.1 输出到控制台
println 输出的内容自带 \n,
print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
//示例
System.out.println("hello world");
int x = 1;
System.out.printf("x = %d\n", x);
4.2 从键盘输入
- 读入一个字符–>System.in.read();
- 使用Scanner 读入 字符串/整数/字符
import java.io.IOException; // 需要导入 IOException 包
//直接使用 System.in.read 可以读入一个字符. 但是需要搭配异常处理
try {
System.out.print("Enter a Char:");
char i = (char) System.in.read();
System.out.println("your char is :"+i);
} catch (IOException e) {
System.out.println("exception");
}
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
Scanner 嵌套for就可以实现循环读入数据.