影酱🌸
本帖最后由 XiangZi_ 于 2020-4-13 23:02 编辑


今日事件

  • 回复楼层新规则,凡是触发以下条件的均作为恶意灌水处理,详见下方板块
  • 学习用户键盘输入内容后在控制台输出对应内容,有点懵
  • IF语句的实操训练,有思考,要善用String
  • 坚持注释代码正规示范的第二天,XD



灌水警告

类同灌水回复

楼主好棒呀~
膜拜,加油
完全看不懂系列
MCBBS有你更精彩
66666666
加油!
发错帖子了,去编程开发板块发吧

使用以上回复均为灌水处理



日记说明

  • 本人持续更新日记并不是编程教学!所以请勿将本系列帖子当做开发教学等
  • 本帖只适用于参考借鉴,不存在任何专业教程,如需教程请至编程开发板块!
  • 请勿在楼层中回复,教学真棒,膜拜
  • 有大佬在本楼层中回复学习中需要注意的事项,我会给予评分+置顶处理
  • 本系列帖为版主管理方便,特此制定有关灌水规则
  • 凡是回复以上内容,均作为灌水处理!

以后每篇帖子中都会出现本版块,如有更新按照最新帖子的更新为主
在索引贴中也会加入并持续更新!

—— 2020.4.13 祥子

如有遗漏项目请私信本人,我会及时补充并给予人气金粒奖励


今日知识

  • 接受用户键盘输入内容后在控制台输出
  1. /*
  2. *      System.out.println(); 负责向控制台输出【从内存到控制台,输出的过程,这是从内存中出来了】
  3. *
  4. *      接收用户键盘输入,从"键盘"到"内存" 【输入的过程,到内存中去】
  5. *
  6. *      以下代码暂时看不懂,网站的- -
  7. *      固定编码就可以接受用户键盘的输入
  8. */
复制代码
代码展示
  1. //第一步:创建键盘扫描器对象
  2. java.util.Scanner s = new java.util.Scanner(System.in);

  3. //第二步:调用Scanner对象的next()方法开始接收用户键盘输入
  4. //程序执行到这里会停下来,等待用户的输入
  5. //当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent
  6. //程序执行到这里,用户输入的信息已经到内存中了
  7. //接收文本【以字符串的形式接收】
  8. String userInputContent = s.next(); //标识符的命名规范:见名知意

  9. //接收数字【以整数型int的形式来接收】
  10. int num = s.nextInt();
  11. //将内存中的数据输出到控制台
  12. System.out.println("您输入了: " + userInputContent);

  13. System.out.println("您输入的数字是: " + num);
  14. System.out.println("计算结果: " + (num + 100));
复制代码
本块总结
  1. /*
  2. *      总结:记住代码,或者直接将代码复制黏贴
  3. *
  4. *          第一步:
  5. *              java.util.Scanner s = new java.until.Scanner(System.in);
  6. *
  7. *          第二步:
  8. *
  9. *              String str = s.next();
  10. *              或
  11. *              int num = s.nextInt();
  12. */
复制代码

  • IF语句加强练习,加入通过键盘输入的方式
需求:
  假设系统给定一个人的年龄(这个年龄需要从键盘输入)
  根据年龄来判断这个人处于生命的哪个阶段,年龄必须在[0-150]

  [0-5]幼儿
  [6-10]少儿
  [11-18]少年
  [19-35]青年
  [36-55]中年
  [55-150]老年

代码部分
  1. //1、接收键盘输入:年龄【输入的时候必须输入数字】
  2. java.util.Scanner s = new java.util.Scanner(System.in);
  3. System.out.print("请输入您的年龄:"); //输出提示信息,要不然用户根本不知道这里要干嘛!
  4. int age = s.nextInt(); //停下来等待用户的输入,输入之后自动接收,复制给age变量
  5. System.out.println("age = " + age);

  6. //2、根据需求进行**逻辑判断
  7. String str = "老年";
  8. if(age < 0 || age>150){
  9.     str = "您提供的年龄不合法,年龄需要在[0-150]之间";
  10. }else if(age <= 5){
  11.     str = "幼儿";
  12. }else if(age <= 10){
  13.     str = "少儿";
  14. }else if(age <= 18){
  15.     str = "少年";
  16. }else if(age <= 35){
  17.     str = "青年";
  18. }else if(age <= 55){
  19.     str = "中年";
  20. }
  21. System.out.println("您处于生命周期的" + str + "阶段");
复制代码


笔记&源码展示
本版块从此贴开始将使用图床
如遇图床炸了请联系本人






下载地址

请勿将以前,以后,所有的日记整合后用于商业用途

IfTest02.txt (1.48 KB, 下载次数: 0)

KeyInputTest.txt (1.72 KB, 下载次数: 1)

提示:将文件后缀改为.java就是源码
因为泥潭不让上传.java后缀的文件

如果您喜欢,还请您素质三连~
感谢您的支持



索引贴

在这里可以查看到我的所有日记~
点击进入 > 索引贴 < 点击进入
感谢各位的支持~
ing~




来自群组: Complex Studio

爱心魔王FHC
为啥说if难?

影酱🌸

说难也不难
主要就是刚开始学
然后写的有点懵
逻辑性不行.....
所以说“难”
但并不是说if难

Wang_Zai_Tang
加油楼主
永远支持你

爱心魔王FHC
XiangZi_ 发表于 2020-4-13 23:14
说难也不难
主要就是刚开始学
然后写的有点懵

if只要把括号和缩进弄好,就不会难

mohui666
业 务居然是违禁词吗

乐之叶
进度有点慢哦
这些稍微过一遍基本就没有问题了
之后再实例中训练加强就行
把更多的时间花在面向对象等内容比较好

另外提醒一下
这个接受数字的时候不输数字是会报错的
可以学一下错误处理

DaiBM1
为什么大佬都熬夜发帖·····

影酱🌸
本帖最后由 XiangZi_ 于 2020-4-14 09:52 编辑
爱心魔王FHC 发表于 2020-4-14 01:10
if只要把括号和缩进弄好,就不会难

是的
格式规范还是比较注重的
  1. if(){
  2.   xxx
  3. }else if(){

  4. }
复制代码



影酱🌸
乐之叶 发表于 2020-4-14 07:38
进度有点慢哦
这些稍微过一遍基本就没有问题了
之后再实例中训练加强就行

有专门 num 输输入数字的
已经有示例了
不输入数字直接一段报错哈哈哈
错误处理到后面看看

William_Shi
https://www.runoob.com/java/java-string.html
注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了(详看笔记部分解析)。
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
String 类是不可改变的解析,例如:
String s = "Google";
System.out.println("s = " + s);

s = "Runoob";
System.out.println("s = " + s);
输出结果为:
Google
Runoob
从结果上看是改变了,但为什么门说String对象是不可变的呢?
原因在于实例中的 s 只是一个 String 对象的引用,并不是对象本身,当执行 s = "Runoob"; 创建了一个新的对象 "Runoob",而原来的 "Google" 还存在于内存中。




lz的代码仍然存在纰漏,希望大家在看完教程的同时看一下这个
要不然就是sout 魔法值
要不然就加上判断条件,声明str为null,然后如果是某个年龄段就str = “老人”
反正别这样覆盖
纯属浪费内存行为


突然发现自己变成了捉虫专家?

影酱🌸
William_Shi 发表于 2020-4-14 12:59
https://www.runoob.com/java/java-string.html

其实还没有学 优化的部分
所以存在纰漏 浪费内存是很正常的....
包括你现在写的也有点看不太懂有的地方

William_Shi
XiangZi_ 发表于 2020-4-14 13:02
其实还没有学 优化的部分
所以存在纰漏 浪费内存是很正常的....
包括你现在写的也有点看不太懂有的地方 ...

魔法值就是说
System.out.println("年龄为老人")
这个字符串就是魔法值
脱离了代码情景,没人能理解为什么这个字符串的内容是“年龄为老人”
或者说某个地方直接给出了数值而并没有使用变量
这些都是魔法值
魔法值是需要尽可能避免的(final变量什么的都可以解决)
建议自行百度魔法值,肯定比我讲得好

结城希亚
本帖最后由 结城希亚 于 2020-4-14 15:54 编辑

if哪里难了,不过套娃套到后面发现乱的一批是真的
你是不知道for、while和if还有数据转换套娃后的恐怖