2020-10-20 10:53发布
java数据类型分两种:
基本数据类型 :byte short int long float double char boolean
引用数据类型: 类类型 接口类型 数组
1、基本数据类型
boolean、byte、short、int、long、char、float、double
2、最大最小值
boolean blean = true; //true or false
byte maxByte = Byte.MAX_VALUE; //127
byte minByte = Byte.MIN_VALUE; //-128
short maxShort = Short.MAX_VALUE; //32767
short minShort = Short.MIN_VALUE; //-32768
int maxInt = Integer.MAX_VALUE; //2147483647
int minInt = Integer.MIN_VALUE; //-2147483648
long maxLong = Long.MAX_VALUE; //9223372036854775807
long minLong = Long.MIN_VALUE; //-9223372036854775808
//16位Unicode字符;可以储存任何字符;
char maxChar = Character.MAX_VALUE; //\uffff(即为65535)
char minChar = Character.MIN_VALUE; //\u0000(即为0)
//浮点数不能用来表示精确的值
//单精度、32位、符合IEEE 754标准的浮点数;
float maxFloat = Float.MAX_VALUE; //3.4028235E38
float minFloat = Float.MIN_VALUE; //1.4E-45
//双精度、64 位、符合IEEE 754标准的浮点数;
double maxDouble = Double.MAX_VALUE; //1.7976931348623157E308
double minDouble = Double.MIN_VALUE; //4.9E-324
一、基本数据类型:
1.逻辑类:boolean
布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示
2.文本类:char
字符类型,它在内存中占用2个字节,也就是16 bit,因为java本身的字符集不是用ASCII码来存储的,
3.整数类:
byte:可以说是java中最少的数据类型了,它在内存中占用1个字节,也就是8位(bit),值得范围是:-128~127,
也就是-2的7次方到2的7次方减一,默认值是0B.
short:短整型,它在内存中占用的是2个字节,16位,值得取值范围是-32768~32767,也就是-2的15次方到2的15次方减一,默认值也是0S.
int:整型,在内存中占4个字节,32位,值得取值范围是-2147483648~2147483647,也就是-2的31次方到2的31次方减一,默认值还是0
long:长整型,在内存中占8个字节,64位,值的取值范围是-2的63次方到2的63次方减一,默认值要注意了,因为是长整型,所以默认是虽说是0,但是准确的说是0L,必须要加上L来表示它是long类型,不加就成了int类型了.
4.浮点类:
不声明小数类型的情况下,默认为double
float :单精度浮点型, 在内存中占4个字节,32位,主要用来存储小数的,但是有限制,有效小数位只有6~7位,默认是0.0f ,取值范围是:3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示 乘以10的负45次方)
double:双精度浮点型,在内存中占8个字节,64位,也是用来存储小数的,默认是0.0,取值范围是1.797693e+308 到4.9000000e-324(e+308表示是乘以10的308次方,同样,e-324表示乘以10的负324次方)
二、引用数据类型包括:类、接口类型、数组类型、枚举类型、注解类型,字符串型。
第一种类型:整数类型,它包括long、int、short、byte这四种类型,依次所占据的位数为64、32、16、8位,这样这四种类型在有符号数的前提下可表示的数据范围如下所示。
我们使用程序进行验证,可以证实我们的结论。
我们使用程序进行验证,可以证实我们的结论。其中使用到的Byte、Short、Integer与Long都是四种基本类型的封装类,这个我们后面再说。
接下来介绍字符类型。字符类型用char表示,在内存中占用两个字节即16位,用于存储英文字母、标点符号等字符,每个字符用一对单引号''引起来。在计算机中用不同的0、1组合表示不同的字符,于是有不同的编码。为了保证不同编码之间的编码冲突,Java采用了Unicode编码,它为每一个字符确定了一个唯一的编码。
这样,从某种意义上讲,char字符也是一种特殊的整数类型。我们可以实现char与整数的自动转化。(在unicode中'a'用97表示)
接着介绍浮点类型float与双精度浮点类型double。float类型在内存中占据4个字节,表示范围大约在-3.4*10^38到3.4*10^38之间。double类型在内存中占据8个字节表示范围大约在-1.7*10^308到1.7*10^308之间。至于原因,涉及到浮点数在内存中表示,这里不再赘述,后面会详细解释。
默认的浮点数类型为double。因此若将一个浮点数直接赋值给一个float变量是错误的,必须在数组后加上f或F。
最后一种布尔类型boolean的变量值只有true与false两种,用于表示条件判断的真与假。这个类型可能有些抽象,我们会在后面的程序中经常遇到,读者可以认真体会。
java的基本数据类型有:
1、布尔型(duboolean)
取值范围:True 或 False
2、字节型(byte)
取值范围:0 - 255
3、短整型(short)
取值范围:-32,768 ~ 32767
4、整型(int)
取值范围:-2,147,483,648 ~ 2,147,483,647
5、长整型(long)
取值范围:-9223372036854775808~9223372036854775807
6、单精度浮点型(float)
负数范围:
-3.402823E38 ~ -1.401298E-45
正数范围:
1.401298E-45 ~ 3.402823E38
7、双精度浮点型(double)
-1.797,693,134,862,32E308 ~
-4.940,656,458,412,47E-324
4.940,656,458,412,47E-324 ~
1.797,693,134,862,32E308
8、字符型(char)
取值范围:'\u0000'~'\ufff'
100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...
1、相同点(1)都是表现层框架,都是基于MVC设计模型(2)底层都离不开 Servlet API(3)处理请求的机制都是一个核心控制器2、不同点(1)SpringMVC的入口是Servlet,而Struts2的入口是Filter(2)SpringMVC是基于方法设计的,而Struts2是基于类(3)SpringMV...
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结...
(1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...
获取Map集合中所有的key可以通过map集合的keySet()方法获取例如: Map map = new HashMap(); map.put(xx,xx); //存放数据 //.... 省略 Set set = map.keySet(); //可以通过迭代器进行测试 Iterator iter = set.iter...
Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。首先...
现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。分布式架构其实就是分布式系...
1、监控GC的状态使用各种JVM工具,查看当前日志,分析JVM参数的设置,分析堆内存快照和GC日志,根据实际的各区域的内存划分和GC的执行时间,判断是否需要进行优化2、分析结果、判断是否需要优化如果各项参数设置合理,系统没有超时的日志出现,GC频率也不高,...
从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 ...
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进 程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能 继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解 ...
MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以...
学vue应该要先学习javascript 的基础知识和用法。
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用...
是一个文件服务器,用来上传下载文件.它是一个分布式集群的.分2个角色调度和存储.上传时配置调度后上传.用的时候需要搭建.如果不会搭建想省事还可以选择阿里的oss .项目中应用还是比较多的因为一般项目都有文件上传和下载.选择目前就这2种方案.根据公司情况选...
使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。...
一、装箱和拆箱原始类型转换为对象类型就是装箱,反之就是拆箱。原始类型byte,short,char,int,long,float,double,boolean对应的封装类为Byte,Shor,Character,Integer,Long,Float,Double,Boolean.二、源码解读自动装箱时编译器调用valueOf将原始类型值转换成对...
最多设置5个标签!
java数据类型分两种:
基本数据类型 :byte short int long float double char boolean
引用数据类型: 类类型 接口类型 数组
1、基本数据类型
boolean、byte、short、int、long、char、float、double
2、最大最小值
boolean blean = true; //true or false
byte maxByte = Byte.MAX_VALUE; //127
byte minByte = Byte.MIN_VALUE; //-128
short maxShort = Short.MAX_VALUE; //32767
short minShort = Short.MIN_VALUE; //-32768
int maxInt = Integer.MAX_VALUE; //2147483647
int minInt = Integer.MIN_VALUE; //-2147483648
long maxLong = Long.MAX_VALUE; //9223372036854775807
long minLong = Long.MIN_VALUE; //-9223372036854775808
//16位Unicode字符;可以储存任何字符;
char maxChar = Character.MAX_VALUE; //\uffff(即为65535)
char minChar = Character.MIN_VALUE; //\u0000(即为0)
//浮点数不能用来表示精确的值
//单精度、32位、符合IEEE 754标准的浮点数;
float maxFloat = Float.MAX_VALUE; //3.4028235E38
float minFloat = Float.MIN_VALUE; //1.4E-45
//双精度、64 位、符合IEEE 754标准的浮点数;
double maxDouble = Double.MAX_VALUE; //1.7976931348623157E308
double minDouble = Double.MIN_VALUE; //4.9E-324
一、基本数据类型:
1.逻辑类:boolean
布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示
2.文本类:char
字符类型,它在内存中占用2个字节,也就是16 bit,因为java本身的字符集不是用ASCII码来存储的,
3.整数类:
byte:可以说是java中最少的数据类型了,它在内存中占用1个字节,也就是8位(bit),值得范围是:-128~127,
也就是-2的7次方到2的7次方减一,默认值是0B.
short:短整型,它在内存中占用的是2个字节,16位,值得取值范围是-32768~32767,也就是-2的15次方到2的15次方减一,默认值也是0S.
int:整型,在内存中占4个字节,32位,值得取值范围是-2147483648~2147483647,也就是-2的31次方到2的31次方减一,默认值还是0
long:长整型,在内存中占8个字节,64位,值的取值范围是-2的63次方到2的63次方减一,默认值要注意了,因为是长整型,所以默认是虽说是0,但是准确的说是0L,必须要加上L来表示它是long类型,不加就成了int类型了.
4.浮点类:
不声明小数类型的情况下,默认为double
float :单精度浮点型, 在内存中占4个字节,32位,主要用来存储小数的,但是有限制,有效小数位只有6~7位,默认是0.0f ,取值范围是:3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示 乘以10的负45次方)
double:双精度浮点型,在内存中占8个字节,64位,也是用来存储小数的,默认是0.0,取值范围是1.797693e+308 到4.9000000e-324(e+308表示是乘以10的308次方,同样,e-324表示乘以10的负324次方)
二、引用数据类型包括:类、接口类型、数组类型、枚举类型、注解类型,字符串型。
一、基本数据类型:
1.逻辑类:boolean
布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示
2.文本类:char
字符类型,它在内存中占用2个字节,也就是16 bit,因为java本身的字符集不是用ASCII码来存储的,
第一种类型:整数类型,它包括long、int、short、byte这四种类型,依次所占据的位数为64、32、16、8位,这样这四种类型在有符号数的前提下可表示的数据范围如下所示。
我们使用程序进行验证,可以证实我们的结论。
我们使用程序进行验证,可以证实我们的结论。其中使用到的Byte、Short、Integer与Long都是四种基本类型的封装类,这个我们后面再说。
接下来介绍字符类型。字符类型用char表示,在内存中占用两个字节即16位,用于存储英文字母、标点符号等字符,每个字符用一对单引号''引起来。在计算机中用不同的0、1组合表示不同的字符,于是有不同的编码。为了保证不同编码之间的编码冲突,Java采用了Unicode编码,它为每一个字符确定了一个唯一的编码。
这样,从某种意义上讲,char字符也是一种特殊的整数类型。我们可以实现char与整数的自动转化。(在unicode中'a'用97表示)
接着介绍浮点类型float与双精度浮点类型double。float类型在内存中占据4个字节,表示范围大约在-3.4*10^38到3.4*10^38之间。double类型在内存中占据8个字节表示范围大约在-1.7*10^308到1.7*10^308之间。至于原因,涉及到浮点数在内存中表示,这里不再赘述,后面会详细解释。
默认的浮点数类型为double。因此若将一个浮点数直接赋值给一个float变量是错误的,必须在数组后加上f或F。
最后一种布尔类型boolean的变量值只有true与false两种,用于表示条件判断的真与假。这个类型可能有些抽象,我们会在后面的程序中经常遇到,读者可以认真体会。
java的基本数据类型有:
1、布尔型(duboolean)
取值范围:True 或 False
2、字节型(byte)
取值范围:0 - 255
3、短整型(short)
取值范围:-32,768 ~ 32767
4、整型(int)
取值范围:-2,147,483,648 ~ 2,147,483,647
5、长整型(long)
取值范围:-9223372036854775808~9223372036854775807
6、单精度浮点型(float)
负数范围:
-3.402823E38 ~ -1.401298E-45
正数范围:
1.401298E-45 ~ 3.402823E38
7、双精度浮点型(double)
负数范围:
-1.797,693,134,862,32E308 ~
-4.940,656,458,412,47E-324
正数范围:
4.940,656,458,412,47E-324 ~
1.797,693,134,862,32E308
8、字符型(char)
取值范围:'\u0000'~'\ufff'
一、基本数据类型:
1.逻辑类:boolean
布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示
2.文本类:char
字符类型,它在内存中占用2个字节,也就是16 bit,因为java本身的字符集不是用ASCII码来存储的,
3.整数类:
byte:可以说是java中最少的数据类型了,它在内存中占用1个字节,也就是8位(bit),值得范围是:-128~127,
也就是-2的7次方到2的7次方减一,默认值是0B.
short:短整型,它在内存中占用的是2个字节,16位,值得取值范围是-32768~32767,也就是-2的15次方到2的15次方减一,默认值也是0S.
int:整型,在内存中占4个字节,32位,值得取值范围是-2147483648~2147483647,也就是-2的31次方到2的31次方减一,默认值还是0
long:长整型,在内存中占8个字节,64位,值的取值范围是-2的63次方到2的63次方减一,默认值要注意了,因为是长整型,所以默认是虽说是0,但是准确的说是0L,必须要加上L来表示它是long类型,不加就成了int类型了.
4.浮点类:
不声明小数类型的情况下,默认为double
float :单精度浮点型, 在内存中占4个字节,32位,主要用来存储小数的,但是有限制,有效小数位只有6~7位,默认是0.0f ,取值范围是:3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示 乘以10的负45次方)
double:双精度浮点型,在内存中占8个字节,64位,也是用来存储小数的,默认是0.0,取值范围是1.797693e+308 到4.9000000e-324(e+308表示是乘以10的308次方,同样,e-324表示乘以10的负324次方)
第一种类型:整数类型,它包括long、int、short、byte这四种类型,依次所占据的位数为64、32、16、8位,这样这四种类型在有符号数的前提下可表示的数据范围如下所示。
我们使用程序进行验证,可以证实我们的结论。
我们使用程序进行验证,可以证实我们的结论。其中使用到的Byte、Short、Integer与Long都是四种基本类型的封装类,这个我们后面再说。
接下来介绍字符类型。字符类型用char表示,在内存中占用两个字节即16位,用于存储英文字母、标点符号等字符,每个字符用一对单引号''引起来。在计算机中用不同的0、1组合表示不同的字符,于是有不同的编码。为了保证不同编码之间的编码冲突,Java采用了Unicode编码,它为每一个字符确定了一个唯一的编码。
这样,从某种意义上讲,char字符也是一种特殊的整数类型。我们可以实现char与整数的自动转化。(在unicode中'a'用97表示)
接着介绍浮点类型float与双精度浮点类型double。float类型在内存中占据4个字节,表示范围大约在-3.4*10^38到3.4*10^38之间。double类型在内存中占据8个字节表示范围大约在-1.7*10^308到1.7*10^308之间。至于原因,涉及到浮点数在内存中表示,这里不再赘述,后面会详细解释。
默认的浮点数类型为double。因此若将一个浮点数直接赋值给一个float变量是错误的,必须在数组后加上f或F。
最后一种布尔类型boolean的变量值只有true与false两种,用于表示条件判断的真与假。这个类型可能有些抽象,我们会在后面的程序中经常遇到,读者可以认真体会。
相关问题推荐
100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...
1、相同点(1)都是表现层框架,都是基于MVC设计模型(2)底层都离不开 Servlet API(3)处理请求的机制都是一个核心控制器2、不同点(1)SpringMVC的入口是Servlet,而Struts2的入口是Filter(2)SpringMVC是基于方法设计的,而Struts2是基于类(3)SpringMV...
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结...
(1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...
获取Map集合中所有的key可以通过map集合的keySet()方法获取例如: Map map = new HashMap(); map.put(xx,xx); //存放数据 //.... 省略 Set set = map.keySet(); //可以通过迭代器进行测试 Iterator iter = set.iter...
Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。首先...
现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。分布式架构其实就是分布式系...
1、监控GC的状态使用各种JVM工具,查看当前日志,分析JVM参数的设置,分析堆内存快照和GC日志,根据实际的各区域的内存划分和GC的执行时间,判断是否需要进行优化2、分析结果、判断是否需要优化如果各项参数设置合理,系统没有超时的日志出现,GC频率也不高,...
从两个方面对ElasticSearch和Solr进行对比,从关系型数据库中的导入速度和模糊查询的速度。单机对比1. Solr 发布了4.0-alpha,试了一下,发现需要自己修改schema,好处是它自带一个data importer。在自己的计算机上测试了一下,导入的性能大概是:14分钟导入 ...
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进 程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能 继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解 ...
MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为,则可以...
学vue应该要先学习javascript 的基础知识和用法。
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用...
是一个文件服务器,用来上传下载文件.它是一个分布式集群的.分2个角色调度和存储.上传时配置调度后上传.用的时候需要搭建.如果不会搭建想省事还可以选择阿里的oss .项目中应用还是比较多的因为一般项目都有文件上传和下载.选择目前就这2种方案.根据公司情况选...
使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。实现方式:String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。...
一、装箱和拆箱原始类型转换为对象类型就是装箱,反之就是拆箱。原始类型byte,short,char,int,long,float,double,boolean对应的封装类为Byte,Shor,Character,Integer,Long,Float,Double,Boolean.二、源码解读自动装箱时编译器调用valueOf将原始类型值转换成对...