第二十三天

今日学习内容

今天专注 Java 运算符学习。深入理解算术运算符,像  +  可做数值加法,也能拼接字符串(若有字符串参与); -  用于减法运算, *  是乘法、 /  是除法(整数相除会舍弃小数部分,如  5 / 2  结果为  2  ), %  取余(计算两数相除余数,正负号随被除数 )。

关系运算符方面, > 、 >= 、 < 、 <=  用于比较数值大小, ==  判断基本数据类型值是否相等(比较引用数据类型时,比较的是对象地址,要区分  equals  方法 ), !=  则是判断不等,这些运算符返回布尔值,支撑条件判断 。

逻辑运算符里, && (短路与,左边为  false  时右边不执行 )、 || (短路或,左边为  true  时右边不执行 )、 ! (逻辑非,取反 ),掌握它们在条件判断、循环控制里的应用,比如结合  if  语句构建复杂逻辑 。还有位运算符等,不过今天主要围绕基础常用运算符实操,写了几个小 Demo,用算术运算符做数值计算,搭配关系、逻辑运算符实现简单的成绩判断、数值比较逻辑 。

明日学习计划

计划用 Java 运算符开展稍复杂的程序练习,比如模拟一个简易计算器,支持加减乘除运算,还要处理除数为 0 的异常情况(结合后续异常知识预习,先用简单逻辑判断规避 )。同时,深入研究运算符优先级,整理不同运算符混合运算时的执行顺序表,通过编写包含多种运算符的表达式,验证优先级规则,避免因优先级不清导致代码逻辑错误 。另外,尝试将运算符和流程控制语句(如  for 、 while  循环 )结合,实现像遍历数组并根据元素值进行运算、判断等功能,强化知识融合运用 。

遇到的问题及解决

在使用  ==  比较字符串时,发现结果和预期不符,比如  String s1 = "abc"; String s2 = new String("abc"); , s1 == s2  返回  false  。查阅资料了解到,字符串字面量存储在字符串常量池, new String  会在堆内存新建对象, ==  比较引用数据类型是比地址,所以不等,而  equals  方法才是比较字符串内容。之后遇到字符串比较,就用  equals  方法替代  == ,解决了这类判断问题,也加深了对 Java 中字符串存储和比较的理解 。

posted @ 2025-08-01 15:38  yang…  阅读(7)  评论(0)    收藏  举报