第一篇java代码

张开发
2026/4/13 16:09:59 15 分钟阅读

分享文章

第一篇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的第一步。

更多文章