新闻详情

新闻详情

首页 / 资讯中心 / 详情

Java入门:标识符、键盘录入与运算符全解析

发布时间:2026/10/1 22:21:31来源:尧图网络
Java入门:标识符、键盘录入与运算符全解析
Java学习日期 9.27~28今日知识点 ——标识符代码中所有我们自己起的名字类名、变量名、方法名标识符命名规则1、由数字、字母、下划线_、美元符$组成2、不能以数字开头3、不能是关键字4、区分大小写5、见名知意、驼峰命名小驼峰命名法方法、变量1、一个单词全部小写例如name、age、height2、多个单词第一个单词全部小写其他单词首字母大写appleX、appleY、appleCount大驼峰命名法类名1、一个单词首字母大写例如Snake、Student2、多个单词每个单词的首字母大写SnakeGame、HelloWorld练习代码今日知识点 ——键盘录入scanner练习代码importjava.util.Scanner;publicclassVariable8{publicstaticvoidmain(String[]args){//1、键盘录入身高体重ScannerscnewScanner(System.in);System.out.println(请输入身高);doubleheightsc.nextDouble();System.out.println(请输入体重);doubleweightsc.nextDouble();//2、计算BMI//BMI weight / (height * height)doubleBMIweight/(height*height);System.out.println(BMI值为BMI);}}今日知识点 ——运算符算术运算符 - * / %练习代码packageOperator;publicclassOperatorDemo1{publicstaticvoidmain(String[]args){//算术运算符 - * / % -- //整数计算,结果为整数inta10;intb3;System.out.println(ab);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);System.out.println(a%b);System.out.println(a);System.out.println(a--);System.out.println(ab);System.out.println(a);System.out.println(b);System.out.println(-----------------);//浮点数计算,结果为浮点数//在计算机当中小数直接参与计算结果是有可能不精确的因为计算机当中存储的是近似值不是精确值doublec10.0;doubled3.0;System.out.println(cd);//13.0System.out.println(c-d);//7.0System.out.println(c*d);//30.0System.out.println(c/d);//3.3333333333333335System.out.println(c%d);//1.0}}publicclassOperatorDemo3{publicstaticvoidmain(String[]args){/*描述给定秒数 seconds将其转换为对应的小时数、分钟数和秒数使得总时间不变但分钟数和秒数都不超过 59。 输入描述在一行中输入一个整数 seconds表示要转换的秒数满足 (0 ≤ seconds ≤ 10^8)。 输出描述一行包含三个整数依次为输入整数对应的小时数、分钟数和秒数可能为零中间用一个空格隔开。 示例1输入3661输出1 1 1说明 将 3661 秒转换3661 ÷ 3600 1 小时余 61 秒61 ÷ 60 1 分钟余 1 秒结果为 1 1 1。*///1.定义一个变量记录秒数intseconds3661;//2.获取小时数inthourseconds/3600;//3.获取分钟数intminuteseconds/60%60;//4.获取秒数intsecondseconds%60;System.out.println(hourminutesecond);}}今日知识点 ——算术运算符的三种情况-----数字运算数字运算类型不一样不能运算需要转成同类型的才能计算类型转换1、小-----大byteshortintlongfloatdouble隐式转换前面补0Java自动转换无需我们写代码转换步骤1、如有byte short类型的数据先提升为int类型转换步骤2、把取值范围小的提升为取值范围大的在进行运算2、大-----小强制转换去掉不要的弊端有可能改变原本的数据、导致精度丢失不会自动触发需要手动书写代码书写格式目标数据类型 变量名 目标数据类型被强转的数据;练习代码inta10;byteb(byte)a;bytea10;byteb20;bytec(byte)(ab);//a b的结果自动转换为int所以要强制转换为bytepackageOperator;publicclassOperatorDemo5{publicstaticvoidmain(String[]args){//练习二检查下面代码程序运行的时候是否会报错如果会请说明报错的原因并修改代码shorts1100;shorts2200;//short在进行计算的时候会自动提升为int类型再进行计算得到300将int类型转换为byte类型会报错因为int类型取值范围大于byte类型//byte result2 s1 s2;//System.out.println(result2);//修改代码方案1有可能会丢失精度//300:二进制 00000000 00000000 00000001 00101100//强制转换byte 00101100 ---44byteresult2(byte)(s1s2);//44System.out.println(result2);//修改代码方案2intresult3s1s2;System.out.println(result3);//300}}今日知识点 ——算术运算符的三种情况-----字符运算字符运算字符运算和数字运算不一样字符参与运算时会先转换成对应的 ASCII 码值整数再进行计算。例如A对应的 ASCII 码值是 65a对应 970对应 48。所以字符运算本质上还是整数运算只是参与运算的是字符对应的码值。比如A 1的结果是 66对应字符B。### 字符运算练习代码charaA;//65intb1;System.out.println(ab);//66packageOperator;importjava.util.Scanner;publicclassOperatorDemo6{publicstaticvoidmain(String[]args){//实现字母大小写转换将大写字母转换为小写字母//A--aScannerscnewScanner(System.in);//接收键盘录入一个大写字母System.out.println(请输入一个大写字母);//1、定义变量记录大写字母charcsc.next().charAt(0);//charAt(0)获取字符串的第一个字符//2、将大写字母转换为小写字母charc2(char)(c32);//3、输出小写字母System.out.println(c2);}}今日知识点 ——算术运算符的三种情况-----字符串运算字符串运算字符串只有操作没有其他操作任意数据字符串都是拼接操作并产生一个新的字符串例如108“岁”----“18岁”123“aaa”-----“123aaa”108“岁”12-----“18岁12”练习代码在这里插入代码片今日知识点 ——自增自减运算符与–练习代码inta10;a;a;--a;a--;a--;System.out.println(a);今日知识点 ——赋值运算符赋值运算符说明举例直接赋值int a 10;将 10 赋值给 a加后赋值a 5;等价于a a 5;-减后赋值a - 5;等价于a a - 5;*乘后赋值a * 5;等价于a a * 5;/除后赋值a / 5;等价于a a / 5;%取余赋值a % 5;等价于a a % 5;练习代码publicclassOperatorDemo7{publicstaticvoidmain(String[]args){/* 赋值运算符 加后赋值运算符 - 减后赋值运算符 * 乘后赋值运算符 / 除后赋值运算符 % 取余后赋值运算符 */inta10;intb20;//a b;//30//a - b;//-10//a * b;//200//a / b;//0a%b;//10System.out.println(a);System.out.println(b);//20}}今日知识点 ——关系运算符、比较运算符关系运算符 / 比较运算符符号说明结果ab判断 a 是否等于 b成立true / 不成立false!a!b判断 a 是否不等于 b成立true / 不成立falseab判断 a 是否大于 b成立true / 不成立falseab判断 a 是否大于等于 b成立true / 不成立falseab判断 a 是否小于 b成立true / 不成立falseab判断 a 是否小于等于 b成立true / 不成立false练习代码importjava.util.Scanner;publicclassOperatorDemo9{publicstaticvoidmain(String[]args){//练习二键盘录入一个三位数判断是否能被3整除ScannerscnewScanner(System.in);System.out.println(请输入一个三位数);intnumsc.nextInt();//判断是否能被3整除if(num%30){System.out.println(能被3整除);}else{System.out.println(不能被3整除);}}}importjava.util.Scanner;publicclassOperatorDemo8{publicstaticvoidmain(String[]args){//练习一键盘录入我和我帅帅男朋友的出生天数判断我是否大于我帅帅男朋友ScannerscnewScanner(System.in);System.out.println(请输入我的出生天数);intmyBirthdaysc.nextInt();System.out.println(请输入我帅帅男朋友的出生天数);intmyBoyFriendBirthdaysc.nextInt();//判断我是否大于我帅帅男朋友if(myBirthdaymyBoyFriendBirthday){System.out.println(我是大王);}else{System.out.println(我男朋友是大王);}}}今日知识点 ——逻辑运算符什么是逻辑运算符呢符号作用说明与而且同时成立才是符合要求的|或或者只要有一个符合要求即可!非取反取反与的区别 核心结论逻辑结果一样但执行过程天差地别booleanresult1num1num10;// 短路与booleanresult2num1num10;// 普通与// 当 num 在 1~10 之间时两者结果都为 true// 当 num 不在 1~10 之间时两者结果都为 false// 最终结果一模一样但是它们计算的过程完全不同区别在于“第二个条件要不要算”。 详细对比先记住两个名字写法名字另一个名字短路与短路逻辑与普通与逻辑与不短路 区别在于如果第一个条件已经能决定最终结果了还会不会去算第二个条件// 假设 num 0那么 num 1 就是 false// 用 短路与num1num10↓false→ 已经能确定结果一定是false了 后面的 num10就不算了→ 直接短路跳过 ✂️// 用 普通与num1num10↓false→ 虽然已经能确定结果但还是要算 后面的 num10→ 也算一遍然后才得出结果 四种情况对比表条件1条件2条件1 条件2条件1 条件2短路发生了吗truetrue✅ true✅ true没短路两个都算了truefalse❌ false❌ false没短路两个都算了falsetrue❌ false❌ false✅短路了条件2没算falsefalse❌ false❌ false✅短路了条件2没算总结当条件1为false时会短路跳过条件2而不会。 为什么要短路有什么好处好处 1效率更高省了一次计算// 假设有一个特别特别慢的计算方法num1很慢很慢的计算方法()// 如果 num 0 直接短路那个很慢的计算根本不会被调用 → 快// 如果用 不管 num 是什么那个很慢的计算都会被调用 → 慢死好处 2防止报错空指针保护⭐ 最重要的用途Stringsnull;// ❌ 危险用 会报错s!nulls.length()0// 第一步s ! null → false好的s 是 null// 第二步还是要算 s.length() → NullPointerException 炸了// ✅ 安全用 不会报错s!nulls.length()0// 第一步s ! null → false// 第二步直接短路跳过 s.length() → 安全不会报错 用一个小例子证明短路真的发生了publicclassDemo{publicstaticvoidmain(String[]args){intnum0;booleanresult;// 测试 resultnum1/什么/System.out.println(我被算到了);// 语法示意// num 1 是 false后面的 println 根本不会执行// 控制台没有任何输出 → 短路成功// 测试 resultnum1/什么/System.out.println(我被算到了);// num 1 虽然是 false但 println 还是执行了// 控制台打印 我被算到了 → 没短路}} 回到你代码里该用哪个// 你的代码num 在 1~10 之间booleanresultnum1num10;// 能跑但不推荐booleanresultnum1num10;// ✅ 推荐规则99% 的情况下你都应该用短路与因为它更高效、更安全。只有极少数特殊场景才用。 一句话总结是聪明的——前半句假了就不再算后半句省事又安全。是死板的——不管前半句是什么后半句都得算一遍。写代码时无脑用就对了练习代码importjava.util.Scanner;//逻辑与两个条件都为true时结果为true否则为falsepublicclassOperatorDemo10{publicstaticvoidmain(String[]args){//练习1 键盘录入一个整数判断这个数字是否在1~10之间ScannerscnewScanner(System.in);System.out.println(请输入一个整数);intnumsc.nextInt();//判断是否在1~10之间booleanresultnum1num10;System.out.println(result);}}importjava.util.Scanner;//逻辑或||至少有一个条件为true时结果为true否则为falsepublicclassOperatorDemo11{publicstaticvoidmain(String[]args){//练习2 键盘录入一个整数判断这个数字是否不在1~10之间ScannerscnewScanner(System.in);System.out.println(请输入一个整数);intnumsc.nextInt();//判断是否不在1~10之间// boolean result num 1 || num 10;// System.out.println(result);if(num1||num10){System.out.println(这个数字不在1~10之间);}else{System.out.println(这个数字在1~10之间);}}}importjava.util.Scanner;publicclassOperatorDemo13{publicstaticvoidmain(String[]args){//需求2寻找7的有缘数键盘录入一个两位整数只要该数字包含7或者是7的倍数就是7的有缘数。ScannerscnewScanner(System.in);System.out.println(请输入一个两位数);intnumsc.nextInt();//判断是否为7的有缘数intgenum%10;intshinum/10%10;System.out.println(ge7||shi7||num%70);}}importjava.util.Scanner;publicclassOperatorDemo12{publicstaticvoidmain(String[]args){//需求1键盘录入一个四位数判断这个数字是否为回文数。//回文数从前往后读和从后往前读都一样的数例如1221、2332等。ScannerscnewScanner(System.in);System.out.println(请输入一个四位数);intnumsc.nextInt();//判断是否为回文数intgenum%10;intshinum/10%10;intbainum/100%10;intqiannum/1000%10;System.out.println(geqianshibai);}}今日知识点 ——三元运算符格式关系表达式表达式1:表达式2;计算规则先计算关系表达式的值若成立true则执行表达式1反之不成立false则执行表达式2。练习代码publicclassOperatorDemo14{publicstaticvoidmain(String[]args){//利用三元运算符求两个整数的最大值//格式ab?a:b//定义两个整数a和b求它们的最大值inta10;intb20;intmaxab?a:b;System.out.println(max);}}今日知识点 ——运算符优先级小括号优先于所有下面是运算符优先级从高到低的排序表优先级运算符说明1最高()小括号优先于所有2--自增、自减3!非取反4*/%乘、除、取余5-加、减6关系运算符大于、大于等于、小于、小于等于7!关系运算符等于、不等于8短路与910?:三元运算符11最低-*/%赋值运算符练习代码
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

VulnHub靶机Bulldog完整渗透实战:从信息收集到Root提权 2026/10/1 23:16:12

VulnHub靶机Bulldog完整渗透实战:从信息收集到Root提权

靶机渗透这个圈子,玩到一定阶段都会有个感觉:光是看writeup、刷题库,不如老老实实拿一个靶机从信息收集打到提权,整个链路走一遍,比什么都长记性。最近我重新把VulnHub上的Bulldog拖出来打了一遍,这靶机难度…

阅读更多 →
Vivado增量实现:原理、复用报告与Tcl/GUI避坑指南 2026/10/1 23:16:05

Vivado增量实现:原理、复用报告与Tcl/GUI避坑指南

很多人第一次接触 Vivado 的效率问题,都是从"改一行代码等四十分钟"开始的。工程里只是把某个状态机的优先级调了一下,或者把一个计数器的位宽从 16 改成 20,明明改动量小到可以忽略,但impl_1一跑就是半小时起步&#x…

阅读更多 →
Python企业微信机器人开发实战:Webhook消息推送与自动回复 2026/10/1 23:16:05

Python企业微信机器人开发实战:Webhook消息推送与自动回复

1. 整体设计与思路拆解1.1 项目要解决什么问题微信机器人听起来很高大上,但其实用 Python 做这件事已经是非常成熟的技术路线了。我第一次接触这个需求,是帮朋友做一个自动回复脚本——他想在忙的时候让微信自动回复客户消息。当时第一反应是&#xff1a…

阅读更多 →
从线性DP到01背包:动态规划模型跃迁与刷题路线 2026/10/1 23:16:05

从线性DP到01背包:动态规划模型跃迁与刷题路线

如果你正在刷动态规划题单,做到某一篇时突然卡住,大概率卡在一个地方:不是看不懂状态转移方程,而是不知道这个状态为什么要这么定义。尤其当你做到“动态规划8”这个阶段,前面已经写过不少基础题,但一遇到线…

阅读更多 →
技术人认知破局:从思维天花板到系统化掌控职业成长 2026/10/1 23:16:05

技术人认知破局:从思维天花板到系统化掌控职业成长

干技术这一行超过十年,我见过太多有趣的悖论:一个人可以熟练地拆解最复杂的分布式系统瓶颈,却说不清自己为什么在职业的十字路口反复徘徊;可以在代码评审时一针见血地指出逻辑漏洞,却在面对“要不要离开舒适区”“该不…

阅读更多 →
小米便签深度指南:系统级笔记、本地优先同步与待办工作流 2026/10/1 23:16:05

小米便签深度指南:系统级笔记、本地优先同步与待办工作流

我换过四台小米手机,前三次换机后第一件事都是去应用商店找第三方笔记软件,第四次才发现系统里那个叫 小米便签 的东西已经悄悄长成了另一副样子——它不再是当年那个只能打几行字的记事本,而是一套带待办、清单、涂鸦、思维导图、标签体系…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉