当前位置: 首页 > news >正文

考研失败, 学点Java打小工——Day3

1 编码规范——卫语句

  表达异常分支时,少用if-else方式。
  比如成绩判断中对于非法输入的处理:

    /*>=90   <=100      优秀>=80    <90       良好>=70    <80       一般>=60    <70      及格<60              不及格*/@Testpublic void test2() {//int score = 78;//通过Scanner可以实现从控制台输入信息Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");int score = scanner.nextInt();if(score < 0 || score > 100) {System.out.println("非法输入");} else if (score >= 90 && score <= 100) {System.out.println("优秀");} else if (score >= 80 && score < 90) {System.out.println("良好");} else if (score >= 70 && score < 80) {System.out.println("一般");} else if (score >= 60 && score < 70) {System.out.println("及格");} else {System.out.println("不及格");}}

Java开发手册(黄山版)
  修改后:

    @Testpublic void test2() {//通过Scanner可以实现从控制台输入信息Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");int score = scanner.nextInt();//卫语句1if (score < 0 || score > 0) {//异常和正常 要分开System.out.println("Invalid input!");//后面的代码不再执行return;}//卫语句2...//合法输入if (score >= 90 && score <= 100) {System.out.println("优秀");} else if (score >= 80 && score < 90) {System.out.println("良好");} else if (score >= 70 && score < 80) {System.out.println("一般");} else if (score >= 60 && score < 70) {System.out.println("及格");} else {System.out.println("不及格");}}

2 循环控制语句(接Day2)

2.2 continue、break
   还是跟C语法相差无几,放个demo了事
   continue:跳出本次循环,继续下一次循环
   break:跳出离他最近的那层循环

@Test//结果: 1 2 4 5
public void test44() {for (int i = 1; i <= 5; i++) {if (i == 3) {continue;}System.out.println(i);}
}@Test//结果: 1 2
public void test45() {for (int i = 1; i <= 5; i++) {if (i == 3) {break;}System.out.println(i);}
}@Test//
public void test46() {//i,j,kfor (int i = 1; i <= 5; i++) {System.out.println("i: " + i);for (int j = 1; j <= 5; j++) {if (j == 3) {break;}System.out.println("j: " + j);}}
}

2.3 双重for循环
   这个也很简单,
   双重for循环:
   外层循环控制行数,数一下有几行就能确定外层循环。
   内层循环控制列数,这一行打印多少个,到底要打印多少个要找出和当前行之间的一个关系。

   还有一些打印金字塔, 各种三角形的题,统一放到下一篇作业博客吧.
2.4 Switch
   这部分当初学的时候没感觉有啥特别的,但是同种情况的case可以合并这个操作是真的有点没记起来,温故知新了。

    import com.sdust.day2.*;@Test//月份 天数public void test2() {Scanner scanner = new Scanner(System.in);Homework day2 = new Homework();System.out.println("please input month: ");int month = scanner.nextInt();if (month < 1 || month > 12) {System.out.println("invalid month");return;}switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:System.out.println("31days");break;case 4:case 6:case 9:case 11:System.out.println("30days");break;case 2:System.out.println("please input year: ");int year = scanner.nextInt();if (day2.judgeLeapYear(year)) {System.out.println("29days");} else {System.out.println("28days");}default:System.out.println("default");break;}}

昨天写了几个作业题,包括一个闰年判断的题,于是在今天写这部分代码对闰年进行特判的时候心血来潮想直接调用昨天的代码。先是要导包,仿照Scanner输入的形式写了一下,发现还真行,嗯,基础的Java也就那么回事嘛~

http://www.lryc.cn/news/318206.html

相关文章:

  • 【Stable Diffusion】入门-01:原理简介+应用安装(Windows)+生成步骤
  • VueX详解
  • 2023 年 9 月青少年软编等考 C 语言一级真题解析
  • 避免阻塞主线程 —— Web Worker 示例项目
  • matlab 基操~
  • HTML5、CSS3面试题(一)
  • 图片压缩神器源码系统:无损画质 带完整的代码安装包以及搭建教程
  • 探索SOCKS5代理、代理IP、HTTP与网络安全
  • 【Python学习篇】Python基础入门学习——你好Python(一)
  • 【通信原理笔记】【二】随机信号分析——2.2 平稳随机过程
  • 新火种AI|GPT-4诞生1年,OpenAI把它放到了机器人上
  • 8-图像放大
  • java实现压缩文件夹(层级压缩)下载,java打包压缩文件夹下载
  • Visual Studio 2022 配置“Debug|x64”的 Designtime 生成失败。IntelliSense 可能不可用。
  • Pandas教程16:DataFrame列标题批量重命名+空df数据判断+列名顺序重排
  • React.FC介绍
  • 为什么要用scrapy爬虫库?而不是纯python进行爬虫?
  • C:数据结构王道
  • Compose UI 之 Buttons 按钮 IconButtons 图标按钮
  • 吴恩达机器学习笔记 二十一 迁移学习 预训练
  • Python中Pandas常用函数及案例详解
  • VR全景看房:超越传统的看房方式
  • pip 配置镜像加速安装
  • LUA语法复习总结
  • 某赛通电子文档安全管理系统 DecryptApplication 任意文件读取漏洞(2024年3月发布)
  • Mac-自动操作 实现双击即可执行shell脚本
  • 人工智能入门之旅:从基础知识到实战应用(六)
  • Debezium日常分享系列之:Debezium2.5稳定版本之Mysql连接器的工作原理
  • Linux服务器,使用ssh登录时越来越慢,有时甚至出现超时的现象,解决方案
  • GPT-SoVITS开源音色克隆框架的训练与调试