精华内容
下载资源
问答
  • 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); 
    	}
    }
    

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

    展开全文
  • Java 数据类型(基本数据类型、引用数据类型)

    千次阅读 多人点赞 2013-12-11 23:40:11
    Java 数据类型(基本数据类型、引用数据类型) 简单的介绍

    一. Java数据类型概览


    二. Java中八大基本数据类型

    类型名称类型定义取值范围
    boolean布尔值,作二元判断true, false
    byte8位有符号整数-128 ~  127
    short16位有符号整数-32768 ~ 32767
    int32位有符号整数-2147483648(-231)~ 2147483647(231-1)
    long64位有符号整数-263~ (263-1)
    float32位浮点数1.4E-45 ~ 3.4028235E38
    double64位浮点数4.9E-324 ~ 1.7976931348623157E308
    char16位Unicode字符0 ~ 65535

    注意:

    (1)Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。

       比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。

    (2)Java语言中,默认的整数类型是int类型,声明long类型的时候,后面必须要加个l(字母L的小写)或者L,建议使用大写L,防止和数字1混淆,如:30L;

    (3)Java语言中,默认的浮点数类型是double,声明float类型的时候,后面必须添加字母f或者F,如3.14F,3.14f;

    (4)Java语言中,char类型为16位Unicode字符,Unicode字符中的取值不存在负数范围,所以它的取值范围为 0 ~ 65535,—— 有点类似 “无符号数”;


    三. Java中八大基本数据类型的转换

    (1)boolean不可以转换为其他的数据类型;

    (2)整数型,浮点类型,字符型是可以相互转换的,转换时遵守下面的原则:

         a) 容量小的类型自动转换为大的类型,数据类型按容量大小排序为:

              byte, short, char < int < long <float < double

         b) byte, short, char 三种类型间不会相互转换,他们三者在计算时,首先会转换为int类型;

         c) 容量大的类型在转换为小的类型的时候,必须加上强制转换符,此时可能造成精度降低或者溢出问题;

         d) 有多种数据类型混合计算的时候,系统首先自动转换为容量最大的那个类型再来继续计算;

         e) 默认的浮点数类型是double,如:1.2; 默认的整数类型是int类型,如:1;


    四. 关于字符串问题

         记得我上学那会,还把String类型当做一个基本数据类型,现在想想真是可笑! String是java.lang.String包下的一个类,也就是引用类型中的类类型(说白了它就是一个类),

         在Java中java.lang.* 下的所有包都是自动引入的,所以同学们可要注意了!

    展开全文
  • 理解Java自定义类作为数据类型——引用数据类型

    千次阅读 多人点赞 2020-01-11 20:01:48
    前言:Java的数据类型按照类型可分为基本数据类型(byte、short、int、long、double、float、char、boolean)和引用数据类型(类(class)、接口(interface)、数组(array)),8种基本数据类型相信只要接触过Java就...

    目录

    说在前面的话

    复现问题

    引用数据类型的理解

    总结


     

    • 说在前面的话

    前言:Java的数据类型按照类型可分为基本数据类型(byte、short、int、long、double、float、char、boolean)和引用数据类型(类(class)、接口(interface)、数组(array)),8种基本数据类型相信只要接触过Java就比较熟悉。而对于引用数据类型相对来说比较陌生,下边会对引用数据类型中的类(class)做一个比较浅显的介绍,这也是由于我自己在学习的过程中碰见了问题,难以理解之后查阅了相关资料稍微理解了一点儿,希望能学习过程中不理解这块的同道中人提供一些可借鉴的地方!!!

    • 复现问题

    下面是我写的两个类,描述问题:可以看到类B的第二个属性被定义为private A a;显然是用了第一个自定义的类 作为数据类型,当我看到这一步我有点儿懵了,经过网上阅读博客借鉴加上自身理解,故有此篇博文!

    public class A {
    	private int age;
    	private String name;
    	……
    }
    
    public class B {
    	private int score;
    	private A a;
    	……
    }
    • 引用数据类型的理解

    引用类型指向一个对象,不是原始值,指向对象的变量是引用变量,那么引用数据类型相较于基本数据类型,与基本数据类型有哪些区别或是特性?我们不妨可以通过一个客户存钱与取钱的例子进行解释:

    Accout类:定义了账号、余额私有属性,定义构造方法对属性进行赋值的同时提供了对应的get/set方法。此外提供取款withdraw()方法以及存款deposit()方法进行相关操作。

    public class Account {
    	
    	private int id;//账号
    	private double balance;//余额
    	public Account(int id, double balance) {//构造方法
    		this.id = id;
    		this.balance = balance;
    	}
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public double getBalance() {
    		return balance;
    	}
    	public void setBalance(double balance) {
    		this.balance = balance;
    	}
    	public void withdraw(double amount) {//取款
    		if (balance >= amount) {
    			balance -= amount;
    			System.out.println("取款成功:" + amount + "元," + "账户余额为:" + this.getBalance() + "元");
    		} else {
    			System.out.println("取款失败");
    		}
    	}
    	public void deposit(double amount) {//存款
    		if(amount > 0) {
    			balance += amount;
    			System.out.println("存款成功:" + amount + "元," + "账户余额为:" + this.getBalance() + "元");
    		} else {
    			System.out.println("存款失败");
    		}
    	} 
    	
    }

     

    Customer类:定义了name私有属性,使用Java自定义类Account作为属性数据类型(重复上文提到的:引用类型指向一个对象,不是原始值,指向对象的变量是引用变量),是否可以理解为Customer类中属性是包含Account类的,private Account account是否可以说是定义了Account类的一个对象,正如灯管和灯泡,灯管中必定是包含着灯泡的。

    public class Customer {
    	
    	private String name;//姓名
    	private Account account;//账单,引用数据类型,与String类型进行比较,String[] string = new String[10];
    	public Customer(String name) {//构造方法
    		this.name = name;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public Account getAccount() {
    		return account;
    	}
    	public void setAccount(Account account) {
    		this.account = account;
    	}
    }
    

     

    CustomerTest类:测试类,我们先定义了Customer类的一个对象并通过构造方法赋值,接着定义了Account类的一个对象并赋值,比较重要的一步是如何将账户信息与客户之间建立联系,我们在Customer类中提供了account属性的set方法,可以将我们定义的Account类的对象作为参数调用Customer类对象的setAccoount()方法,这样我们就使得客户有了自己的账户信息,这也就是类作为引用数据类型的一个作用。

    public class CustomerTest {
    	public static void main(String[] args) {
    		Customer customer = new Customer("haitao");//创建用户对象customer
    		
    		Account account = new Account(1000, 2020);//创建账单对象
    
    		customer.setAccount(account);//实现客户与账单的联系
    		System.out.println("当前客户ID:" + account.getId() + ",账户余额为:"+ account.getBalance() + "元");
    		System.out.println("**********************************");
    		customer.getAccount().deposit(100);//存款
    		customer.getAccount().withdraw(960);//取款
    	}
    }
    

     在eclipse中运行程序,我们将会看到以下的结果:

    • 总结

    我们可以看到Java自定义类作为数据类型的一个作用,可以使得两个类之间能够建立起联系,博文只是简单的从表面上进行了类作为引用数据类型的一些介绍,并没有进行更加深入细致的详解,毕竟我本人也就是一个初学者,自己的理解也没有大牛那么深刻,可能在一些细节的表述有出入不恰当,欢迎大家指正共同进步,希望对大家有所帮助!

    展开全文
  • 一、Java八种基本数据类型        在程序设计中经常用到一系列类型,把它们存储在堆栈中,加快程序的运行效率,它们就是基本数据类型Java提供了8中基本数据类型,分别是:...

    一、Java八种基本数据类型

           在程序设计中经常用到一系列类型,把它们存储在堆栈中,加快程序的运行效率,它们就是基本数据类型。Java提供了8中基本数据类型,分别是:boolean、char、byte、short、int、long、float、double。

    数据类型大小/(位)封装类默认值可表示数据范围
    boolean1Booleanfalsetrue或false
    char16Character空(’\u0000’)0~65535
    byte8Byte0-128~127
    short16Short0-32768~32767
    int32Integer0-2147483648~2147483647
    long64Long0L-9223372036854775808~9223372036854775807
    float32Float0.0F1.4E-45~3.4028235E38
    double64Double0.0D4.9E-324~1.7976931348623157E308

           对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。如:
    1.基本类型byte 二进制位数:Byte.SIZE最小值:Byte.MIN_VALUE最大值:Byte.MAX_VALUE
    2.基本类型char二进制位数:Character.SIZE最小值:Character.MIN_VALUE最大值:Character.MAX_VALUE
    3.基本类型double 二进制位数:Double.SIZE最小值:Double.MIN_VALUE最大值:Double.MAX_VALUE

    代码:

    public class BaseDataType {
    	public static void main(String[] args) {   
            System.out.println("基本数据类型:byte 二进制位数:" + Byte.SIZE);  
            System.out.println("包装器类型:java.lang.Byte");  
            System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
            System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
            System.out.println();  
      
            System.out.println("基本数据类型:short 二进制位数:" + Short.SIZE);  
            System.out.println("包装器类型:java.lang.Short");  
            System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
            System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
            System.out.println();  
      
            System.out.println("基本数据类型:int 二进制位数:" + Integer.SIZE);  
            System.out.println("包装器类型:java.lang.Integer");  
            System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
            System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
            System.out.println();  
      
            System.out.println("基本数据类型:long 二进制位数:" + Long.SIZE);  
            System.out.println("包装器类型:java.lang.Long");  
            System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
            System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
            System.out.println();  
      
            System.out.println("基本数据类型:float 二进制位数:" + Float.SIZE);  
            System.out.println("包装器类型:java.lang.Float");  
            System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
            System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
            System.out.println();  
        
            System.out.println("基本数据类型:double 二进制位数:" + Double.SIZE);  
            System.out.println("包装器类型:java.lang.Double");  
            System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
            System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
            System.out.println();  
      
            System.out.println("基本数据类型:char 二进制位数:" + Character.SIZE);  
            System.out.println("包装器类型:java.lang.Character");  
            System.out.println("最小值:Character.MIN_VALUE="  
                    + (int) Character.MIN_VALUE);  
            System.out.println("最大值:Character.MAX_VALUE="  
                    + (int) Character.MAX_VALUE);  
        }  
    
    }
    

    二、基础数据与引用数据类型之间的区别

           引用数据类型分为三种:类、接口、数组。基础数据直接存放在栈中,访问更加高效。引用数据类型在栈中存放“引用(句柄)”,在堆中存放数据。

    展开全文
  • java引用数据类型有哪些?

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

    万次阅读 多人点赞 2019-01-20 14:38:23
    Java有 5种引用类型(对象类型):类 接口 数组 枚举 标注 引用类型:底层结构和基本类型差别较大 JVM的内存空间: (1). Heap 堆空间:分配对象 new Student() (2). Stack 栈空间:临时变量 Student stu (3)...
  • 变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值二、从内存构建方面来说基本数据类型:变量在声明之后java就会立刻分配给他内存空间引用数据类型:它以特殊的方式(类似C指针)...
  • Java引用数据类型String详解

    万次阅读 2020-07-02 23:54:44
    Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型的差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也就是说可以在初始化的...
  • Java中的数据类型分为两大类,基本数据类型和引用数据类型 一、数据类型二、基本数据类型和引用数据类型的区别
  • Java引用数据类型(类)+案例

    千次阅读 2019-03-08 19:54:09
    只是自定义类型并非Java为我们预先提供好的类型,而是我们自己定义的一种引用数据类型用来描述一个事物。 类的定义格式 创建java文件,与类名相同 public class 类名{ 数据类型 属性名称1; 数据类型 属性名称2; ...
  • byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,...
  • java引用数据类型-数组

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

    千次阅读 多人点赞 2019-05-23 20:01:07
    Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会...
  • Java引用数据类型--枚举

    千次阅读 2020-03-30 17:17:58
    标题:Java引用数据类型--枚举 作者:Nstar 时间:2020年3月30日 * */ public enum Name_test { //枚举数据类型,Java中的引用数据类型 ZHANGSAN,LISI,WANGWU,ZHAOLIU } class Test_name{ public static void ...
  • Java中基本数据类型和引用数据类型的存放位置

    千次阅读 多人点赞 2017-07-29 11:10:01
    基本数据类型是放在栈中还是放在堆中,这取决于基本类型声明的位置。 一:在方法中声明的变量,即使变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,...
  • Java数据类型分为基本数据类型与引用数据类型。 1、 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16 bit),取值范围-...
  • Java数据类型引用数据类型

    万次阅读 多人点赞 2018-06-26 23:33:29
    我们接着来说数据类型,上一次我们提到了java中的八种数据类型,没有涉及到引用类型,而java引用类型只有三种,分别是类(class)、接口(interface)、数组。如下图所示 Java把内存分成两种,一种叫做栈内存,一种...
  • java中键值对数据类型属于引用数据类型吗,可以进行加减乘除操作吗
  • 引用数据类型{类【class】;接口【interface】;数组【[ ]】} 两种不同数据类型的区别: 基本数据类型:变量存储在栈中;栈的特点是存储空间小,但是存取速度快 引用数据类型:变量存储在堆中...
  • Java中主要有8中基本数据类型,分别是byte,short,int,long,char,boolean,float,double,具体如下: 1、boolean:数据值只有true或false,适用于逻辑计算。 2、char:char型(字符型)数据在内存中占用2个字节。...
  • java数据类型(八种基本数据类型+三种引用类型)

    万次阅读 多人点赞 2017-02-08 11:05:32
    2引用数据类型 二:注意事项: 1:java开发过程中整型用int、小数用double、布尔用boolean; 2:类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;  例如:(1)int a=12;double b=a;(2...
  • Java基本数据类型引用类型的区别

    千次阅读 2020-08-27 23:30:52
    新语言Kotlin已经抛弃了Java里的基本数据类型,而是采用引用类型去声明一个变量,那么怎么区分基本数据类型引用类型呢? 文字概念 基本数据类型:byte、short、int、long、float、double、char、boolean引用类型:...
  • JAVA中的引用四种引用类型

    千次阅读 2020-08-30 10:09:38
    关于值类型引用类型的话题,C++、JAVA、python、go、C#等等高级语言都有相关的概念,只要理解了其底层工作原理,可以说即使是不同的语言,在面试学习工作实践中都可以信手拈来(不要太纠集语言),当然此处我选择了...
  • 背景:Java语言,字符串类型关键字String,是已经封装好的类。 public static void main(String[] agrs) { // 字符串类型创建对象的两种定义方式, // String str1 = "nihao"; // str1指向常量池中的nihao...
  • 说明: 1:好记性,不如写博客 2:静下心来丢掉手机不做低头族 3:开始学习以及复习Android第一节课 4:本章资料取决于Java编程思想(第4版)第一阶段:JAVA面向对象编程 JAVA基本数据类型和引用数据类型 基本数据...
  • java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
  • java基本数据类型传递与引用传递区别详解

    万次阅读 多人点赞 2016-04-19 17:12:57
    java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给...
  • Java数据类型转换

    千次阅读 2016-08-30 20:33:38
    Java数据类型转换 在说明数据类型转换(下简称类型转换)之前,得先说明什么是数据,数据可不仅仅是一个值,而是包括描述数据的种类(数据类型)、值以及基于其类型基础上可进行的操作的集合。从类型A转换到类型B,...
  •   1.基本数据类型: boolean,char,byte,short,int,long,float,double  ...2.引用数据类型: 除了基本数据类型以外其他所有的数据类型,比如 Integer 、String、用户自定义的类等等  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 675,997
精华内容 270,398
关键字:

java属于引用数据类型

java 订阅