news 2026/6/23 15:39:46

第一篇java代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一篇java代码

第一篇java代码

初次接触java,令我印象最深的是# 我写的第一行 Java 代码,不只是 “Hello World”

大一新生,刚学 Java几周,尚无大的突破, 可我记得我第一次接触java代码时的思考。所以我将我最初的思考记录,并由此作为我java生涯的开端

public class test {
public static void main(String[] args) {
int a = 214748364734;
int b = 324890234089;
int c = a + b;
System.out.println(a + " + " + b + " = " + c);
}
}
我写下的第一串java代码,是计算两个数的值之和的最大范围,我在int a,b时随机敲下两个超长串数字,并定义a,b之和为c,我想看它到底可以承受多大的数字运算。在我点下运行键时,编译报错:整数太大!
我想,既然它无法支持12位数的加法计算,那么他的最大计算范围是多少,有没有一个准确的阈值?可以精确到一个确切的整数。
我在网上寻找合理解释:Java 中 int 是 32 位有符号整数,即:(1 位符号位 + 31 位数值位),由此可以考虑,最大值范围为2^31 - 1 = 2147483647,最小值的范围为 -2147483648。会看我的计算:12位数的运算已经远远超过了代码的计算范围,所以这里的结果是无法计算出来的。
那么不由得引发思考:假设将两个int的极限值相加,是否可以得出结果呢?于是我修改代码为:

public class test {
public static void main(String[] args) {
int a = 2147483647;
int b = 2147483647;
int c = a + b;
System.out.println©;
System.out.println(a + " + " + b + " = " + c);
}
}
得出结果为:-2。
显然:2147483647 + 2147483647 = 4294967294,这个结果 4294967294 已经超出了 int 的范围,可是没有出现报错的结果。
我查找资料,该计算由二进制完成,我结合自己思考做出如下结论:将两数换成二进制计算, 01111111 11111111 11111111 11111111+ 01111111 11111111 11111111 11111111= 11111111 11111111 11111111 11111110。除了最低位是 0,其他 31 位全是 1,全 1 的 32 位数 = 2^32 - 1 = 4294967295,但这里最低位是 0,所以少 1 → 4294967294,把 int 想象成一个圆盘(钟表),从 0 开始,正着加:0, 1, 2, …, 2147483647,再加 1,没有 2147483648,直接翻到 -2147483648,继续加:-2147483647, -2147483646, …一直加到 -2。
这是我第一次使用java时随手写的代码,当时没想那么多,只是很疑惑为什么计算不出答案,试着去解决问题。
这是一串很简单的代码,以后再看会觉得这次的思考很幼稚。关于两个int 相加最大值的解释有很多逻辑疏漏,但是这是我学习java的第一步。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 15:37:56

VS Code中Pylance无法识别LangChain模块的8种排查方案

1. 检查LangChain是否安装正确 遇到Pylance报错"无法解析导入"时,第一步要确认的就是LangChain是否已经正确安装。很多开发者容易犯的一个低级错误就是以为自己安装了某个库,实际上可能因为网络问题或权限问题导致安装并未成功。 我建议先用…

作者头像 李华
网站建设 2026/6/23 15:39:31

别再手动调焦了!用Python+OpenCV实现一个简单的自动对焦脚本(附代码)

PythonOpenCV实战:5种聚焦评价函数打造你的自动对焦系统 当你在拍摄微距照片时,是否经常遇到手动对焦反复调整却难以捕捉完美清晰度的困扰?传统手动对焦不仅效率低下,在显微摄影、工业检测等专业领域更难以满足精度要求。本文将带…

作者头像 李华
网站建设 2026/4/13 16:07:10

CYBER-VISION零号协议软件测试集成:自动化测试用例生成与执行

CYBER-VISION零号协议软件测试集成:自动化测试用例生成与执行 最近跟几个做测试的朋友聊天,大家普遍都在吐槽一件事:需求文档越写越厚,测试用例越写越多,但人手和时间却总是不够。尤其是碰到那种需求频繁变更的项目&a…

作者头像 李华
网站建设 2026/4/13 16:06:15

3步将手机变电脑第二屏幕:Deskreen开源工具完全指南

3步将手机变电脑第二屏幕:Deskreen开源工具完全指南 【免费下载链接】deskreen Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work! 项目地址: https://gitcode.com/gh_mirrors/de/deskre…

作者头像 李华