精华内容
下载资源
问答
  • java中引用数据类型有哪些?

    万次阅读 多人点赞 2016-07-18 09:45:37
    Java中有俩种数据类型,其中主要有8基本数据类型和引用数据类型,除了8基本数据类型以外都是引用数据类型,8基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:1、boolean:数据值...

    Java中有俩种数据类型,其中主要有8中基本数据类型和引用数据类型,除了8中基本数据类型以外都是引用数据类型,8中基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:
    1、boolean:数据值只有true或false,适用于逻辑计算。
    2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1, 
    3、byte:byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127。
    4、short:short型(短整型)数据在内存中占用2个字节。
    5、int:int型(整型)数据在内存中占用4个字节。
    6、long:long型(长整型)数据在内存中占用8个字节。
    7、float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位)
    8、double:double型(双精度浮点型)数据在内存中占用8个字节。
    下面说说java中引用数据类型:
    引用数据类型分3种:类,接口,数组;
    一、类Class引用 
    可以是我们创建的,这里我不多讲,主要是讲解几个java库中的类 
    Object :Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类 
                  如: 
                  Object object= new Integer(1); 来定义一个Interger类 
                   Integer i=(Integer) object;     在来把这个Object强制转换成Interger类 
    String :String类代表字符串,Java 程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。 
    Date :Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被Calendar 和GregorianCalendar所有代替 
    Void :Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。 
    同时也有对应的Class如:Integer  Long  Boolean  Byte  Character  Double  Float   Short 

    二、接口interface引用 

    可以是我们创建的,这里我不多讲,主要是讲解几个java库中的接口interface
    List<E>:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 (在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接口提供了两   种在列表的任意位置高效插入和移除多个元素的方法。 
    add() : 在列表的插入指定元素。 
    remove():移除列表中指定位置的元素。 
    get(int index):返回列表中指定位置的元素。
    Map<K,V>: 
    K - 此映射所维护的键的类型 
    V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 
    put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当,返回 true 时,才能说映射 m 包含键 k 的映射关系)。  remove(Object key)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此 映射包含从满足(key==null ? k==null :key.equals(k))的键 k 到值 v 的映射关系,则移除该映射关系。(该映射最多只能包含一个这样的映射关系.) get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
    这里我们主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等 

    三、数组引用

    数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。

    数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始

    数组的定义

    第一种方式:类型[] 数组名 int[] nums; 
    第二种方式:类型数组名[];  int nums[];
    大多数Java程序员喜欢使用第一种风格,因为它把数据类型int[],和变量名num分开了.
    数组的初始化
    Java中数组必先初始化后才能使用.
    初始化就是给数组元素分配内存,并为每个元素赋初始值。
    初始化数组的两种方式:

    静态初始化:
    语法格式:类型[] 数组名 = new 数组类型[]{元素1,元素2,元素3,...元素n};
    简化语法:类型[] 数组名 = {元素1,元素2,元素3...元素n};
    动态初始化:
    如果我们事先不知道数组里存储哪些数据,只知道需要存储数据的个数,此时可以使用动态初始化方式。
    动态初始化:初始化时由我们指定数组的长度,系统自动为数组元素分配初始值。
    格式:类型[] 数组名 = new 数组类型[数组长度];
    注意:无论,以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化。也就是说数组是定长的。

    为什么Java里有基本数据类型和引用数据类型?

    引用类型在堆里,基本类型在栈里。

    栈空间小且连续,往往会被放在缓存。引用类型cache miss率高且要多一次解引用。

    对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高

     

    展开全文
  • java中的五种引用数据类型(对象类型)

    万次阅读 多人点赞 2019-01-20 14:38:23
    Java有 5种引用类型(对象类型):类 接口 数组 枚举 标注 引用类型:底层结构和基本类型差别较大 JVM的内存空间: (1). Heap 堆空间:分配对象 new Student() (2). Stack 栈空间:临时变量 Student stu (3)...

    注意,不是JVM中的四种引用类型:强、软、弱、虚引用。
    详见我的另一篇文章《JVM中的四种引用类型》

    Java有 5种引用类型(对象类型):类 接口 数组 枚举 标注

    引用类型:底层结构和基本类型差别较大

    JVM的内存空间:
    (1). Heap 堆空间:分配对象 new Student()
    (2). Stack 栈空间:临时变量 Student stu
    (3).Code 代码区 :类的定义,静态资源 Student.class

    Student stu = new Student(); //new 在内存的堆空间创建对象
    stu.study();                   //把对象的地址赋给stu引用变量
    

    上例实现步骤:
    a.JVM加载Student.class 到Code区
    b.new Student()在堆空间分配空间并创建一个Student实例
    c.将此实例的地址赋值给引用stu, 栈空间

    基本数据类类型存的是数值本身,而引用类型变量在内存放的是数据的引用,并不是数据的本身,引用类型变量是以间接方式去获取数据。引用类型变量都属于对象类型,如:数组、类、字符串等都属于引用类型变量。所以,引用类型变量里面存放的是数据的地址。

    对于 引用变量的比较一般是有两个不同的方法
    1)比较两个变量是不是指向同一个对象,此时,需要比较 a b 中的地址是不是执行同一个值 ,因为此时比较的是 a b 中的地址值,要用 ==
    2)比较 a b 分别对应不同的对象,此时 a b 中的地址 一定是不同的了 ,此时比较的是对象的值 ,因此这里的比较只能用equals

    展开全文
  • Java引用数据类型

    千次阅读 2019-03-07 22:15:57
    我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。 数据类型 变量名 = new 数据...

    1.1Scanner类
    我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。
    引用数据类型的使用
    与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。
    数据类型 变量名 = new 数据类型();
    每种引用数据类型都有其功能,我们可以调用该类型实例的功能。
    变量名.方法名();
    Scanner类
    Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。
    Scanner使用步骤:
    导包:import java.util.Scanner;
    创建对象实例:Scanner sc = new Scanner(System.in);
    调用方法:
    int i = sc.nextInt(); 用来接收控制台录入的数字
    String s = sc.next(); 用来接收控制台录入的字符串
    了解完Scanner类,我们编写代码来使用下它:ScannerDemo01.java

    import java.util.Scanner;
    public class ScannerDemo01 {
    	public static void main(String[] args) {
    		//创建Scanner引用类型的变量
    		Scanner sc = new Scanner(System.in);
    		//获取数字
    		System.out.println("请输入一个数字");
    		int n = sc.nextInt();
    		System.out.println("n的值为" + n);
    		//获取字符串
    		System.out.println("请输入一个字符串");
    		String str = sc.next();
    		System.out.println("str的值为" + str);
    	}
    }
    

    运行结果如下图所示。
    在这里插入图片描述
    1.2随机数类Random
    我们来学习下,用来产生随机数的类Random,它也属于引用数据类型。
    这个Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式。
    方法简介
    public int nextInt(int maxValue) 产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;
    public double nextDouble() 产生[0,1)范围的随机小数,包含0.0,不包含1.0。

    引用数据类型的使用方式,在学习键盘录入Scanner时,我们已经学习过,在这里,再次回顾一下:
    

    Random使用方式:
    import导包:所属包java.util.Random
    创建实例格式:Random 变量名 = new Random();

    接下来,通过一段代码,一起学习下Random类的使用,RandomDemo.java

    在import java.util.Random;
    
    public class RandomDemo {
    	public static void main(String[] args) {
    		// 创建Random类的实例
    		Random r = new Random(); 
    		// 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量
    		int i = r.nextInt(100); 
    		//得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量
    		double d = r.nextDouble(); 
    		System.out.println(i); 
    		System.out.println(d); 
    	}
    }
    

    运行结果如下图所示:
    在这里插入图片描述

    展开全文
  • byte:Java中最小的数据类型,在内存占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在占32位,...

    一、基本数据类型:

    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0

    short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0

    int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0

    long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L

    float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

    double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0

    char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空

    boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

    二、Java数据类型基本概念

    数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

      基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

      引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

    三、Java中的数据类型与内存的关系

    在Java中,每个存放数据的变量都是有类型的,如:

    char ch; float x; int a,b,c; 

    ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也是不同的。

    所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。

    四、Java数据类型在内存中的存储

    1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;

    2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;

    区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念)

    基本类型和引用类型的内存模型本质上是不一样的。

    例1:我们分析一下”==“和equals()的区别。

    首先,我定以两个String对象

    Stringa="abc";

    Stringb="abc";

    然后

    if(a==b){

    System.out.println("a==b");

    }else{

    System.out.println("a!=b");}

    程序输出a!=b

    原因:a和b的地址是不相同的,a==b比较的是两个变量的地址

    例2:定义两个基本类型

    int a=4;

    int b=4;

    if(a==b){System.out.println("a==b");}

    else

    {System.out.println("a!=b");}

    输出:a==b

    原因:==比较的是两个变量的内容

    猜想:不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上

    五、Java基本类型取值范围计算

    从计算机组成原理的角度可以解释:

    byte在计算机中是占8个字节的,而且byte 是有符号整形,用二进制表示时候最高位为符号位 0代表正数 1代表负数。

    最大值:127      即2的7次方减去1;最小值:即2的7次前面加个负符号:-128 。(包含开始,不包含结尾);

    正数在计算机中是以原码形式存在的;

    负数在计算机中是以其补码形式存在的,就是负数的绝对值的原码转为二进制再按位取反后加1。

    下边这个10和-10为例来介绍的 :10原码:00001010   它在计算机中的存储就是 0000 1010,-10 按照前面说的算除其绝对值为10,转为二进制 0000 1010 按位取反 1111 0101 再加1后:1111 0110,此为-10补码,好的,计算机中的1111 0110就是代表-10了。

     我们来看 -128  绝对值128的二进制表示:1000 0000 按位取反 0111 1111 加1后:1000 0000,也就是说 -128在计算机中的表示就是 1000 0000 了,再来看一下-129 在计算机中的表示,绝对值129的范围已经超出了了byte的位数。所以要注意这类问题;

    六、java类型介绍

    1、概述:

    Java中的数据类型分为引用数据类型和基本数据类型。

       引用数据类型分3种:类,接口,数组;

       基本数据类型又分布尔类型和数值类型;

           布尔类型:boolean(逻辑型) trure or false默认是false;

           数值类型分定点类型和浮点类型;

               定点类型分整数类型和字符型;

    2、JAVA变量的默认初始化

    类型

    默认初始化值

    boolean

    false

    int

    0

    short

    0

    float

    0.0

    double

    0.0

    char

    \

    long

    0

    byte

    0

    object

    null

    3、类型详细讲解:

    1)整数类型:byte、short、int、long都是表示整数的,只不过他们的取值范围不一样。
    byte(字节类型) 一个byte 8位,取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)默认是0
    short(短整型) 一个short 16位,取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)默认是0
    int(整型)       一个int 32位,取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)默认是0
    long(长整型)  一个long 64位,取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)默认是0L或0l推荐用大写;
     

    可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。

    1.1)定点常量

    定点常量是整型常数,它可用十进制、八进制、十六种进制三种方式来表示。

    十进制定点常量:如123、-456、0。

    八进制定点常量:以0前导,形式为0dd...d。如0123表示十进制数83,-011表示十进制数-9。

    十六进制定点常量:以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。

    1.2)定点变量

    定点变量即整型变量,可细分成字节型变量、整型变量、短整型变量和长整型变量四种。

    对各种定点变量的开销内存字节数和数值范围作简要说明。

    需要注意的是,如果要将一定点常量赋值给一个定点变量,需要查验常量是否在该变量的表达范围内,如超出范围程序会编译出错。

    2)char型(字符型)

    Java中一个字符(char)表示Unicode字符集中的一个元素。

    Unicode字符由16位组成,因此,有(65535)个不同的字符可用,

    Unicode字符集包含所有不同语言的字符,以及数学、科学、文字中的常用符号,所以给了我们很大的灵活性。
    字符由单引号括起来的单个字符表达,通常用16进制表示,

    范围从’’到’?’(u告诉编译器你在用两个字节[16位]字符信息表示一个Unicode字符)。

    用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容,
    字符的存储范围在\~\?,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1。

    2.1)字符常量

    字符常量指用单引号括起来的单个字符,如‘a’,‘A’,请特别注意,字符的定界符是单引号,而非双引号。

    除了以上所述形式的字符常量值之外,Java还允许使用一种特殊形式的字符常量值,

    这通常用于表示难以用一般字符来表示的字符,这种特殊形式的字符是以一个“\”开头的字符序列,称为转义字符。

    Java中的常用转义字符见表

    2.2)字符变量

    以char定义的变量,如char c='a';

    要特别加以说明的是,Java的文本编码采用Unicode集,Java字符16位无符号型数据,一个字符变量在内存中占2个字节。

    注:char c = ' 1 ',我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);结果却变成了49,这是因为0是int型,进行了向上类型转换,结果是个int型。
           如果我们这样定义c看看,char c = ' \1 ';输出的结果仍然是1,这是因为字符'1'对应着unicode编码就是\1。

     

    3)浮点类型:分float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同。

    3.1)浮点常量

    即带小数点的实型数值,可以由直接带小数点的数值和科学计数法两种形式来表示:

    带小数点的数值形式:由数字和小数点组成,如0.123、.123、123.、123.0。

    科学计数法表示形式:由一般实数和e±n(E±n)组成,如12.3e3、5E-3,它们分别表示12.3乘以10的3次方,5乘以10的-3次方。需要注意的是,e或E之前必须有数字,且e或E后面的指数必须为整数。

    3.2)浮点变量

    浮点变量有单精度变量和双精度变量之分,不同的精度开销的内存字节数和表达的数值范围均有区别。两种浮点变量占内存字节数和数值范围

    浮点常量也有单精度和双精度之分,前面列出的常量均是双精度常量,如果要特别说明为单精度常量,可以数据末尾加上f或F作为后缀,如12.34f。如果要特别指明一个浮点常量是双精度常量,数据末尾不需要添加后缀,或者在数据末尾加上d或D作为后缀,如12.34d。

    float (单精度浮点型)一个float 32位,占用4个字节,例3.2F,默认是0.0f, 3.402823e+38 ~1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)。
    double (双精度浮点型)一个dobule 64位 占用8个字节,例3.2,默认是0.0, 1.797693e+308~4.9000000e-324 占用8个字节

    注:double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的。

    如果要表示一个数据是float型的,可以在数据后面加上“F”。 浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。

    相关介绍:

    在Java基本类型在使用字面量赋值的时候,有几个简单的特性如下:

    1】当整数类型的数据使用字面量赋值的时候,默认值为int类型,就是直接使用0或者其他数字的时候,值的类型为int类型,所以当使用 long a = 0这种赋值方式的时候,JVM内部存在数据转换。

    2】浮点类型的数据使用字面量赋值的时候,默认值为double类型,就是当字面两出现的时候,JVM会使用double类型的数据类型。

    3】从JDK 5.0开始,Java里面出现了自动拆箱解箱的操作,基于这点需要做一定的说明:

    对应原始的数据类型,每种数据类型都存在一个引用类型的封装类,分别为Boolean、Short、Float、Double、Byte、Int、 Long、Character,这些类型都是内置的封装类,这些封装类(Wrapper)提供了很直观的方法,针对封装类需要说明的是,每种封装类都有一个xxxValue()的方法,通过这种方法可以把它引用的对象里面的值转化成为基本变量的值,不仅仅如此,每个封装类都还存在一个valueOf(String)的方法直接把字符串对象转换为相应的简单类型。

     在JDK 5.0之前,没有存在自动拆解箱的操作,即Auto Box操作,所以在这之前是不能使用以下方式的赋值代码的:Integer a = 0;//这种赋值方式不能够在JDK 1.4以及以下的JDK编译器中通过,但是JDK 5.0出现了自动拆解箱的操作,所以在JDK 5.0以上的编译器中,以上的代码是可以通过的

     

    引用数据类型:

    数组

    String:字符串型,用于存储一串字符

    Java变量声明及使用:

    数据类型变量名 =值、表达式;

    例:String name = "柯南";

        int a= 50;

    注:“=”并不是数学中的“等号”,而是一个赋值运算符

    Java变量命名规则:

    1:必须以字母、下划线“_”、或“$”符号开头

    2:可以包括数字、区分大小写

    3:不能使用Java语言的关键字,例如int、class、public等

    Java中的六种运算符:

    ·   算术运算符

    ·   赋值运算符

    ·   关系运算符

    ·   逻辑运算符

    ·   位运算符

    ·    三元运算符

     

    算术运算符:

    +:加法运算,求操作数的和

    -:减法运算,求操作数的差

    *:乘法运算,求操作数的乘积

    /:除法运算,求操作数的商

    %:求余运算,求操作数相除的余数

    ++:自增,操作数自加1

    --:自减,操作数自减1

     

    赋值运算符:

    =:将右边的值赋给左边,例:int a = 1;

    +=:左右两边的和相加赋给左边,例:int a = 1; a+=2;结果a的值为3

    -=:左边减去右边的差赋给左边,例:int a =5;a-=2;结果a的值为3

    *=:两边数值相乘的值赋给左边,例:int a = 2;a*=2;结果a的值为4

    /=:左边除以右边的值赋给左边,例:int a = 6;a/=2;结果a的值为3

    %=:左边除以右边的余数赋给左边,例:int a =7;a%=2;结果a的值为1

     

    关系运算符

    >:大于,例:int a = 1;int b = 2;System.out.print(a > b);其结果为false

    <:小于,例:int a = 1;int b = 2;System.out.print(a < b);其结果为true

    >=:大于等于,例:int a = 1;int b = 2;System.out.print(a >= b);其结果为false

    <=:小于等于,例:int a = 1;int b = 2;System.out.print(a <= b);其结果为true

    ==:等于,例:int a = 1;int b = 2;System.out.print(a == b);其结果为false

    !=:不等于,例:int a = 1;int b = 2;System.out.print(a != b);其结果为true

      其结果都是boolean类型,即要么是true要么是false

     

    逻辑运算符

    &&:与、并且(短路),   两个条件同时为真时,结果为真

    ||:或、或者(短路),   两个条件有一个为真时,结果即为真

    !:非,(!+条件)  条件为真时,结果为假

     

    Java中的数据类型转换

    1:自动数据类型转换(放大转换)

    满足自动数据类型转换条件:

    1)两种类型要兼容:如数值类型(整型和浮点型)

    2)目标类型大于源类型:例如int型数据可以自动转换为double类型

     

     

    2:强制数据类型转换(缩小转换)

    在变量前加上括号,在括号中指定要强制转换的类型

    例:double a = 40.9;

        int b= (int)a;

    注:强制转换会损失数值精度,例如double类型变量a,经强制转换为int类型后值变为40

    展开全文
  • 一、Java八种基本数据类型    ...Java提供了8基本数据类型,分别是:boolean、char、byte、short、int、long、float、double。 数据类型 大小/(位) 封装类 默认值 可表示数据...
  • Java引用数据类型(类)+案例

    千次阅读 2019-03-08 19:54:09
    只是自定义类型并非Java为我们预先提供好的类型,而是我们自己定义的一种引用数据类型用来描述一个事物。 类的定义格式 创建java文件,与类名相同 public class 类名{ 数据类型 属性名称1; 数据类型 属性名称2; ...
  • 基本数据类型{数值形【整型(byte,short,int,long),浮点型(float,double)】;字符型【char】;布尔类型【boolean】} 引用数据类型{类【class】;接口【interface】;...引用数据类型:变量存储在堆...
  • Java基础_引用数据类型的强制类型转换

    千次阅读 多人点赞 2019-05-23 20:01:07
    Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会...
  • 变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值二、从内存构建方面来说基本数据类型:变量在声明之后java就会立刻分配给他内存空间引用数据类型:它以特殊的方式(类似C指针)...
  • Java 数据类型(基本数据类型、引用数据类型)

    千次阅读 多人点赞 2013-12-11 23:40:11
    Java 数据类型(基本数据类型、引用数据类型) 简单的介绍
  • Java中主要有8基本数据类型,分别是byte,short,int,long,char,boolean,float,double,具体如下: 1、boolean:数据值只有true或false,适用于逻辑计算。 2、char:char型(字符型)数据在内存占用2个字节。...
  • Java数据类型引用数据类型

    万次阅读 多人点赞 2018-06-26 23:33:29
    我们接着来说数据类型,上一次我们提到了java中的八种数据类型,没有涉及到引用类型,而java引用类型只有三种,分别是类(class)、接口(interface)、数组。如下图所示 Java把内存分成两种,一种叫做栈内存,一种...
  • 基本数据类型 byte short int long boolean char float double import java.util.Arrays; public class Test { public static byte byte1; public static short s; public static int i; ...
  • JAVA 程序我们往往需要给对象进行赋值操作,但是对于不同数据类型的赋值是有区别的,比如:对基本数据类型的赋值并非指向一个对象的引用,所以在为其赋值的时候是直接将一个地方的值复制到另一个地方,所以对于...
  • 理解Java自定义类作为数据类型——引用数据类型

    千次阅读 多人点赞 2020-01-11 20:01:48
    前言:Java的数据类型按照类型可分为基本数据类型(byte、short、int、long、double、float、char、boolean)和引用数据类型(类(class)、接口(interface)、数组(array)),8种基本数据类型相信只要接触过Java就...
  •   1.基本数据类型: boolean,char,byte,short,int,long,float,double  ...2.引用数据类型: 除了基本数据类型以外其他所有的数据类型,比如 Integer 、String、用户自定义的类等等  ...
  • Java中基本数据类型和引用数据类型的存放位置

    千次阅读 多人点赞 2017-07-29 11:10:01
    基本数据类型是放在栈还是放在堆,这取决于基本类型声明的位置。 一:在方法声明的变量,即使变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法声明的变量就放在方法栈,...
  • Java中的数据类型分为两大类,基本数据类型和引用数据类型 一、数据类型二、基本数据类型和引用数据类型的区别
  • Java引用数据类型String详解

    万次阅读 2020-07-02 23:54:44
    Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型的差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也就是说可以在初始化的...
  • Java数据类型分为基本数据类型与引用数据类型。 1、 基本数据类型 byte:Java中最小的数据类型,在内存占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16 bit),取值范围-...
  • 一,基本数据类型8种,byte,short,long,int char,boolean,double,float二,引用数据类型3种,类接口基本数据类型作为实参传递形参时候,对形参的值改变不影响实参,而引用数据类型作为实参传递参数时候,对形参值...
  • java引用数据类型-数组

    千次阅读 2016-10-23 14:45:52
    数组用于将相同类型数据存储在连续的存储单元; 可以通过指定数组的名称和长度来声明数组; 一旦声明数组的大小,就不能再修改; 数组元素通过数组名和索引来访问,索引从0开始; 数组可以是一维,也可以是多维...
  • Java引用数据类型--枚举

    千次阅读 2020-03-30 17:17:58
    代码演示与讲解 /* 标题:Java引用数据类型--枚举 作者:Nstar ... //枚举数据类型,Java中引用数据类型 ZHANGSAN,LISI,WANGWU,ZHAOLIU } class Test_name{ public static void main(String[] arg...
  • 首先Java中共有8基本数据类型和3中引用数据类型,那么这8种基本数据类型都占几个字符呢? 二、分析问题 Java中的8种基本数据类型分别是: 字节型:byte 字符型:char 整型:int 长整型:long 短整型:short 浮点...
  • JAVA中引用四种引用类型

    千次阅读 2020-08-30 10:09:38
    关于值类型引用类型的话题,C++、JAVA、python、go、C#等等高级语言都有相关的概念,只要理解了其底层工作原理,可以说即使是不同的语言,在面试学习工作实践都可以信手拈来(不要太纠集语言),当然此处我选择了...
  • 2)当使用引用数据类型作为方法的形参时,若在方法体 修改形参指向的数据内容,则会对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区; 3)当使用引用数据类型作为方法的形参时,若在方法体 ...
  • java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
  • java中引用类型数据,传递的是内存地址,像类,数组,接口,String等等都是引用类型!看下面的代码和截图!public class Test2 { // java中引用类型数据传递的是内存地址 private Map&lt;String, Student&...
  • 说明: 1:好记性,不如写博客 2:静下心来丢掉手机不做低头族 3:开始学习以及复习Android第一节课 4:本章资料取决于Java编程思想(第4版)第一阶段:JAVA面向对象编程 JAVA基本数据类型和引用数据类型 基本数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 676,644
精华内容 270,657
关键字:

java中的引用数据类型

java 订阅