当前位置: 首页 > news >正文

无限流量网站建设点点站长工具

无限流量网站建设,点点站长工具,腾讯企业邮箱免费登录入口,注册一家公司需要多少钱基本数据类型(轻点) Java基本数据类型在内存中占用固定的大小,并且直接存储值,而不是对象的引用 整数类型 byte:8位,存储范围从-128到127 short:16位,存储范围从-32,768到32,767 …

基本数据类型(轻点)

Java基本数据类型在内存中占用固定的大小,并且直接存储值,而不是对象的引用

整数类型

byte:8位,存储范围从-128到127

short:16位,存储范围从-32,768到32,767

int:32位,存储范围从-231-1,即-2,147,483,648到2,147,483,647。这是最常用的整数类型

long:64位,存储范围从-263-1。在数值后面加上Ll表示这是一个long类型的值

浮点类型

float:32位,单精度浮点数。在数值后面加上Ff表示这是一个float类型的值

double:64位,双精度浮点数。这是最常用的浮点数类型

字符类型

char:16位,存储Unicode字符。字符字面量用单引号括起来,例如'A'

布尔类型

boolean:表示真(true)或假(false

引用数据类型(轻点)

数组、类、接口

数组是一种可以存储多个相同类型数据的容器,它在内存中是连续存储的使用new关键字:int[] arr = new int[5];,表示创建一个长度为5的整型数组。直接初始化:int[] arr = {1, 2, 3, 4, 5};

类是Java中定义对象的模板,它封装了数据和操作这些数据的方法。类可以包含成员变量(属性)和成员方法(行为)。类支持继承、封装和多态等面向对象的特性。类是引用类型,通过new关键字创建对象实例,对象存储在堆内存中。定义一个类:public class Person { String name; int age; }。创建对象实例:Person person = new Person();

接口是一种特殊的引用数据类型,它定义了一组方法规范,但不提供具体实现。接口中的方法默认是public abstract,成员变量默认是public static final。从JDK 8开始,接口可以包含默认方法和静态方法。接口支持多继承,一个类可以实现多个接口。定义接口:public interface USB3 { void in(); void out(); }。实现接口:public class USBDevice implements USB3 { public void in() { ... } public void out() { ... } }。接口用于定义对象的行为规范,允许不同的类实现相同的接口,从而实现多态。

包装类的引入(中点)

对象的基本概念:对象是类的实例化,是堆内存中的一块内存空间。

在Java编程语言中,尽管很多概念都可以被视作对象来处理,但基本数据类型本身并不直接对应对象。为了弥补这一不足,并使基本数据类型能够像对象一样被操作,Java引入了包装类。这些包装类将基本数据类型封装在对象内部,从而允许基本数据类型以对象的形式存在和操作

基本数据类型和其对应包装类

如下图所示,基本数据类型byte的变量无法指向空值(null),因为它不是指针类型,而是直接存储数据值。相反,Byte作为byte的包装类,其对象可以指向空值(null),这证明了包装类Byte并不是基本数据类型,而是Java提供的一种将基本数据类型封装为对象的机制

128陷阱(重点)

128陷阱是Java编程语言中Integer类的一个特有现象,具体体现在当进行自动装箱时,数值-128到127之间的整数会被缓存并重用,而超出此范围的数值则不会,下图具体展示了这一陷阱的体现:

在创建对象时,通常需要为新对象开辟独立的内存空间。然而,Java的Integer类的valueOf()方法采用了一种特殊的机制,它预先创建并分配了一个包含-128到127范围内所有整数的数组。当使用valueOf()方法为在此范围内的整数赋值时,该方法会直接从该数组中取出对应的Integer对象,并返回其内存地址供使用,从而避免了不必要的内存分配。相反,如果赋值的整数超出了这个范围,valueOf()方法则会为新的整数值开辟独立的内存空间。这种内存分配方式的具体实现细节如下图所示。在上图中,变量a1和a2之所以相等,是因为它们都被赋值为-128到127范围内的整数,因此valueOf()方法使它们指向了数组中相同的Integer对象地址。而变量a3和a4不相等,则是因为它们被赋值为超出该范围的整数值,valueOf()方法为它们各自开辟了新的内存空间,因此它们指向的是不同的Integer对象地址。

自动拆装箱(重点)

将基本数据类型int转换为对应的包装类Integer的过程被称为装箱

将包装类Integer转换回基本数据类型int的过程则被称为拆箱

int  a = 10;
int  b = 10;
Integer a1 = 10;
Integer b1 = 10;
Integer a2 = new Integer(10);
Integer b2 = new Integer(10);
System.out.println(a == b);
//True  a和b存储的是相同的整数值,且它们都是基本数据类型,直接进行值比较相等
System.out.println(a1 == b1);
//True  由于128陷阱,a1和b1实际上引用的是同一个Integer对象的数组里的相同地址,输出True
System.out.println(a2 == b2);
//False 通过new关键字显式地创建了两个新的Integer对象a2和b2,即使它们的值都是10,但它们是两个不同的对象,存储在内存中的不同位置
System.out.println(a1 == a);
//True  在进行比较时,Java会自动将Integer对象a1拆箱为基本数据类型int的值,然后与基本数据类型int的变量a进行比较
System.out.println(a1.equals(a));
//True  和上面一样是自动拆箱,判断时候Integer要转出int来判断. equals()的底层还是==
System.out.println(a1 == a2);
//False  a1的值10是从catch数据当中获取的  a2的值10是自己创建创建的对象.
System.out.println(a == a2);
//True  自动拆箱,a2是Integer类型的 a是int类型的,判断时候Integer要转出int来判断.
http://www.jinmujx.cn/news/110275.html

相关文章:

  • 如何查询网站建设时间seo营销外包
  • wordpress顶部栏如何修改优化关键词软件
  • 东莞做网站公司首选长尾词挖掘工具
  • wordpress非常吃cpu九幺seo优化神器
  • 广告公司网页设计杭州seo网站哪家好
  • 做百度竞价网站搜索不到线上营销策略都有哪些
  • 做学校网站的目的zac seo博客
  • 网站建设公司怎样拓展网站业务百度商业账号登录
  • 有域名后怎么做网站疫情最新政策最新消息
  • 个人网站后期怎么做企业网站快速推广
  • 北京近期疫情最新情况网络公司seo推广
  • 温州建设银行网站菏泽百度推广公司电话
  • 吉林省长春市长春网站建设哪家好百度登录账号首页
  • 免费外贸网站源码免费网页在线客服系统
  • 哪些网站做的比较好seo权重查询
  • 网站开发哪里接到单子的seo信息网
  • 阿里网站多个域名网站优化主要优化哪些地方
  • 成都网站建设 公司站长之家的作用
  • 做取名的网站很赚钱吗广州seo报价
  • 政府网站建设上会说明seo查询seo
  • 支付网站技术服务费怎么做分录优化设计七年级上册数学答案
  • 网站建设丨找王科杰信誉seo专员工作内容
  • 什么软件可以找做网站的怎样才能被百度秒收录
  • 专门做衣服特卖的网站南安seo
  • centos7.2做网站如何优化网络环境
  • 建立网站费用怎么做会计分录东莞百度seo排名
  • dw网站首页的滚动图片怎么做整站优化系统
  • 网站建设需求文件安徽seo推广
  • mysql 连接wordpress江北seo
  • 商丘企业网站建设费用多少钱网络怎么做推广