首页 > 编程语言 >java-2023-11-30

java-2023-11-30

时间:2023-11-30 21:33:27浏览次数:43  
标签:11 操作数 java 运算 int 30 num 231

1、java中char类型由于使用Unicode编码所以是占两个字节而并不像C中是占一个字节。

2、java中不使用0或非0值来代表假或真而是直接使用false或true。

3、java中float和double由于精度不同不能进行比较,否则存在两值明显不等但输出的比较结果却为true的风险。

4、如果运算结果可能超过int取值范围±21亿时应当在运算结果末尾加L转为更大范围的long类型。

5、windows的cmd中编译.java文件提示的错误内容出现汉字乱码时需要将.java文件转为ANSI编码(譬如notepad++就有)。

6、左右操作数都为整型然后进行整除运算,譬如31/3,其运算结果为10,假设不使用int而使用double类型对其运算结果进行保存,即double result=31/3,result最后输出实际为10.0,而并不能得到输出10.3...,为得到此结果,需要改为double result=31.0/3。

7、左右操作数中有一个为负数,取余运算的结果的负号跟随左操作数,譬如-10/3=1,但是10/(-3)=1。

8、如果char b='3',执行(b+4)并不能得到"34",而是得到55(因为字符'3'对应的十进制为51,详见附录1),虽然使用了+连接符,但是它是针对字符串的,所以需要改进为(""+b+4)并执行就能输出得到"34"。

9、正常情况下分母是不允许为0的,所以表达式写成3/0会报错,但是线与&&的特性是只要左操作数为false就不再进行后续判断了(即不继续右操作数的判断,类似还有线或||,不过||则是当左操作数为true便不再继续后面判断了),所以这时写成(6<5)&&((4>3)/0),也就不引发错误了。

10、byte的范围(-27)~(27-1)进行分段理解即(-128~-1、0、1~127)。

11、与&、或|各自含有两层含义,既代表逻辑运算符又代表位运算符(也就是一对二的关系),当左右操作数为逻辑表达式时取义为逻辑运算符,当左右操作数为数值时取义为位运算符,但是逻辑非为!,位运算非为~。

12、计算一个活了100岁的人的总心跳数(假设一分钟跳75下),定义成了int num=75*60*24*365*100,由于int取值范围为±21亿,大概估算就知道num已经超出范围,如果不做任何修改直接打印num,超出取值范围后输出一般为负数,如果改为long num=75*60*24*365*100,是不是就能正确输出了呢?结果并不是,还是输出负数,因为在运算75*60*24*365*100时参与运算的每个数值最大不超过int,而此时又没有额外人为指定数据类型所以默认使用int承接最后的运算结果,等运算结果出来才赋给的num,赋值已经是第二步(应该可以代为理解成int*int*int*int*int在先,赋值在后【但是注意不能认为是int开5次方,因为平常运算一个普通算式,假设y=3*4,也没有人强调说过y的范围不是-231~(231-1)了而变成了[-231~(231-1)]*[-231~(231-1)]】),此情况和前述第6点类似。

附录1:ASCII码表,来自http://www.xuandaima.com/HTML/201.html,如下图。

             

 

标签:11,操作数,java,运算,int,30,num,231
From: https://www.cnblogs.com/weizhunie/p/17773667.html

相关文章

  • 2023.11.30 练习
    CF1887C首先容易想到区间加需转化为差分,字典序的比较呢就考虑二分哈希。二分第一个不一样的位置,这个位置也一定是差分数组第一个不一样的。把哈希如果放到线段树上,那么在线段树上二分即可。我们依次处理修改的时候,顺便处理当前的最小的字典序。我们这里如果采用主席树,那么会......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记12
    20211306密码系统设计与实现课程学习笔记12任务详情自学教材第14章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个......
  • Java面试小练(五)
    1).请描述一下Maven中坐标的组成部分?以及在Maven项目添加一个依赖之后,依赖在仓库中的查找顺序。坐标是用于描述仓库中资源的位置其主要组成groupld:定义当前Maven项目隶属组织名称artifactld:定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)version:定义当前项自版......
  • Java函数式接口再理解
    Java函数式接口再理解前言这篇文章主要是我个人对函数式接口的再理解,若有理解偏差或考虑不周的地方,欢迎批评指出,共同进步!这里做下记录,以便日后遗忘查阅;目录目录Java函数式接口再理解前言目录一、什么是函数式接口①概述②一个标准的函数式接口③举例感受函数式接口的作......
  • java接入百度翻译接口简单实现中译英
    1.去官网开通标准版https://api.fanyi.baidu.com/access/0/1百度翻译开放平台(baidu.com)开通成功后,点击立即使用后的页面是这样子的  将APPID和密钥复制下来,待会连接需要使用到  2.下载java包百度翻译开放平台(baidu.com) 下载后,复制粘贴到自己的项目中......
  • 在eclipse中拖动项目到Tomcat服务器中报错:Project facet Java version 16 is not supp
    ......
  • java使用hive-jdbc查询超时:java.sql.SQLException: org.apache.thrift.transport.TTra
     java.sql.SQLException:org.apache.thrift.transport.TTransportException:java.net.SocketTimeoutException:Readtimedout  atorg.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:262)  atorg.apache.hive.jdbc.HivePreparedStatement.execute(......
  • Java常用库介绍
    ApacheCommons与Guava 参考资料:开源工具导航——ApacheCommons与Guava全览https://blog.csdn.net/qq_35946969/article/details/123418026Java开源工具库使用之Apachecommons-lang3https://blog.csdn.net/qq_23091073/article/details/126743040 ......
  • 11.30每日总结
    实验一:百度机器翻译SDK实验一、实验要求 任务一:下载配置百度翻译Java相关库及环境(占10%)。 任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。 任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。......
  • ARC118
    ARC118第一次做arc场,被爆杀QAQARC118AlinkARC118A题意ARC国家的消费税率是\(t\)。其中\(t\)是正整数。ARC国家有整数屋。整数屋先生以不含税价格\(A\)日元处理着各个正整数\(A\),这个含税价格是\(\lfloor\frac{100+t}{100}A\rfloor\)日元。但是,对于实数\(x\),\(......