栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java控制语句

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java控制语句

分支控制if - -else

单分支

基本语法:if(条件表达式){执行代码块};说明:当条件表达式为true时,就会执行{ }里面的代码,若为flase,就不执行,

双分支.

if(条件表达式1){执行代码块1; }
else if(条件表达式2){执行代码块2;  }
else if(3){3;}
else{ n;}

嵌套分支

if(){
if(){
//if-else...
 }else{
//if-else
  }
}
参加歌手比赛,如果初赛成绩大于 8.0 进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。 输入成绩和性别,进行判断和输出信息。
import java.util.Scanner;
System.out.println("请输入初赛成绩:");
        double score = new Scanner(System.in).nextDouble();
        if (score > 8.0)
        {
            System.out.println("请输入性别");
            char gender = new Scanner(System.in).next().charAt(0);
            if (gender == '男')
            {
                System.out.println("进入男子组");
            } else if (gender == '女')
            {
                System.out.println("进入女子组");
            } else
            {
                System.out.println("性别有误,不能参加决赛");
            }


        } else
        {
            System.out.println("很遗憾,未进入决赛");
        }
import java.util.Scanner;
        System.out.println("请输入月份:");
        int a = new Scanner(System.in).nextInt();
        System.out.println("请输入年龄:");
        int age = new Scanner(System.in).nextInt();
        if (a <= 10 && a >= 4) {
            if (age >= 18 && age <= 60) {
                System.out.println("票价为60元");
            } else if (age <= 18) {
                System.out.println("票价为30元");
            } else if (age >= 60) {
                System.out.println("票价为20元");
            }
        } else {
            if (age >= 18 && age <= 60) {
                System.out.println("票价为40元");
            } else {
                System.out.println("票价为20元");
            }
switch分支结构

基本语法

switch(表达式){              //swich关键字表示swich分支,表达式对应一个值
    case 常量1:             //当表达式的值等于常量1,就执行语句块1
        语句块1;
        break;             //退出swich
    case 常量2;           //如果和case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case2
       语句块2;
       break;
       ...
    case 常量n;
       语句块n;
       break;
    default:default语句块2;       //如果一个都没有匹配上,就执行语句块default
    break;
}

细节

    表达式的数据类型应与case后的常量类型一致,或者是可以自动转成可以相互比较的类型

    表达式的返回值必须是(byte short int char enum[枚举] String)

    double c=1.1;
    switch (c){                 //错误
        case 1.1:               //错误
            System.out.println("ok3" );
            break;
    }
    

    case子句中的值必须是常量,而不能是变量

    default子句是可选的,当没有匹配的case时,执行default

    如果没有写break,会顺序执行到switch结尾

请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g  
a表示星期一,b表示星期二 …  
根据用户的输入显示相应的信息.要求使用 switch 语句完成
	
 System.out.println("请输入字符(a~g):");
        char A = new Scanner(System.in).next().charAt(0);
        switch(A){
            case 'a':
                System.out.println("星期一");
                break;
            case 'b':
                System.out.println("星期二");
                break;
            case 'c':
                System.out.println("星期三");
                break;
            default:
                System.out.println("字符不正确,匹配不成功");
        }
        System.out.println("退出switch,继续执行程序");
     //对学生成绩大于60分的,输出"合格"。低于60分的,
	//输出"不合格"。(注:输入的成绩不能大于100), 提示 成绩/60
	//思路分析
	//1. 这道题,可以使用 分支来完成, 但是要求使用switch
	//2. 这里我们需要进行一个转换, 编程思路 : 
	//   如果成绩在 [60,100] , (int)(成绩/60) = 1 
	//   如果成绩在 [0,60) , (int)(成绩/60) = 0 
	
	//代码实现
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入成绩在0-100之间:");
	double score = sc.nextDouble();
	if (score >= 0 && score<=100) {
	    switch ((int) (score / 60)) {
	        case 0:
	            System.out.println("不合格");
	            break;
	        case 1:
	            System.out.println("合格");
	    }
	}else{
	    System.out.println("请输入成绩在0-100之间");
	}

switch 和 if 的比较
    如果判断的具体数值不多,并且符合byte short int enum[枚举] String这六种类型,建议switch语句其他情况:对区间判断,对结果为boolean类型判断,使用if ,if的适用范围更广
for循环控制

基本语法

for(循环变量初始化;循环条件;循环变量迭代){
    循环操作语句;
}

for(;循环条件;) 可以写到其他地方,但是分号不能省略  也可以有多条语句,但是必须用,隔开
int i=1;
for(;i<=10;){
    System.out.println("lwh"+i);
    i++;
}
    System.out.println(i);
    
count=3;
(int i = 0,j=0; i   while循环控制 
  

基本语法

循环变量初始化;
while(循环条件){
     循环体(语句);
     循环变量迭代;
}

1. 循环条件是返回一个布尔值的表达式
2. while 循环是先判断再执行语句
输出10句 你好,皮卡丘
	
	int i = 1;                                    //循环变量初始化
	while( i <= 10 ) {                           //循环条件
		System.out.println("你好,皮卡丘" + i);    //执行语句
		i++;                                     //循环变量迭代
	}
	System.out.println("退出while ,继续.." + i); // 11
 打印 1-100 之间所有能被 3 整除的数 [使用 while ]
     int i =1;
     while (i<=100){
     if(i%3==0){
     System.out.println("i="+i);
     }
     i++;
     }
do while循环控制

基本语法

循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);

do while 是关键字
也有循环四要素, 只是位置不一样
先执行,再判断,也就是说,一定会至少执行一次
最后 有一个 分号 ;
循环条件是返回一个布尔值的表达式
do…while 循环是先执行,再判断, 因此它至少执行一次
输出 10 句:你好,皮卡丘

int i = 1;
	do {
	    System.out.println("你好,皮卡丘"+i);
	    i++;
	} while (i <= 10);
	System.out.println("退出 do...while 继续执行....");
计算 1—10 的和

int i = 1;
	int sum = 0;
	do {
	   sum += i;
	   System.out.println(i);
	   i++;
	} while (i <= 10);
	System.out.println("sum="+sum);
统计 1—200 之间能被 5 整除但不能被 3 整除的个数
        int a=1;
        int count=0;
        do {
            if(a%5==0&&a%3!=0){
                System.out.println("i=" + a);
                count++;
            }
            a++;
        } while (a<=200);
        System.out.println("count=" + count);
如果李三不还钱,则李四将一直使出五连鞭,直到李三说还钱为止
    化繁为简
	(1) 不停的问还钱吗?
	(2) 使用char answer 接收回答, 定义一个Scanner对象
	(3) 在do-while 的while 判断如果是 y 就不在循环
	Scanner myScanner  = new Scanner(System.in);
	char answer = ' ';
	do {
		System.out.println("李四使出五连鞭~");
		System.out.println("李四问:还钱吗?y/n");
		answer = myScanner.next().charAt(0);
		System.out.println("他的回答是" + answer);
	}while(answer != 'y');//判断条件很关键
	
	System.out.println("李三还钱了");

r = new Scanner(System.in);
char answer = ’ ';
do {
System.out.println(“李四使出五连鞭~”);
System.out.println(“李四问:还钱吗?y/n”);
answer = myScanner.next().charAt(0);
System.out.println(“他的回答是” + answer);
}while(answer != ‘y’);//判断条件很关键

	System.out.println("李三还钱了");

```
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号