测试开发全栈重新拾起Java核心基础(5)一直没有搞清楚的功能
自学了很久的Java,其实方法之间的调用和传参,还有部分方法的调用,始终没有吃透。例如,方法之间是如何传参并获取参数的,后端和前端为什么要定义接口,也才慢慢明白了。
(一)举例:
指定考试成绩,判断成绩的等级
90~100 优秀
80~89 好
70~79 良
60~69 及格
60以下 不及格
要求: 用户输入分数,然后显示分数和对应的分数段
这里增加了一个需求,不仅仅是判断分数属于哪个分数段,需要加上用户输入这个过程。这就需要使用 Scanner 类,获取用户的输入,然后传给方法,判断该分数在哪个分数段。
先创建方法A, 将用户输入的分数传给方法B; 然后判断分数在方法B中是哪个阶段。具体来看下代码: package com.liepin.rim.org.day05; import java.util.Scanner; public class First { /* 指定考试成绩,判断成绩的等级 90~100 优秀 80~89 好 70~79 良 60~69 及格 60以下 不及格 */ //不能使用swith语句,是一个数的范围 private static final String str1 = "优秀"; private static final String str2 = "好"; private static final String str3 = "良"; private static final String str4 = "及格"; private static final String str5 = "不及格"; //可以尝试用java的枚举 //从键盘中输入一个数字 public static int secondMethod(){ int num = 0; //方法体中局部变量最好先赋值 System.out.println("请输入数字"); Scanner scanner = new Scanner(System.in); //判断是否还有输入 if (scanner.hasNextInt()){ //判断输入的是否为整数 num = scanner.nextInt(); //接收整数 System.out.println("输入的数据为 " + num); } scanner.close(); return num; } public static void firstMethod(int num){ if (num >= 90){ System.out.println(num + " " + str1); }else if (num >= 80){ System.out.println(num + " " + str2); }else if (num >= 70){ System.out.println(num + " " + str3); }else if (num >= 60){ System.out.println(num + " " + str4); }else { System.out.println(str5); } }public static void main(String[] args){ //firstMethod(secondMethod()); //third(); four(2); } }
方法 secondMethod 最后用return num 将用户输入的数值传给了方法firstMethod 。最开始还想着用switch来获取分数段,后来发现是一个值的范围,不是单一的值,所以还是用if判断好一些,更方便实现。
从这里明白一个道理,无论你的传参、方法的实现等,这个方法如果有返回值,只会返回 return后面的值,跟之前都没啥关系。再举一个极端点的例子:
上代码: package com.liepin.rim.org.day05; public class Second { //将方法中的内容写的复杂一些,然后返回值非常简单 public static String firstMethod(int num){ switch (num){ case 1: System.out.println(1); break; case 2: System.out.println(2); break; case 3: System.out.println(3); break; default: System.out.println("结束了,没有合适的"); break; } return "Hello,World"; } public static void secondMethod(String string){ System.out.println(string); } public static void main(String[] args){ secondMethod(firstMethod(1)); } }
方法secondMethod()中入参为firstMethod,而firstMethod()的返回值为最后的 "Hello,world" 和代码中的switch功能一点关系都没有,看下运行结果
1
Hello,World
这里的1主要是有一个打印的语句结果,其他的都没啥关系。
(二) switch功能中最后有 default进行兜底,且每一个case都需要有 break;
如果没有break,就都调用了。如果没有default, 最后就没有兜底了。
有时候当你自学觉得已经无所不能的时候,一定要找一些练习题来试试,不要盲目详细自己。
中兴此举,其他同行会跟进吗数字经济是我国经济发展的重要支撑,而国产操作系统是我国数字经济的重要基础,大力发展国产操作系统成为保持我国经济持续健康稳定增长的保障。因此,自主操作系统不可不搞,而且还要加快速度搞
微信8。0。21更新带来的变化千呼万唤终于等到8。0。21正式版的更新了,这次的发布是安卓抢先发布的,接下来我们一起来看看都有什么变化吧。一,微信修复了之前安卓12系统输入法的BUG,因为此前有客户反映当切换应
iPhone14Pro外观设计曝光,日落金配色颜值飙升这段时间大家肯定都非常关注iPhone14系列的相关消息,爆料的消息也有很长一段时间了,而且各个方面的内容都不少。这段时间的爆料就更为确切,iPhone14系列的关注度也越来越高,
快递送不上门,会不会成为常态光明网评论员据媒体报道,尽管监管日趋严格舆论日趋反感,但快递不送上门的现象还是普遍存在。在调查中,不放快递柜根本送不完是其中重要原因。近日公开征求意见的快递市场管理办法(修订草案)
芯痛再鸣警钟,看京东方东旭这样破解卡脖子难题科技产业的竞争,是国与国之间的竞争,也是企业之间的竞争。当一家龙头企业或一个关键领域被卡脖子,其国家的相关产业也会受到牵连,且后果往往很严重。本月初,俄罗斯互联网巨头Yandex提
终于有人把数据治理的元数据主数据等概念讲明白了DAMA国际数据管理协会对数据治理定义数据治理是对数据资产的管理活动行使权力和控制的活动集合(规划监控和执行)。数据治理涵盖了从前端业务系统后端业务数据库再到业务终端的数据分析,从
花25万买比亚迪汉EV,充电时遇到小鹏P7,两人说出续航后都笑了当下华系纯电动汽车品牌如雨后春笋一般涌现,比如说蔚来小鹏高合威马等而特斯拉和比亚迪在纯电动汽车中的地位更加稳固,但是就价格来说比亚迪和特拉斯的价格并不算高,不如蔚来和高合汽车,或许
雷军依然很强大安卓之光竟成性价比之巅就在3月28日,小米创始人兼董事长兼CEO雷军,在微博新浪文章发表了自已的想法。小米上年的顶极旗舰机安卓之光小米11Ultra展开了官方app限时抢购享优惠,米粉节促销活动限时抢购
互联网巨头原有商业模式面临挑战欧洲议会欧洲理事会和欧盟委员会日前就数字市场法案达成一致,旨在限制谷歌苹果亚马逊元宇宙(原名脸书)等互联网科技巨头。领导欧洲议会谈判数字市场法的德国议员安德烈亚斯施瓦布表示该协议开
全能windows系统维护军刀GlaryUtilitiesProGlaryUtilitiesPro中文版全能系统维护军刀。GlaryUtilities中文版一站式电脑优化解决方案。它允许你清理系统垃圾文件,无效的注册表键值,上网记录,管理和删除
刘强东引以为傲的京东物流,依然逃不出要被裁掉的命运这段时间,京东裁员,被网民持续关注。刘强东引以为傲的京东物流,依然逃不出被裁掉的命运。虽说京东官方没有公开承认,全部裁撤,但结果已经明了。说的难听点,就是不想养人了。刘强东在公开场