韩顺平Java入门第十天

1.swith分支结构
    基本语法

    流程图

    快速入门

//请编写一个程序,该程序可以接收一个字符,
//比如:a,b,c,d,e,f,g a 表示星期一,b 表示星期二 …
import java.util.Scanner; public class Switch01 { //编写一个 main 方法 public static void main(String[] args) { /*案例:Switch01.java 请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g a 表示星期一,b 表示星期二 … 根据用户的输入显示相应的信息.要求使用 switch 语句完成 思路分析 1. 接收一个字符 , 创建 Scanner 对象 2. 使用 switch 来完成匹配,并输出对应信息 代码*/ Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个字符(a-g)"); char c1 = myScanner.next().charAt(0);// //在 java 中,只要是有值返回,就是一个表达式 switch(c1) { 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 ,继续执行程序"); }
}

    细节讨论

课堂练习题:

//1) 使用 switch 把小写类型的 char 型转为大写(键盘输入)。只转换 a, b, c, d, e. 其它的输出 "other"。
//2) 对学生成绩大于 60 分的,输出"合格"。低于 60 分的,输出"不合格"。
//   (注:输入的成绩不能大于 100), 提示 成绩/60
//3) 根据用于指定月份,打印该月份所属的季节。
//    3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [课堂练习, 提示 使 用穿透 ]
//
import java.util.Scanner;
public class SwitchExercise { //编写一个 main 方法 public static void main(String[] args) { //1)Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个字符(a-e)"); char c1 = myScanner.next().charAt(0);// //在 java 中,只要是有值返回,就是一个表达式 switch(c1) { case 'a' :System.out.println("A"); break; case 'b' : System.out.println("B"); break; case 'c' : System.out.println("C"); break; case 'd' : System.out.println("D"); break;case 'e' : System.out.println("E"); break;//..... default: System.out.println("other"); }System.out.println("退出了 switch1 ,继续执行程序"); //2)//对学生成绩大于 60 分的,输出"合格"。低于 60 分的, //输出"不合格"。(注:输入的成绩不能大于 100), 提示 成绩/60 //思路分析 //1. 这道题,可以使用 分支来完成, 但是要求使用 switch //2. 这里我们需要进行一个转换, 编程思路 : // 如果成绩在 [60,100] , (int)(成绩/60) = 1 // 如果成绩在 [0,60) , (int)(成绩/60) = 0//代码实现 System.out.println("请输入成绩");double score = myScanner.nextDouble(); //使用 if-else 保证输入的成绩有有效的 0-100 //看了当老师的分析和代码演示后,自己一定要独立完成(不看老韩代码,也能写) if( score >= 0 && score <= 100) { switch ((int)(score / 60)) { case 0 : System.out.println("不合格"); break; case 1 : System.out.println("合格"); break; // default : // System.out.println("输入有误");} System.out.println("退出了 switch2 ,继续执行程序"); } else { System.out.println("输入的成绩在 0-100"); }//3)System.out.println("请输入月份(1-12)"); int month = myScanner.nextInt(); switch(month) { case 3 :case 4 : case 5 : System.out.println(month + "月份是春季"); break; case 6 : case 7: case 8: System.out.println(month + "月份是夏季"); break;          case 9: case 10: case 11: System.out.println(month + "月份是秋季"); break;            case 12: case 1: case 2: System.out.println(month + "月份是冬季"); break; default: System.out.println("您输入的月份有误"); }System.out.println("退出了 switch3 ,继续执行程序");}
}

2.switch 和 if 的比较
    1) 如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这 6 种类型。虽然两个语句都可 以使用,建议使用 swtich 语句。
     2) 其他情况:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广。

3.for 循环控制(!!!)
    基本介绍:听其名而知其意,就是让你的代码可以循环的执行。
    基本语法:

    老韩说明:
        1). for 关键字,表示循环控制 。
        2). for 有四要素:
            (1)循环变量初始化
            (2)循环条件
            (3)循环操作
            (4)循环变量迭代
        3). 循环操作 , 这里可以有多条语句,也就是我们要循环执行的代码 。
        4). 如果 循环操作(语句) 只有一条语句,可以省略 {}, 建议不要省。
    for 循环执行流程分析:

    注意事项和细节说明:
        1) 循环条件是返回一个布尔值的表达式.
        2) for(;循环判断条件;) 中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略。
        3) 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
For应用练习:

public class ForExercise { //编写一个 main 方法 public static void main(String[] args) { //打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和.//[化繁为简,先死后活]//老韩的两个编程思想(技巧) //1. 化繁为简 : 即将复杂的需求,拆解成简单的需求,逐步完成 编程 = 思想 --练习-> 代码 //2. 先死后活 : 先考虑固定的值,然后转成可以灵活变化的值//////思路分析 //打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和 //化繁为简//(1) 完成 输出 1-100 的值 //(2) 在输出的过程中,进行过滤,只输出 9 的倍数 i % 9 ==0 //(3) 统计个数 定义一个变量 int count = 0; 当 条件满足时 count++; //(4) 总和 , 定义一个变量 int sum = 0; 当条件满足时累积 sum += i; //先死后活 //(1) 为了适应更好的需求,把范围的开始的值和结束的值,做出变量 //(2) 还可以更进一步 9 倍数也做成变量 int t = 9;int count = 0;int sum = 0;for (int i = 1;i <= 100 ; ) {if (i % 9 == 0) {System.out.println(i + "可以被9整除"); count++;sum += i;}i++;}System.out.println( "9的倍数有"+ count + "个");System.out.println("总和是" + sum);int j = 0;int k = 5;for (; k > 0; ) {System.out.println(j + "+" + k + "=" + (j + k) ); j++;k--;//老师的解法:// int n = 5; // for( int i = 0; i <= n; i++) { //    System.out.println(i + "+" + (n-i) + "=" + n); // }}}
}

4.while 循环控制

    基本语法:

    while 循环执行流程分析:

    注意事项和细节说明:
        1) 循环条件是返回一个布尔值的表达式 。
        2) while 循环是先判断再执行语句。

//打印 40—200 之间所有的偶数
//
public class WhileExercise{public static void main(String[] args){//化繁为简////先死后活    int start = 40;int end = 200;int i = start;while (i <= 200) {if (i % 2 == 0) {System.out.println(i + "是" + start + "到" + end  + "之间的偶数");}i++;}}
}

5.do-while 循环控制
    基本语法:
        循环变量初始化;
        do{
            循环体(语句);
            循环变量迭代;
        }while(循环条件);
    老韩说明:
        1). do while 是关键字。
        2).也有循环四要素, 只是位置不一样。
        3). 先执行,再判断,也就是说,一定会至少执行一次 。
        4). 最后有一个 分号 ; 。
        5). while 和 do…while 区别举例: 要账。
    do…while 循环执行流程分析:

    注意事项和细节说明
        1) 循环条件是返回一个布尔值的表达式。
        2) do…while 循环是先执行,再判断, 因此它至少执行一次。

课堂练习题

//
//1) 打印 1—100
//2) 计算 1—100 的和
//3) 统计 1---200 之间能被 5 整除但不能被 3 整除的个数
//
public class DoWhileExercise01{public static void main(String[] args){//化繁为简//先死后活//1)打印 1—100int i = 1;do{System.out.println(i);i++;}while (i <= 100); //2)计算 1—100 的和int j = 1;int sum = 0;do{sum += i;j++;}while (j <= 100);System.out.println("1到100的和是" + sum);//3)统计 1---200 之间能被 5 整除但不能被 3 整除的个数int count = 0;int k = 1;do{if (k % 5 == 0 && k % 3 != 0) {count++;}k++;}while (k <= 200);System.out.println("1到200之间能被5整除但不能被3整除的个数是" + count);}}
4) 如果李三不还钱,则老韩将一直使出五连鞭,直到李三说还钱为止
import java.util.Scanner;
public class DoWhileExercise02 {//编写一个 main 方法 public static void main(String[] args) { //如果李三不还钱,则老韩将一直使出五连鞭,直到李三说还钱为 //[System.out.println("老韩问:还钱吗?y/n")] do...while .. //化繁为简 //(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("李三还钱了"); }
}

------文章为自学笔记,学习的课程是B站上的韩顺平30天学JAVA,文章标题的天数是自己学习的天数-----

2021-11-16----韩顺平Java入门第十天相关推荐

  1. 2021-11-23----韩顺平Java入门第十四天

    韩顺平Java入门第十四天(排序.查找) 1.排序     1).排序的介绍:排序是将多个数据,依指定的顺序进行排列的过程.     2).内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 ...

  2. 2021-11-10----韩顺平Java入门第七天

    韩顺平Java入门第七天 1.标识符     标识符的概念         ①java对各种变量.方法和类等命名是使用的字符序列称为标识符.         ②凡是自己可以起名字的地方都叫标识符 in ...

  3. 2021-11-15----韩顺平Java入门第九天

    韩顺平Java入门第九天–程序控制机构 1.程序流程控制介绍     在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句.     1) 顺序控制     2) ...

  4. window.addeventlistener 不能调用方法_Java入门第十四课:如何定义”方法“

    第十四课,学习定义方法.一个对象包含三种最常见的成员:构造器.Field和方法.Field用于定义状态数据,而方法是行为特征的抽象. 那么什么是方法呢? 在Java中,方法就是用来完成解决某件事情或实 ...

  5. 韩顺平 java坦克大战_坦克大战完整版(韩顺平java)

    [实例简介] 坦克大战完整源代码(韩顺平java视频配套) [实例截图] [核心代码] 5i86q5 └── 源码 └── Class14 ├── 111.wav ├── bin │   ├── bo ...

  6. 前端简单入门第十八讲 使用jQuery实现表格的隔行换色

    还记得之前我使用JavaScript来实现表格的隔行换色效果吗?如果读者初次翻阅本文,可记得看看前端简单入门第十二讲 使用JavaScript完成后台数据展示表格的隔行换色!现在我就来使用jQuery ...

  7. QT入门第十四天 串口通信协议+收发数据+波特率+数据位+停止位+奇偶校验+串口识别射频RFID的卡号

    QT入门第十四天 串口通信[QT入门第十四天 串口通信协议+收发数据+波特率+数据位+停止位+奇偶校验+串口识别射频RFID的卡号 第一章 常见的硬件通信接口协议 [1]硬件通信接口协议 [2]使用串 ...

  8. QT入门第十天 QT安装和使用alsa库和jpeg库实现音视频录制

    QT入门第十天QT安装和使用alsa库和jpeg库实现音视频录制 第一章 ALSA库的移植和使用 1.ALSA简介 2.移植ALSA (1)移植步骤 3.把移植好的库下载到开发板配置 4.使用移植好的 ...

  9. Java笔记(韩顺平Java基础12-14章)

    Java学习笔记(第12章 P444-P459)(第13章P460-P498)(第14章P499-P553) 第12章 异常-Exception 异常介绍 编译异常 异常处理 try-catch异常处 ...

最新文章

  1. 【每日一算法】填充同一层的兄弟节点
  2. 生信入门必须掌握的 30 个 Linux 命令
  3. html 物流状态,css+html如何实现物流进度样式(代码示例)
  4. Angular 下的 function
  5. 10个绕过反病毒的恶意用户技巧
  6. 一文读懂人工智能的前世今生(建议收藏)
  7. [转贴]在C#中应用哈希表(Hashtable)
  8. 关于理财、专户、基金与避税
  9. Django搭建网站笔记
  10. CS231n第一次作业_问题1
  11. python去除图片复杂背景_去掉图片黑背景输出为透明背景
  12. discuz 登录代码流程
  13. Word批量打印软件/工具
  14. SparseLDA算法
  15. ks 曲线_ROC曲线与KS曲线的理解
  16. JS实现段落的收缩与展开
  17. php电子病历查询代码,php80电子病历管理系统
  18. break是跳出当前循环还是所有循环_C语言基础知识3--循环
  19. java门禁系统实训,Java 并发课题 : CyclicBarrier 打造一个安全的门禁系统
  20. Design Pattern----01.Creational.AbstractFactory.Pattern (Delphi Sample)

热门文章

  1. 「连锁餐饮行业热点快报」复工首日上海咖啡外卖订单暴增210%
  2. Focusing on Developing Radar Technology to Solve Social Problems
  3. Safari图片显示问号
  4. GLM联合go-cqhttp实现qq群GLM机器人服务器的本地化部署笔记
  5. 微信公众号H5点击图片预览(可放大缩小),用微信内置jssdk实现
  6. AI实现visio和matlab图片转换成eps格式用于latex
  7. deepin系统安装wine
  8. 怎么在公众号推文里加附件
  9. c++ day5 第四章 (三)动态结构,存储类型,数组替代品
  10. MyBatis-Plus实战