大家好,今天小编关注到一个比较有意思的话题,就是关于java语言怎么求最大值的问题,于是小编就整理了5个相关介绍Java语言怎么求最大值的解答,让我们一起看看吧。
long最大值?
9223372036854775807 记住long的最大值是一个以9开头的十九位的数!!!
int的最大值是2147483647,int的最大值是个以二开头的十位数!!
java 的long型整数的最大值:9223372036854775807,即19位十进制数
64位二进制数
16位16进制数
int64最大值?
如果是C/C++语言中,int就是机器位长;Java语言中,int就是固定的32位
C/C++在64位机中int的最大值就是2^63-1,最小值是-2^63
java无论在什么系统中最大值都是2^32-1,最小值都是-2^32,或者是Integer.MAX_VALUE与Integer.MIN_VALUE
找出如下数组中最大的元素和最小的元素(java)
public class A{
public static void main(String args[]){
int[][] a={{3,2,6},{6,8,2,10},{5},{12,3,23}};
int min=a[0][0],max=a[0][0];
for(int i=0;i<4;i++)
{
for(int j=0;j<a[i].length;j++)
{
if(a[i][j]>max)
max=a[i][j];
64位整数最大值?
如果是C/C++语言中,int就是机器位长;Java语言中,int就是固定的32位
C/C++在64位机中int的最大值就是2^63-1,最小值是-2^63
java无论在什么系统中最大值都是2^32-1,最小值都是-2^32,或者是Integer.MAX_VALUE与Integer.MIN_VALUE
Java数组有最大长度吗?
回答这个问题之前,我们先来看一下Java中数组是怎么定义的(以String类型为例):
第一种方式,String[] = new String[8]; 第二种方式 String[] = {"a","b","c"};
这两个方式有什么区别呢,第一种方式是定义的时候,只是在堆内存中分配了8个连续的内存地址,而每个一内存地址中对应的都是null。第二种方式,也是在堆内存中分配了连续的内存空间,但是每个内存地址中,都有指向了指定的值。不管是哪种方式,我们都可以知道数组的长度是一个非负的int类型的。如果按照int类型数据的取值范围的话,理论的最大值应该是2^31-1 = 2147483647。那么实际情况真的是这样的么?
为了,弄清楚这个问题,我们去查看一下jdk8 ArrayList的源码:
我们可以很清楚地看到,jdk8中ArrayList里面定义的数组最大长度是Integer.MAX_VALUE - 8 的,而且人家也解释了:有些虚拟机在数组中保留了一些头信息,我猜应该这就是为啥 减8的原因。另外人家说了,如果你尝试申请过大的数组的,可能会导致OutOfMemoryError 内存溢出 这种异常。
那么,到底最大的长度是多少呢?带着这个疑问,我做了以下的测试(本测试是基于jdk8,win7,64位系统的):
可以看出最大长度并不是像jdk8源码里面写的那样。既然是heep space 不足,我去查看了一下,运行是的参数-Xms128m -Xmx750m,也就是说最大堆内存是750M,按照这个内存去分配大小,依旧是这种问题。经过不断的测试,最终在我的机器上数值最大的长度是 524025852。这个还只是单类测试的,如果那种企业级应用的话,我猜数组的最大长度远远要比这个小。
以上就是我经过测试在我本机上的结果,对于不同的机器,不同的系统,这个数据可能不是固定的。如果大家有更好的答案或不同的见解,欢迎大家留言评论。如果对技术热爱的话,欢迎关注头条号:It界里一枚小学生。谢谢大家。
到此,以上就是小编对于java语言怎么求最大值的问题就介绍到这了,希望介绍关于java语言怎么求最大值的5点解答对大家有用。