精华内容
下载资源
问答
  • 2021-02-12 21:40:34

    Java中存在多个基本数据类型,如:int、float、double、short等。在实际应用中,我们有可能需要获取这些类型的字节数,获取数据类型的字节数可以通过直接写的方式,因为java中基本数据类型的长度是固定的。这里介绍另一种方式。

    我们可以使用基本类型的封装类型的SIZE常量,该常量用来以二进制补码形式表示基本数据类型值的比特位数。package com.bug315;

    public class IntTest {

    public static void main(String[] args) {

    int intSize = Integer.SIZE;

    System.out.println("    int size: " + (intSize/8) + "Byte" );

    int shortSize = Short.SIZE;

    System.out.println("  short size: " + (shortSize/8) + "Byte" );

    int longSize = Long.SIZE;

    System.out.println("   long size: " + (longSize/8) + "Byte" );

    int byteSize = Byte.SIZE;

    System.out.println("   byte size: " + (byteSize/8) + "Byte" );

    int floatSize = Float.SIZE;

    System.out.println("  float size: " &

    更多相关内容
  • java 获取int类型数据长度的方法?

    千次阅读 2021-02-12 21:40:36
    展开全部可以使用以下三种方法e69da5e6ba...该参数可以是基本数据类型,字符串(String),等等。 这个方法是一个静态方法。该方法可以采取两个参数,其中一个是String,另一个是基数。使用语句:int ...

    展开全部

    可以使用以下三种方法e69da5e6ba903231313335323631343130323136353331333366306466:

    一、基于对数的解决方案:

    valueOf 方法返回的相关Number对象持有传递的参数的值。

    该参数可以是基本数据类型,字符串(String),等等。  这个方法是一个静态方法。该方法可以采取两个参数,其中一个是String,另一个是基数。

    使用语句:int numberOfDigits = String.valueOf(n).length();。

    二、使用对数方法:

    java.lang.StrictMath.log10() 方法返回以10为底的对数的double值。

    它包括了一些情况: 如果参数为NaN或小于零,那么结果为NaN。 如果参数为正无穷大,那么结果为正无穷大。 如果参数为正零或负零,那么结果是负无穷大。 如果参数等于10N的整数n,那么结果是n。

    使用语句:int nDigits = floor(log10(abs(the_integer))) + 1;需要使用inclue math.h库。

    三、判断数据的大小:

    整数类型,任意一个数字<10就是一位数,实现代码如下:

    29c3973f17119f7556fb00ecdefebba3.png

    参考资料:

    展开全文
  • 题目: 最大连续1的个数给定一个二进制数组, 计算其中最大连续1的个数,这是一道力扣的练习题import java.util.Scanner;class test{public static void main(String[] args) {//自定义数组的长度Scanner sc=new ...

    题目: 最大连续1的个数

    给定一个二进制数组, 计算其中最大连续1的个数,这是一道力扣的练习题

    import java.util.Scanner;

    class test

    {

    public static void main(String[] args) {

    //自定义数组的长度

    Scanner sc=new Scanner(System.in);

    int n=sc.nextInt();

    int []arr=new int[n];

    int m=0;

    int max=0;

    //使用for循环对数组连续赋值

    for(int i=0;i

    {

    arr[i]=sc.nextInt();

    }

    for(int k=0;k

    {

    if(arr[k]==1)

    {

    //m++表示连续出现的1的长度

    m++;

    }

    else{

    max= Math.max(max,m);

    //清空m的计数

    m=0;

    }

    }

    System.out.println("最大长度"+max);

    }

    }

    c2e0e2a5e0711fa78a967412f142d551.png

    一开始也不会做,想的太复杂了,然后问了问朋友。

    大家一起进步!

    本文地址:https://blog.csdn.net/qq_41733238/article/details/107580928

    希望与广大网友互动??

    点此进行留言吧!

    展开全文
  • 1. 概述Java语言内置了八种基本数据类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。其中int 数据类型是++32位++、++有符号++的以++二进制补码++表示的整数最小值是 -2,147,483,648(-2^...

    1. 概述

    Java语言内置了八种基本数据类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

    其中int 数据类型是++32位++、++有符号++的以++二进制补码++表示的整数

    最小值是 -2,147,483,648(-2^31); 最大值是 2,147,483,647(2^31 - 1); 一般的整型变量默认为 int 类型; int的默认值是 0

    public class Test {

    public static void main(String[] args) {

    System.out.println("二进制长度:" + Integer.SIZE);

    System.out.println("最小值Integer.MIN_VALUE = " + Integer.MIN_VALUE);

    System.out.println("最大值Integer.MAX_VALUE = " + Integer.MAX_VALUE);

    }//欢迎加入Java开发交流君样:909038429

    }

    输出结果:

    二进制长度:32

    最小值Integer.MIN_VALUE = -2147483648

    最大值Integer.MAX_VALUE = 2147483647

    2. 补码

    Java里的int是有符号的,二进制系统是通过补码来保存数据的,最高位为1的数字用来表示负数,而最高位为0的数字表示非负数。

    正数补码等于原码,负数的补码等于其绝对值的反码+1。例如:-1的补码就是绝对值1的反码(按位取反) 再+1。计算方式如下:

    0000 0000 0000 0000 0000 0000 0000 0001 => 1的二进制

    1111 1111 1111 1111 1111 1111 1111 1110 => 1的反码

    + 0000 0000 0000 0000 0000 0000 0000 0001

    -----------------------------------------

    1111 1111 1111 1111 1111 1111 1111 1111 => -1的补码

    常见整数对应的补码:

    1000 0000 0000 0000 0000 0000 0000 0000 => -2147483648

    1111 1111 1111 1111 1111 1111 1111 1111 => -1

    0000 0000 0000 0000 0000 0000 0000 0000 => 0

    0000 0000 0000 0000 0000 0000 0000 0001 => 1

    0111 1111 1111 1111 1111 1111 1111 1111 => 2147483647

    例:获取整数二进制

    public class Test {

    public static void main(String[] args) {

    int[] arrayInt = new int[] {Integer.MAX_VALUE, 0, 1, -1, Integer.MIN_VALUE};

    for (int x : arrayInt) {

    String binaryString = Integer.toBinaryString(x);

    int length = Integer.SIZE;

    while(binaryString.length() < length){

    // 在不足的位数前加“0”

    binaryString = "0" + binaryString;

    }

    // 为了方便查看,每4位插入分割符

    int m = binaryString.length()/4 - 1;

    StringBuffer stringBuffer = new StringBuffer(binaryString);

    for (int i = m; i > 0; i--) {

    int j = 4 * i;

    stringBuffer.insert(j,' ');

    }

    System.out.printf("%,14d", x);

    System.out.print(" 对应的二进制为:");

    System.out.printf("%s%n", stringBuffer.toString());

    }//欢迎加入Java开发交流君样:909038429

    }

    }

    输出结果:

    2,147,483,647 对应的二进制为:0111 1111 1111 1111 1111 1111 1111 1111

    0 对应的二进制为:0000 0000 0000 0000 0000 0000 0000 0000

    1 对应的二进制为:0000 0000 0000 0000 0000 0000 0000 0001

    -1 对应的二进制为:1111 1111 1111 1111 1111 1111 1111 1111

    -2,147,483,648 对应的二进制为:1000 0000 0000 0000 0000 0000 0000 0000

    3. 数据溢出

    首先,基本的数据类型(long,int,short,byte,char,float,double)都有自己能够保存的数据范围。

    数据溢出:

    public class MyDemo{

    public static void main(String args []){

    int a = Integer.MAX_VALUE;//定义一个int型变量a的值为int型能够保存的最高值

    System.out.println(a + 1);

    int b = Integer.MIN_VALUE;//定义一个int型变量a的值为int型能够保存的最小值

    System.out.println(b - 1);

    }

    }

    输出结果:

    -2147483648

    2147483647

    下面解释出现这种情况的原因:

    0111 1111 1111 1111 1111 1111 1111 1111 => 2147483647的补码

    + 0000 0000 0000 0000 0000 0000 0000 0001

    -----------------------------------------

    1000 0000 0000 0000 0000 0000 0000 0000 => -2147483648的补码

    最轻微的上溢是 INT_MAX + 1 :结果是 INT_MIN。 最严重的上溢是 INT_MAX + INT_MAX :结果是 -2。 最轻微的下溢是 INT_MIN - 1 :结果是 INT_MAX。 最严重的下溢是 INT_MIN + INT_MIN :结果是 0。 最大值加1时,反而变成范围的最小值,加2变成范围的次小值,这种情况可以想象出一个循环。

    数据溢出的解决办法:

    我们已经知道,在整型中,能够保存的数值范围最大的是long型;在浮点型中,能够保存的数值范围最大的是double型。所以在遇到数据溢出问题时,我们可以先把能够保存的数值范围小的类型转换为范围大的类型,再进行运算。

    例:

    public class Test{

    public static void main(String args []){

    //定义一个int型的最大值

    int x = Integer.MAX_VALUE;

    System.out.println((long)x+2);

    }

    }

    展开全文
  • java int类型能表示的数值范围

    千次阅读 2021-06-10 22:19:26
    byte 1字节 char 2字节 int 4字节 float 4字节 long 8字节 double 8字节 1字节=8
  • 展开全部 String.split()字符串分割的参数是正则表达式,... // 15.0 的情况特殊处理,小数长度设为0 // int decimalLen = nums[1].length(); // 小数不特殊处理 return intLen + "." + decimalLen; } }
  • Java整数类型长度及取值范围

    千次阅读 2019-12-11 18:12:00
    int类型长度占32位,即4个字节(1字(word)=2字节(byte)=16位(bit)),取值范围为:-(2的31次方)到(2的31次方)-1,即-2147483648~2147483647 测试如下: 我们知道,计算机是采用二进制来存储数据的,intl类型的...
  • 随机产生几个int类型的数字,可以用来做上课随机点名的方法。 package array; //随机输出几个数,并且这些数是不重复的。 import java.util.Random; public class RandomTest { public static void main(String[] ...
  • //一维数组长度 int[] arr = new arr[3]; int arrLength = arr.length; //二维数组的行数 int[][] arrs = new arrs[3][3]; int arrsLength = arrs.length; //二维数组中某一个一维数组的长度 int arrsLength1 = ...
  • java使用注解校验对象属性值数据长度定义注解import java.lang.annotation.*;/*** describe:定义注解* current user Maochao.zhu* current system 2020/11/27*/@Target({ ElementType.FIELD, ElementType.TYPE })@...
  • JAVA int 类整数的最大值是 2 的 31 次方 - 1 = Integer.MAX_VALUE 上次写算法的时候遇到一个求中间值的,我开始写的是 int index = (start + end) / 2; 没想到报错了,排查了一下才发现,start + end 的值超出了 ...
  • JAVA怎样获取数组长度

    千次阅读 2021-02-12 09:14:49
    展开全部public class Test {public static void main(Sring[] args) {int[] ary = {1,3,5,7,8} ; //数组中装了5个元素String str = "helloword!"; //字符32313133353236313431303231363533e59b9ee7ad...
  • JAVA int类型 获取高低位

    千次阅读 2019-05-24 17:20:12
    去年笔者和一个硬件厂商调试打印机的...首先,int类型java中是4个字节,每个字节8位,即int是32位的数据类型int的高位为前三个字节,低位为最后一个字节(为什么这样组装笔者查了一些资料,理解的还不是很透彻...
  • java--获取数组的长度

    千次阅读 2022-03-25 08:51:44
    int array[] = new int[3]; 数组的长度:array.length 2,二维数组 二维数组int array[][] = new int[3][3]; 行长度:array.length 列长度:array[i].length class Test{ for(int i = 0; i < array.length; i++...
  • 获取int整数的位数 String.valueOf(n).length() public static int[] getIntNum(int n){ int temp=n; int mod=10; int[] nums=new int[String.valueOf(n).length()]; for (int i = 0; i < nums.length; i...
  • 关于数据类型的字节长度问题,根据编程语言以及编程系统环境等是有差异的,今天自己在32位win7系统下测试了下java的基本数据字节长度测试代码:System.out.println("byte 的2进制码位数:"+Byte.SIZE);System.out....
  • 发现在很多能根据MySQL数据库表结构自动生成 bean,mapper,service,controller的开发框架中,如果字段的数据类型int,一般都是对应于java类型中的Long类型,这是为何? 下图展示MySQL中int分别为有符号及无符号...
  • Java获取List长度

    千次阅读 2022-03-21 18:14:00
    java中length属性是对于数组来说的,当用到数组长度时,则用到length; java中length()是对于String来说的,如果想看字符串的长度,则用length()方法; java中size()方法是对于泛型集合来说的,如果想知道泛型有...
  • Integer长度 Integer长度: 2147483647 public static void main(String...int 和 long 的和是什么类型? public static void main(String[] args) { int i=1; long j=0L; Object o = (Object) (i+j); System..
  • javaint类型的 sort排序原理

    千次阅读 2019-06-03 10:29:53
    快速排序主要是对那些基本类型数据(int,short,long等)排序, 而归并排序用于对Object类型进行排序。 使用不同类型的排序算法主要是由于快速排序是不稳定的,而归并排序是稳定的。这里的稳...
  • java-JSON数组获取长度

    千次阅读 2021-03-08 15:41:52
    我无法获取JSON数组的数组长度.当我使用length();方法不起作用,在Netbeans中显示为红色下划线这是源代码try {JSONObject myjson = JSONObject.fromObject(practiceInfoByUsername);//JSONArray nameArray = myjson....
  • Java数组长度获取、遍历及最值

    千次阅读 2020-11-22 18:30:02
    1.如何获取数组的长度, 格式:数组名称.Length 这将会得到一个int数字,代表数组的长度。 数组一旦创建,程序运行期间,长度不可改变。 public class ArrayLength { public static void main(String[] args) { int...
  • java String类型数据的字节长度

    千次阅读 2021-03-04 09:49:24
    utf-8以三个字节存储中文gbk以二个字节存储中文/*** 字节(UTF-8)长度计算** @param s* 所需计算字节* @return 字节长度* @throws UnsupportedEncodingException* 不支持编码异常*/public static int getUTF8Bytes...
  • Java获取字符串长度

    万次阅读 2019-08-14 16:02:49
    由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。为了获得10,需要从头扫描根据字符的...
  • String类型用length() Strring[],char[],int[]等都用length
  • 本文讲述了Java数据类型与MySql数据类型对照表。分享给大家供大家参考,具体如下: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 368,579
精华内容 147,431
关键字:

java获取int类型的长度

java 订阅