Java变量类型有哪些?_第2页回答

2021-07-06 18:56发布

21条回答
猫的想法不敢猜
2楼 · 2021-08-01 17:21

有三种变量,局部,成员,静态

IT学习助手 - qq:2676427015
3楼 · 2021-08-05 14:13

成员变量:就是声明为类的属性的变量。
静态变量(也叫做类变量):就是声明为静态属性的变量。
局部变量:就是方法里面声明的变量。
volatile变量:和多线程相关,用于简化同步的变量
transient变量:用于使该变量不会被持久化
final变量:基本上就是常量
还有
8中 基本变量
整型变量:byte, short, int, long
实型变量:float, double
字符变量 char
布尔型变量 boolean

yjh
4楼 · 2021-08-13 10:25

Java的变量类型有三种:

成员变量,静态变量和局部变量。


zgzbs
5楼 · 2021-08-13 11:22

变量看你怎么理解了.根据数据类型类分
可以有byte,char,short,int,long,float,double,boolean等几种数据类型变量
根据其所处的范围可以有,全局变量和局部变量,成员变量等等,相对常量来说,其他都是是变量了

我的网名不再改
6楼 · 2021-08-17 10:13

学习java首先就要了解java变量类型有哪些,这是必学的一点,现在小编总结了一些重要知识点,希望能对大家有所用处。


java的数据类型相关知识点?


总结就是八个字:


数据二型,四类八种;


java基本数据类型:


1.逻辑类:boolean


布尔类型,它比较特殊,布尔类型只允许存储true(真)或者false(假),不可以用0或者非0表示


可以使用 1 bit 来存储,但是具体大小没有明确规定。JVM会在编译时期将 boolean 类型的数据转


换为 int,使用 1 来表示 true,0 表示 false。JVM支持 boolean 数组,但是是通过读写 byte数


组来实现的。


2.文本类:char


字符类型,它在内存中占用2个字节,也就是16 bit,因为java本身的字符集不是用ASCII码来存储的,


而是用的16位的Unicode字符集,所以它的字符存储范围也就是'u0000 -- uffff',默认值呢?就是'u0000'


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次方)


数据类型转换(boolean不参与数据类型的转换):char(16 bit) |


byte(1 bit) - > short(16 bit) - > int(32 bit) - > long(64 bit) |


|


float(32 bit) double(64 bit)


根据类型所占内存大小,小可转大,大转小会失去精度


引用数据类型:


基本类型和引用类型的关系:


基本类型 二进制位数 包装器类(引用类型)boolean 1 Boolean


byte 8 Byte


char 16 Character


short 16 Short


int 32 Integer


long 64 Long


float 32 Float


double 64 Double


对于取值范围,在对应的包装器类中有常量已经声明:基本类型byte 二进制位数:Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE


基本类型short二进制位数:Short.SIZE最小值:Short.MIN_VALUE最大值:Short.MAX_VALUE


基本类型char二进制位数:Character.SIZE最小值:Character.MIN_VALUE最大值:Character.MAX_VALUE


基本类型double 二进制位数:Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE


两者异同:


1.Java基本类型存储在栈中,因此它们的存取速度要快于存储在堆中的对应包装类的实例对象。从Java1.5开始,


JVM就可以完成基本类型和它们对应包装类之间的自动转换。因此我们在赋值、参数传递以及数学运算的时候


就可以像使用基本类型一样使用它们的包装类,但这并不意味着你可以通过基本类型调用它们的包装类才具有


的方法。另外,所有基本类型的包装类都使用了final修饰,因此我们无法继承它们扩展新的类


也无法重写它们的任何方法。而引用数据类型是存储在堆中的.


2.基本类型的优势:数据存储相对简单,运算效率比较高


3.包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想


4.声明方式不同,基本类型不适用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;


5.存储方式及位置不同,基本类型是直接将变量值存储在堆栈中,而包装类型是将对象放在堆中,然后通过引用来使用;


6.初始值不同,基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null


7.使用方式不同,基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。


13632019670
7楼 · 2021-08-20 17:13

image.png

看图

隔壁街道小胖子
8楼 · 2021-08-21 17:25

Java是一门强类型的编程语言,它对变量的数据类型有严格的限定。在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错。在Java中变量的数据类型分为两种,即基本数据类型和引用数据类型。Java中所有数据类型如图。

 

java变量数据类型

其中,8种基本数据类型是Java语言内嵌的,在任何操作系统中都具有相同大属性,而引用数据类型是在Jawa程序中由编程人员自己定义的变量类型。下面我们介绍java中的基本数据类型变量。


1、整数类型变量

整数类型变量用来存储整数数值,即没有小数部分的值。在Java中,为了给不同大小范围内的整数合理地分配存储空间,整数类型分为4种不同的类型:字节型(byte)、短整型(short),整型(int)和长整型(long),4种类型所占存储空间的大小以及取值范围如下图所示。

1562050605782_java整数类型.jpg

 

上图中列出了4种整数类型变量所占的空间大小和取值范围。其中,占用空间指的是不同类型的变量分别占用的内存大小,如一个int类型的变量会占用4个字节大小的内存空间。取值范围是变量存储的值不能超出的范围,如一个byte类型的变量存储的值必须是-27~27-1之间的整数。

在为一个long类型的变量赋值时需要注意一点,所赋值的后面要加上一个字母L(或小写1),说明赋值为long类型。如果赋的值未超出int型的取值范围,则可以省略字母L(或小写1)。具体示例如下:

 

long num=2200000000L; //所赋的值超出了int型的取值范围,后面必须加上字母L

long num=198L;      //所赋的值未超出int型的取值范围,后面可以加上字母L

long num=198;      //所赋的值未超出int型的取值范围,后面可以省略字母 L 

 


 

2、浮点数类型变量

浮点数类型变量用来存储小数数值。在Java中,浮点数类型分为两种:单精度浮点数( float)和双精度浮点数( double)。 double型所表示的浮点数比 float型更精确,两种浮点数所占存储空间的大小以及取值范围如下图所示。

 

 

java浮点数类型变量

上图中,列出了两种浮点数类型变量所占的空间大小和取值范围,在取值范围中,E表示以10为底的指数,E后面的+号和-号代表正指数和负指数,例如1.4E-45表示1.4*10-45。

 

在Java中,一个小数会被默认为 double类型的值,因此在为一个float类型的变量赋值时需要注意一点,所赋值的后面一定要加上字母F(或者小写f),而为 double类型的变量赋值时,可以在所赋值的后面加上字符D(或小写d),也可以不加。具体示例如下:

 

float f=123.4f;  //为一个float类型的变量赋值,后面必须加上字母f  

double d1=100.1; //为一个doub1e类型的变量赋值,后面可以省略字母d 

double d2=199.3d; //为一个doub1e类型的变量赋值,后面可以加上字母d

 

 

3.字符类型变量

字符类型变量用于存储个单一字符,在java中用char表示。Java中每个char类型的字符变量都会占用2个字节。在给char类型的变量赋值时,需要用一对英文半角格式的单引’’号把字符括起来,如’a’,也可以将char类型的变量赋值为0~65535范围内的整数,计算机会自动将这些整数转化为所对应的字符,如数值97对应的字符为’a’。下面的两行代码可以实现同样的效果

char c='a';  //为一个char类型的变量赋值字符a

char ch=97;  //为一个char类型的变量赋值整数97,相当于赋值字符a

 

 

4.布尔类型变量

布尔类型变量用来存储布尔值,在Java中用 boolean表示,该类型的变量只有两个值,即tue和 false。具体示例如下:

 

boolean flag=false;   //声明一个boo1ean类型的变量,初始值为false

flag=true;          //改变f1ag变量的值为true


是年糕麻麻啊
9楼 · 2021-08-23 14:55

局部、成员、静态变量

相关问题推荐

  • 回答 156

    对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去...

  • 回答 93

    2个都很好就业,更关键的是要学得到东西

  • 回答 12
    已采纳

    获取Map集合中所有的key可以通过map集合的keySet()方法获取例如:    Map map = new HashMap();    map.put(xx,xx); //存放数据    //.... 省略    Set set = map.keySet();    //可以通过迭代器进行测试    Iterator iter = set.iter...

  • 回答 56
    已采纳

    不同年龄,不同掌握程度,学历,找工作城市,面试能力这是一个多方面影响的结果,如果是平均值的话,全国平均薪资14k左右

  • 回答 38

    具体学多久,根据自己的学习力,自律性、解决问题能力来决定若系统性学习,跟着讲师的节奏走,大概半年左右,有专业的讲师把课程进行规划,尽心系统学习,有问题,讲师会帮忙解决,学习的效率很高,避免了自学中出现各种问题解决不了,而耽误很多时间,可能会...

  • 回答 23
    已采纳

    (1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...

  • BIO与NIO、AIO的区别2020-05-19 15:59
    回答 4
    已采纳

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要...

  • Java方法的命名规则2021-04-06 19:07
    回答 31

    ava是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、compan...

  • 回答 2

    public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    } ...

  • 回答 6

    经典版单例模式public class Singleton {        private static Singleton uniqueInstance;//利用一个静态常量来记录singleton类的唯一实例。     private Singleton() {     }     public static  Singleton getInstance()...

  • 回答 3

    哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发...

  • 回答 14

    1. DOM(Document Object Model)        DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才...

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 11

    基本执行过程如下:1)程序首先执行可能发生异常的try语句块。2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。4)catch语句块可以有多个,分别捕获不同类型...

  • 回答 20

    100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

没有解决我的问题,去提问