Java基本数据类型与引用类型的区别

晒个小暖

南方人的冬天,太阳总是很赏脸,花花草草长得很漂亮,厚棉被晒得很舒服,腊肠腊肉腊鸭油光发亮,就这样站在日光下一会吧,你也会变得亮亮堂堂,和和融融。不管是不是冬天,没有什么可以一直温暖着你的事,但是太阳可以。因为它照强大,也照弱小,不辜负每一个生命。

基本数据类型数据内容存放在栈中,引用数据类型的数据内容存放在堆中,而栈中存放的是其具体数据内容所在内存的地址。通过变量地址可以找到变量的具体内容,就像通过房间号可以找到房间一样。

    public class Main{
       public static void main(String[] args){
           //基本数据类型
           int i=1;//1叫直接量(或字面量),整数字面量默认都为int类型,所以在定义long类型数据后面                
           加L或l。小于32位数的变量,都按int结果结算。
           double d=1.2;//浮点数 字面量默认都为double类型,在定义float类型数据后面加F或f, 
           double类型可不写,但是在小数计算中一定要写D          
           //引用数据类型
           String str="helloworld";
       }
    }

基本数据类型-传递方式
在方法中定义的数据类型变量,调用方法时作为参数是按数值传递的。

          //基本数据类型作为方法参数被调用
          public class Main{
             public static void main(String[] args){
                 int msg = 100;
                 System.out.println("调用方法前msg的值:\n"+ msg);    //100
                 fun(msg);
                 System.out.println("调用方法后msg的值:\n"+ msg);    //100
             }
             public static void fun(int temp){
                 temp = 0;
             }
          }

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeGluZ19qaWFuMQ==,size_18,color_FFFFFF,t_70,g_se,x_16

引用类型-传递方式

引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本。

        //引用数据类型作为方法参数被调用
        class Book{
            String name;
            double price;
            public Book(String name,double price){
                this.name = name;
                this.price = price;
            }
            public void getInfo(){
                System.out.println("图书名称:"+ name + ",价格:" + price);
            }
            public void setPrice(double price){
                this.price = price;
            }
        }

        public class Main{
           public static void main(String[] args){
               Book book = new Book("Java开发指南",66.6);
               book.getInfo();
               fun(book);
               book.getInfo();
           }
           public static void fun(Book temp){
               temp.setPrice(99.9);
           }
        }

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeGluZ19qaWFuMQ==,size_18,color_FFFFFF,t_70,g_se,x_16

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/171427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c++面向对象

一、类和对象 类将具有共性的数据和方法封装在一起,加以权限区分,用户只能通过公共方法 访问私有数据。 类的权限分为:private(私有)、protected(保护)、public(公有)3种…

2013年12月13日 Go生态洞察:Go在App Engine上的工具、测试和并发

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

2023年中国聚氨酯树脂涂料需求量、市场规模及行业趋势分析[图]

聚氨酯是一种新兴的有机高分子材料,被誉为“第五大塑料”,因其卓越的性能而被广泛应用于国民经济众多领域。产品应用领域涉及轻工、化工、电子、纺织、医疗、建筑、建材、汽车、国防、航天、航空等。2022年中国聚氨酯产量已达1600万吨。 2012-2022年中国…

华为防火墙 DMZ 设置

DMZ 是英文"Demilitarized Zone"的缩写,中文名称为"隔离区" 它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个位于内部网络与外部网络之间的缓冲区,在这个网络区域内可以放置一些公开的服务…

半导体电学特性IV+CV测试系统—1200V半导体参数分析仪

概述: SPA-6100半导体参数分析仪是武汉普赛斯自主研发、精益打造的一款半导体电学特性测试系统,具有高精度、宽测量范围、快速灵活、兼容性强等优势。产品可以同时支持DC电流-电压(I-V)、电容-电压(C-V)以及高流高压下脉冲式I-V特性的测试,旨…

asp.net勤工助学管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目

一、源码特点 asp.net 勤工助学管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 系统运行视频 https://www.bilibili.com/video/BV1Sz4y1F7GP/ 二、功能介绍 本系统使用Microsoft Visual Studio…

使用遗传算法优化的BP神经网络实现自变量降维

大家好,我是带我去滑雪! 在现实生活中,实际问题很难用线性模型进行描述。神经网络的出现大大降低了模型建立的难度和工作量。只需要将神经网络当作一个黑箱子,根据输入和输出数据,神经网络依据相关的学习规则&#xff…

MAX/MSP SDK学习03:Atoms and Messages的使用

今天终于把Message消息选择器看得有点头绪了,主要是这个官方英文文档理解起来有点抽象。 编写IsMatchABC自定义Object,要求: ①若左入口(入口0)收到 "int" 型消息,则从出口发送数值 "888&q…

在ITSM中,实施变更管理的重要因素!

在ITSM管理中,变更管理是不可或缺的一步。在当今快速变革的商业环境中,组织需要不断地进行变更以适应市场的需求和竞争的压力。 然而,引入变更并成功地实施变更并不容易。变更管理是一种系统化和结构化的方法,旨在确保变更顺利进…

用二维码进行人员管理,人员信息一目了然

对于人员实名管理、来访登记、安全教育等需求,可以在草料二维码上搭建人员信息管理系统。除了扫码查看个人信息、身份证件、资格证书、劳务合同等人员档案,还可以组合表单、状态等功能组件,在二维码上展示证件状态,更新人员的奖惩…

Python量化--诺贝尔奖获得者布莱克-斯科尔斯期权定价公式在日间交易中的应用

“我们不能让你在不了解一点期权定价基础知识的情况下离开麻省理工学院,”Andrew Lo 教授在麻省理工学院的 15.401 金融理论课上对学生们说道。虽然我还不是麻省理工学院的学生,但这句话给了我一个直觉:期权定价一定极其重要。由于像麻省理工学院毕业生这样的精英金融人士都…

计算机网络的OSI七层模型

目录 1、OSI七层模型是什么 1.1 物理层(Physical Layer) 1.2 数据链路层(Data Link Layer) 1.3 网络层(Network Layer) 1.4 传输层(Transport Layer) 1.5 会话层(S…

SecureCRT -- 使用说明

【概念解释】什么是SSH? SSH的英文全称是Secure Shell 传统的网络服务程序,如:ftp和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而通过使用SS…

人工智能基础_机器学习045_逻辑回归的梯度下降公式推导_更新公式---人工智能工作笔记0085

然后我们上面有了逻辑回归的损失函数,以后,我们再来看 逻辑回归的梯度下降公式 可以看到上面是逻辑回归的梯度下降公式,这里的阿尔法是学习率,这里的 后面的部分是梯度也就是步长,这个阿尔法是,通过调节这个来控制梯度下降的快和慢对吧 然后我们再来看逻辑回归 可以看到这里…

武汉凯迪正大—盐雾试验机

产品概述 武汉凯迪正大KDYD-YW盐雾试验箱乃针对各种材质表面处理,包含涂料、电镀、有机及无机皮膜,阳极处理,防锈油等防腐处理后测试其耐腐蚀性,从而确立产品的质量。 产品特点 1、结构紧凑,体积小、携带方便&#…

零基础想系统地学习金融学、量化投资、数据分析、python,需要哪些课程、书籍?有哪些证书可以考?

曾经我也是零基础小白,题主想走的路,我已经走过啦~作为一名CFA持证人和管理因子投资的量化策略的投资组合经理,我把这些年积累的干货跟大家分享。 量化投资是金融学的一部分,量化投资(跟量化交易的概念有部…

SQL常见函数整理 —— LAG() 向上偏移

1. 用法 窗口函数,用于访问窗口中当前行之前的行的数据。该函数可以根据需要计算当前行之前的值,使我们能够轻松地比较不同行之间的差异和变化。 2. 基本语法 LAG(column, offset, default_value) OVER (ORDER BY column)column:代表在返回…

鸿蒙原生应用/元服务开发-AGC分发如何配置版本信息(上)

1.配置HarmonyOS应用的“发布国家或地区”。 2.设置是否为开放式测试版本。 注意:HarmonyOS应用开放式测试当前仅支持手机、平板、智能手表。如开发者想发布为开放式测试版本,选择“是”。正式发布的版本请选择“否”。 3.在“软件版本”下点击“软件包…

获取1688店铺所有商品、店铺列表api

返回数据格式: 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "…

c语言:十进制转任意进制

思路&#xff1a;如十进制转二进制 就是不断除二求余在除二求余&#xff0c;然后将余数从下到写出来&#xff0c;这样&#xff0c;10011100就是156的二进制 这里举例一个六进制的代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int …