if条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一钟情况下执行另外的语句.
例题4.1
package 课本;
public class 例p58 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int phoneNumber = 123456789; //创建变量,保存电话号码
if(phoneNumber != 84972266) { //如果此电话号码不是84972266
System.out.println("对不起,您拨打的号码不存在!"); //提示号码不存在
}
}
}
if...else语句是条件语句中最常用的一种形式,它会针对某种条件有有选择的做出处理.
例题4.2
package 课本;
public class 例p59 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int password = 987654321; //密码值
if(123456789 == password) { //如果密码是123456789
System.out.println("密码正确,欢迎登录"); //密码正确的提示
}else { //否则
System.out.println("密码错误,拒绝登录"); //密码错误的提示
}
}
}
用于处理多种情况,通常表现为"如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理."
例题4.3
package 课本;
public class 例p60 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("欢迎光临,请问有多少人就餐?"); //输出问题提示
int count = 9; //用餐人数
System.out.println("回答: " + count + "人"); //输出回答
if(count <= 4) { //如果人数小于4人
System.out.println("客人请到大厅4人桌用餐"); //请到4人桌
}else if(count > 4 && count <= 8) { //如果人数在4~8人
System.out.println("客人请到大厅8人桌用餐"); //请到8人桌
}else if(count > 8 && count <= 16) { //如果人数在8~16人
System.out.println("客人请到楼上包间用餐"); //请到包厢
}else { //当以上条件都不成立时,执行该语句快
System.out.println("抱歉,我们店暂时没有这么大的包厢! "); //输出信息
}
}
}
switch语句中表达式的值必须是整形,字符型,字符串类型或枚举类型,常量值1~n的数据类型必须与表达式的值的类型相同
例题4.4
import java.util.Scanner;//引入Scanner类
public class Grade {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//创建扫描器,接收控制台输入的内容
System.out.print("请输入成绩:");//输出字符串
int grade = sc.nextInt();//获取控制台输入的数字
switch (grade) {//使用switch判断数字
case 10://如果等于10,则继续执行下一行代码
case 9://如果等于9
System.out.println("成绩为优");//输出“成绩为优”
break;//结束判断
case 8://如果等于8
System.out.println("成绩为良");//输出“成绩为良”
break;//结束判断
case 7://如果等于7
case 6://如果等于6
System.out.println("成绩为中");//输出“成绩为中”
break;//结束判断
case 5://如果等于5,则继续执行下一行代码
case 4://如果等于4,则继续执行下一行代码
case 3://如果等于3,则继续执行下一行代码
case 2://如果等于2,则继续执行下一行代码
case 1://如果等于1,则继续执行下一行代码
case 0://如果等于0,则继续执行下一行代码
System.out.println("成绩为差");//输出“成绩为差”
break;//结束判断
default://如果不符合以上任何一个结果
System.out.println("成绩无效");//输出成绩无效
}
sc.close();
}
}
while 语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句.
例题4.5
package 课本;
import java.util.Scanner;
public class 例p62上 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 1; //从一开始
int sum = 0; //相加的结果
while(x <= 1000) { //循环1000次
sum = sum + x; //sum与之前计算的和相加
x++; //每次循环后的x的值+1
}
System.out.println("sum = " + sum); //输出最终相加的结果
}
}
do...while循环语句与while循环语句类似,do...while循环为先执行一次循环后在判断是否成立.
例题4.6
package 课本;
import java.util.Scanner;
public class 例p62上 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in); //创建扫描器,获取控制台输入的值
int password; //保存用户输入的密码
do {
System.out.println("请输入6位数字密码:"); //输出提示
password = sc.nextInt(); //将用户在控制台输入的密码记录下来
}while(931567 != password); //如果用户在控制台输入的密码不是931567则继续执行循环
System.out.println("登录成功"); //提示循环结束
sc.close(); //关闭扫描器
}
}
for循环语句可以用来重复执行某条语句,直到某个条件得到满足.
例题4.7
package 课本;
public class 例p65 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
for(int i = 2;i <= 100;i+=2) {
sum = sum + i;
}
System.out.println("2到100之间的所有偶数之和为: " + sum);
}
}
为for循环的简化版本,
例题4.8
package 课本;
public class 例p66 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = {5,13,96}; //一堆整型数值
System.out.println("一堆数组中的元素分别为: ");
//x的类型与arr元素的类型相同.for循环依次取出arr中的值并赋值给x
for(int x : arr) {
System.out.println(x); //输出遍历出的元素值
}
}
}
break语句跳出当前循环.
例题4.9
package 课本;
public class 例p67 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i < 20;i++) {
if(i % 2 == 0) { //如果i是偶数
System.out.println(i); //输出i的值
break; //结束循环
}
}
System.out.println("---end---"); //结束时输出一行文字
}
}
例题4.10
package 课本;
public class 例p68 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i <= 3;i++) { //外循环
for(int j = 1;j <= 5;j++) { //内循环
if(j == 4) { //内层循环至第4次时就结束
break;
}
System.out.println("i=" + i + "j=" + j);
}
}
}
}
continue不是立即跳出本次循环,而是跳过本次循环,回到循环的条件测试部分,重新开始执行循环.
例题4.11
package 课本;
public class 例p69 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 1;i <= 20;i++) {
if(i % 2 == 0) { //如果i是偶数
continue; //跳到下一循环
}
System.out.println(i); //输出i的值
}
}
}
总结:
本章主要是学习流程图.
通过if,switch,while,for,语句来理解流程图.
流程图难的地方就是循环的时候判断条件的真假,然后指向.