3.1程序结构
由顺序.选择.循环组成的结构。
如上图程序结构,而由于结构判断导致结果不同,程序结束会得到true或者false相对应的结果。
public static void main(String[] args) {
System.out.println("请输入一个数字:");
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 接收键盘输入数据
// 判断用户输入的数据是否大于100
if (num > 100) {
System.out.println("输入的数字大于100");
}
// 判断用户输入的数据是否等于100
if (num == 100) {
System.out.println("输入的数字等于100");
}
// 判断用户输入的数据是否小于100
if (num < 100) {
System.out.println("输入的数字小于100");
}
}
3.2条件语句
1.if
if语句是判断句其后面的表达式要么为true要么为false。
如果if后面的布尔表达式为true那么执行其后的语句,如果为false则不执行后面的语句
import java.util.Scanner;
public class dd{
public static void main(String[] args) {
int num1 = 50;
int num2 = 34;
// 如果num1等于num2
if (num1 == num2) {
System.out.println("num1等于num2");
}
// 如果num1大于num2
if (num1 > num2) {
System.out.println("num1大于num2");
} else {
// 否则就是num1小于num2
System.out.println("num1小于num2");
}
}}
3.if....else if
而if....else if这种多分支语句则是满足某种条件就进行某种处理语句;如果满足别的条件,则进行其的处理;
public static void main(String[] args) {
int num1 = 50;
int num2 = 34;
if (num1 == num2) { // 如果num1等于num2
System.out.println("num1等于num2");
} else if (num1 > num2) { // 如果num1大于num2
System.out.println("num1大于num2");
} else { // 否则就是小于
System.out.println("num1小于num2");
}
}
}
4.嵌套if语句的使用
- public static void main(String[] args) {
String today = "周末";
String weather = "晴朗";
if (today.equals("周末")) {
if (weather.equals("晴朗")) {
System.out.println("去室外游乐场游玩");
} else {
System.out.println("去室内游乐场游玩");
}
} else {
System.out.println("去上班");
}
}}3.2.2swich多分支语句
public static void main(String[] args) {
System.out.println("请输入座位号码:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num) {
case 8:
System.out.println("恭喜你,获得了三等奖!");
break;
case 88:
System.out.println("恭喜你,获得了二等奖!");
break;
case 888:
System.out.println("恭喜你,获得了一等奖!");
break;
default:
System.out.println("谢谢参与!");
break;
}
}}
3.3循环语句
3.3.1while循环语句
public static void main(String[] args) {
int i = 1;
int n = 1;
while(i <= 10) {
n=n*i;
i++;
}
System.out.println("10的阶乘结果为:"+n);
}}
3.3.2 do...while循环语句
public static void main(String[] args) {
int bookIndex = 1;
do {
System.out.print(bookIndex+"\t");
if(bookIndex%10 == 0) {
System.out.println();
}
bookIndex++;
}while(bookIndex<51);
}
}
3.3.3 while与do...while比较
可以通过设置起始循环条件不成立的循环语句来比较观察while与do...while的不同,而用表达式变量设置i<1,明显循环条件不成立;
3.3.4 for循环语句
for 循环和 while、do while 循环不一样:由于 while、do while 循环的循环迭代语句紧跟着循环体,因此如果循环体不能完全执行,如使用 continue 语句来结束本次循环,则循环迭代语句不会被执行。但 for 循环的循环迭代语句并没有与循环体放在一起,因此不管是否使用 continue 语句来结束本次循环,循环迭代语句一样会获得执行。
有四种可能,其一表达式一为空,其二表达式二为空,其三表达式三为空,其四则是全部表达式为空。
如图以下为各个循环语句的比较
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 11; i++) {
sum = sum + i;
}
System.out.println(sum);
}
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
sum = sum + i;
i++;
} while (i < 11);
System.out.println(sum);
}
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i < 11) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
可以看的出三种循环结构的例子答案都为55.
3.3.5
foreach语句 其中,“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组。每执行一次循环语句,循环变量就读取集合中的一个元素
3.3.6循环语句的嵌套
循环有for.while.do.....while三种方式,三种循环可以互相嵌套列。
3.4 跳转语句
3.4.1 break语句
使用 break 语句直接强行退出循环(break 不带标签)
public static void main(String[] args) { int score; // 每门课的成绩 int sum = 0; // 成绩之和 boolean con = true; // 记录录入的成绩是否合法 Scanner input = new Scanner(System.in); System.out.println("请输入学生的姓名:"); String name = input.next(); // 获取用户输入的姓名 for (int i = 1; i <= 6; i++) { System.out.println("请输入第" + i + "门课程的成绩:"); score = input.nextInt();// 获取用户输入的成绩 if (score < 0) { // 判断用户输入的成绩是否为负数,如果为负数,终止循环 con = false; break; } sum = sum + score; // 累加求和 } if (con) { System.out.println(name + "的总成绩为:" + sum); } else { System.out.println("抱歉,分数录入错误,请重新录入!"); }
3.4.2 continue语句
continue语句则是针对break语句的补充,不是立即跳出循环体语句而且跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。continue 语句类似于 break 语句,但它只能出现在循环体中。它与 break 语句的区别在于:continue 并不是中断循环语句,而是中止当前迭代的循环,进入下一次的迭代。简单来讲,continue 是忽略循环语句的当次循环。