Java数据类型之Java数据类型的划分方式

随机截距交叉滞后模型RI-CLPM:原理、Mplus实现与结果解读 纵向面板数据分析中,传统交叉滞后模型(CLPM)常被用于探索变量间的时序关系,但其估计结果可能混淆了个体间稳定差异与个体内短期波动,导致交叉滞后路径出现偏差。随机截距交叉滞后模型(RI-CLPM)通过引入随机截距因子,将个体特质层面的差异与个体内动态过程分离,从而提供更纯净的个体内效应估计。该模型在组织心理学、发展心理学、成瘾行为等研究领域迅速普及,并成为顶级期刊审稿时常见的稳健性检验要求。本文从原理出发,系统讲解RI-CLPM的模型构建、识别条件、Mplus实操代码、输出解读及常见陷阱,并结合协变量处理、 阅读详情

      程序的本质在于数据的处理上。所以如果想进行程序处理,那么必须要有相应的数据类型。在Java中针对于数据类型一共可以划分为两类:

  • 基本数据类型:是进行内容的操作,而不是进行内存的操作;

      |-  数值型:

            |-  整型:byte,short,int,long;            默认值:0

            |-  浮点型:float,double;                        默认值:0.0

      |-  字符型:char;                                              默认值:‘\u0000’

      |-  布尔型:boolean;                                       默认值:false

  • 引用数据类型:在数据交互过程之中会占用内存空间指向

      |-  分为:数组、类、接口;                              默认值:null

      对于给出的八种基本数据类型,有其自己特定的使用环境:

  • 表示整数首先考虑的就是int,例如:年龄;
  • 表示小数一定使用double;
  • 表示日期、时间、数字、文件、内存大小使用long(字节);
  • 进行编码转化、数据传输使用byte;
  • 处理中文使用char类型;
  • 处理逻辑使用boolean类型;

      以后考虑代码的时候,float和short可以暂时不考虑。

      Java的基本数据类型

     double保存的数据范围是最大的。

      1整型

      在程序开发之中,如果想要表示整数就使用整型,同时如果要想定义整型可以使用byte、short、int、long,但是一定要记住,在Java之中有一个特点:默认的一个整数,其对应的类型永远是int。

      范例:定义整形变量

       public class Test {
          public static void main(String args[]){
              //定义变量的语法:数据类型 变量名称 = 默认值;
              //10作为一个常量其类型是int型
              int num = 10;//定义一个num的int型变量,赋值为10
              //代码从等号右边开始执行
              //int型变量 = int型变量 + int型常量
              num = num + 20;//使用num变量的内容(10)+20的常量,将结果赋值给num
              System.out.println(num);//输出num的内容
          }
      }

       变量内容在开发之中允许修改,常量内容不允许修改。

      范例:数据溢出

      public class Test {
          public static void main(String args[]){
              int max = Integer.MAX_VALUE;//int的最大值
              int min = Integer.MIN_VALUE;//int的最小值
              System.out.println(max);//2147483647
              System.out.println(min);//-2147483648
              //max是int型变量 + int型常量 = int型
              System.out.println(max+1);//-2147483648
              System.out.println(max+2);//-2147483647
              //min是int型变量 - int型常量 = int型
              System.out.println(min-1);//2147483647
          }
     }

      之所以会出现数据的溢出操作,那么本质的问题就在于数据类型的操作位数太短了,那么在这种情况下(正常情况下基本出现),所以要想解决此时 int 的问题,那么就必须扩展操作类型,比int大的是long数据类型。

      给出一个常量或者是变量怎么变成long型?

  • 将int变量转换为long:(long)int  变量;
  • 将int常量转换为long:常量L。
  • 如果小范围的数据类型变量或常量与大范围的变量或常量计算时,先转换到大范围数据类型

      范例:解决数据溢出

      public class Hello {
          public static void main(String args[]){
              int max = Integer.MAX_VALUE;//int的最大值
              int min = Integer.MIN_VALUE;//int的最小值
              System.out.println(max);//2147483647
              System.out.println(min);//-2147483648
              //int型变量 + long型常量 = long型
              System.out.println(max+1L);//2147483648
              //强制将int型变为long+int型常量 = long型
              System.out.println((long)min-1);//-2147483649
          }
      }

      public class Hello {
           public static void main(String args[]){
                  System.out.println(11+1l);//12
           }
      }

      这样的转换操作确实是很少出现,但是通过上述代码实际上发现了一种数据类型的自动转换功能。

      不同种数据类型之间是可以进行转换的,转换原则如下(由大到小,强制;由小到大,自动。):

  • 数据范围保存大的数据类型要转换为数据范围保存小的数据类型,使用强制转换;
  • 数据范围保存小的数据类型可以自动转换为数据范围保存大的数据类型。

      范例:数据的自动转换

      public class Hello {
          public static void main(String args[]){
              int x = 10;//整型变量
              long num = x;//int自动变为long型
              System.out.println(num);//10
          }
      }

      范例:数据的强制转换

      public class Hello {
          public static void main(String args[]){
              //10是int型常量,将int型自动转换为long
              long x = 10;
              int num = x;//long强制变为int型
              System.out.println(num);
          }
      }

      public class Hello {
                public static void main(String args[]){
                    //10是int型常量,将int型自动转换为long
                    long x = 10;
                    int num = (int)x;//long强制变为int型
                    System.out.println(num);//10
              }
        }

      public class Hello {
                public static void main(String args[]){
                    long x = 3777777777;
                    int num = (int)x;//long强制变为int型
                    System.out.println(num);
              }
        }

       public class Hello{
          public static void main(String args[]){
              long x = 3777777777L;
              int num = (int)x;//long强制变为int型
              System.out.println(num);//-517189519
          }
      }

      在数据类型之中byte表示字节数据,字节数据的范围:-128~127。接下来考虑int与byte之间的转换。

      范例:byte转换为int

      public class Hello{
          public static void main(String args[]){
              byte x = 10;//定义byte变量
              int num = x;//byte转换为int
              System.out.println(num);//10
          }
      }

      public class Hello {
          public static void main(String args[]){
              byte x = 130;//定义byte变量
              int num = x;//byte转换为int
              System.out.println(num);
          }
      }

      在Java中,由于byte类型比较特殊,那么进行赋值处理时,如果设置的整型数据(常量)在byte范围内,那么它会帮助用户自动转型,如果超过了byte的范围,那么就需要进行向下的强制转换。

      public class Hello {
          public static void main(String args[]){
              byte x = (byte)130;//定义byte变量
              int num = x;//byte转换为int
              System.out.println(num);//-126
          }
      }

public class Hello {
    public static void main(String args[]){
        int y = 10;
        byte x = y;//定义byte变量
        int num = x;//byte转换为int
        System.out.println(num);
    }
}

      现阶段表示数字就使用int。

      2浮点型

      如果要表示小数(收入、成绩、身高)使用float、double。但是在Java之中,任何的一个小数常量其对应类型都是double。

      范例:double操作

      public class Hello {
          public static void main(String args[]){
              //10.0是一个小数常量,其类型为double
              double x = 10.0;
              double y = 12.9;
              System.out.println(x*y);//129.0
          }
      }

      但是千万不要忘记,double是整个Java数据类型之中保存范围最大的一个类型。所以任何的数据类型与double类型进行数学计算时都会自动转换为double类型

      范例:double与其他类型操作

      public class Hello {
          public static void main(String args[]){
              //10.0是一个小数常量,其类型为double
              double x = 10.0;
              int y = 10;
              long z = 120;
              //double型变量+int型自动变为double型+long型自动变为long型=double型;
              System.out.println(x+y+z);//140.0
          }
      }
      但是double并不是唯一的小数表示,对于小数还可以使用float表示。但是,如果要想定义float变量,那么必须将double型常量转换为float型。

      public class Hello {
          public static void main(String args[]){
              float x = 10.2F;
              float y = (float)10.2;
              System.out.println(x);//10.2
              System.out.println(y);//10.2
          }
      }
      但是这样的操作有些啰嗦,之所以提出是因为很多时候,Java也许会用在一些内存操作严格的情况下。手机。

      但是除了小数操作中要使用double类型之外,在一些计算中也需要使用到。

      范例:除法计算

      public class Hello {
          public static void main(String args[]){
              int x = 10;
              int y = 4;        
              System.out.println(x/y);//2
          }
      }
      因为整形是不保存小数位的,所以 如果利用整型进行数学计算,那么最终的结果小数位将全部被忽略掉。

     范例:利用float、double进行小数位的保留

      public class Hello {
          public static void main(String args[]){
              int x = 10;
              int y = 4;
              //int型÷double型=double型
              System.out.println(x/(double)y);//2.5
          }
      }

      在大部分情况下,只要与小数点有关的一切操作都使用double完成。

      关于默认值的说明

      默认值现在不起作用

      范例:定义不变量不设置内容

      public class Hello {
          public static void main(String args[]){
              int x ;
              System.out.println(x);
          }
      }

      正常情况下,变量值只有设置内容后才能正常使用。而事实上,默认值没有用处。

      public class Hello {
          static int x ;
          public static void main(String args[]){
              System.out.println(x);//0
          }
      }

      public class Hello {
          public static void main(String args[]){
              int x ;
              x=10;//使用前先赋值
              System.out.println(x);//10
          }
      }

      这个代码在JDK1.5之后才可以使用,而JDK1.5之前此代码是错误的。
      范例:绝对正确

      public class Hello {
          public static void main(String args[]){
              int x=10;//使用前先赋值
              System.out.println(x);//10
          }
      }

      以后一定要养成习惯,方法中定义变量一定要设置默认值。

      3字符型

      char主要是保存单个字符,并且单个字符要使用“ '' ”声明。

      范例:char类型

      public class Hello {
          public static void main(String args[]){
              char c = 'A';//字符变量
              System.out.println(c);//A
          }
      }

      以后只要是使用单引号声明的内容都表示单个字符。在Java里,由于使用的是UNICODE这种16进制编码,所以char可以保存中文。

      范例:保存中文

      public class Hello {
          public static void main(String args[]){
              char c = '好';//字符变量
              System.out.println(c);//好
          }
      }

      首先明确的是,计算机的世界里面能保存的数据只是01这样的二进制机器语言,所以如果要保存字符,那么也需要有其对应的编码出现。而Java使用的是UNICODE编码,这个编码特点:包含ASCII码。那么在这样的情况下,char和int可以互相转换,而char转换为int之后就是具体的编码数据。

      范例:观察转换

      public class Hello {
          public static void main(String args[]){
              char c = 'A';//字符变量
              int num = c;//将字符转换为数字(保存的是编码)
              System.out.println(num);//65
          }
      }

      常用字符范围:

  • 大写字母:'A'(65)~'Z'(90);
  • 小写字母:'a'(97)~'z'(122);
  • 数字字母:'0'(48)~'9'(57)

      可以发现大写字母和小写字母之间相差32.

      范例:大写与小写字母间的转换。

      public class Hello {
          public static void main(String args[]){
              char c = 'A';//字符变量
              int num = c;//将字符转换为数字(保存的是编码)
              num = num + 32;//大写字母和小写字母之间差了32
              c = (char)num;//将数字强制变为char
              System.out.println(c);//a
          }
      }   

      综合所述,char最大的优势就是可以保存中文,而byte是保存字节的。

      4布尔型

      boolean表示的是布尔型的数据类型,布尔是一个数学家的名字,他发明了布尔类型。所谓的布尔类型指的就是两方面的概念:ture(真),false(假)。

      一般情况下boolean类型往往都要结合判断语句完成处理。

      范例:使用布尔型

      public class Hello {
          public static void main(String args[]){
              boolean flag = true;
              //if语句判断的是boolean型数据
              if(flag){//如果flag内容是true,那么就执行
                  System.out.println("好好学习,天天向上");//好好学习,天天向上
              }
          } 
     }

      很多的编程语言实际上本身并没有直接提供布尔型数据,例如:C语言之中,将0表示为false,将非0表示为true。但是Java并没有这样的0,1描述,只有true、false。

      但是可以借助此概念在数据库设计中使用,做一个超级管理员的标志位:1(是超级管理员)、0(普通管理员)。

      1.5字符串:String型

      利用char只能够保存单个字符,这在很大程度上是有限制的,所以如果想要表示多个字符,就可以利用String完成。但是String本身是一个类,但是这个类的使用有些特殊,可以像基本数据类型那样完成。在程序中使用双引号声明的数据就是字符串。

      范例:定义字符串

      public class Hello {
          public static void main(String args[]){
              String str = "Hello world!";//字符串
              //在字符串中可以使用“+”进行字符串的连接操作
              str = str + "Hello LDN!";
              str += "I'm good.";
              System.out.println(str);//Hello world!Hello LDN!I'm good.
          }
      }

      现在发现String进行连接操作的过程中使用了“+”进行了连接操作,可是“+”也属于数学运算符。

      范例:观察如下代码

      public class Hello {
          public static void main(String args[]){
              int x = 10;
              double y = 20.3;
              //所有的数据类型与String进行“+”操作中都会自动变为String型
              //字符串+double变为字符串+int变为字符串
              String str1 = "计算结果:"+y+x;
              String str2 = "计算结果:"+(y+x);//改变运算顺序
              System.out.println(str1);//计算结果:20.310
              System.out.println(str2);//计算结果:计算结果:30.3
          }
      }

      另外一点,在程序中还存在有转义字符,包括:“\n”、“\\”、“\"”、“\'”、“\t”。

      范例:观察转义字符

      public class Hello {
          public static void main(String args[]){
              String str = "Hello \"world\",\\hello\n\thaha";
              System.out.println(str);
          }
      }

      运行结果:

      Hello "world",\hello
                   haha

      记忆点:

      1.数据类型划分以及默认值;

      2.表示年龄用int,表示成绩用double,表示姓名用String,表示逻辑用boolean。

SMARTFORMS实战:用Template+Loop实现复杂表格布局(附避坑指南) 本文深入解析了SMARTFORMS中Template与Loop组合实现复杂表格布局的实战技巧,突破传统TABLE组件的限制。通过多级表头、单元格合并等案例演示,提供从基础架构搭建到动态数据绑定的完整解决方案,并分享性能优化与异常处理的最佳实践,助力开发者高效应对企业级报表设计挑战。 阅读详情

相关推荐

医疗设备安规入门:一张图搞懂BF型设备的MOOP/MOPP绝缘路径(附GB 9706.1附录解析)

本文深入解析了BF型医疗设备的MOOP/MOPP绝缘路径设计,结合GB 9706.1标准附录J的实战应用,帮助工程师快速掌握医疗设备安规要点。通过典型绝缘路径图分析,详细对比了MOOP与MOPP的防护差异,并提供了海拔修正、漏电流测试等关键设计指南,助力医疗设备安全合规。

weixin_30633405的博客 387

JAVA可以赋值分数吗_Java数据类型知多少?

c c++趣味编程全彩印刷基本游戏70.4元包邮(需用券)去购买 >Java数据类型1.八大基本数据类型类型储存需求取值范围byte(字节型)1字节-128~127short(短整型)2字节-32,768~32,769int(整型)4字节-2,147,483,648~2,147,483,647long(长整型)8字节-9,223,372,036,854,775,808~9,807float(...

weixin_28687807的博客 511

Cherry Studio部署MCP服务报错全记录:从零解决‘Connection closed‘问题

本文详细记录了在Cherry Studio中部署MCP服务时遇到‘Connection closed’报错的完整排查与解决过程。文章从环境依赖(UV、Bun)的安装验证、绝对路径配置、网络镜像源设置,到服务端手动调试与Cherry Studio配置检查,提供了一套系统性的解决方案,帮助开发者彻底解决此类连接问题。

g9h0i1的博客 764

Java的8种基本数据类型

整点型 整数类型 byte,short,int,long float,double类型 布尔类型 Boolean

路宇的博客 2万+

5G 网络的移动性管理上下文对比介绍

5G 网络的移动性管理上下文对比介绍 4G/5G MM移动性管理机制对比 5G引入了新移动性管理状态,通过mobility pattern(移动方式)实现按需的移动性管理等。 MM的相关状态分为一下几种: RM状态(用户注册管理 注册态/非注册态)和CM状态(用户连接态/空闲态)独立;RM状态标识UE是否注册到网络,CM状态标识UE和核心网的信令连接是否存在。 RAN侧引入RRC-inactive state:UE(用户端)对于CN(核心网)而言处于连接态,对RAN(接入网)而言处于Ld..

m0_59032675的博客 4820

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 329

java:按照比例拆分一个float(double)数据

输入的数据按指定的比例拆分,返回一个拆分后的数组

大头哥的哥 735

抖音小程序:解决获取手机号报错 getPhoneNumber:fail auth deny,登录注册时需要获取用户手机号,getPhoneNumber一直提示错误(Uniapp抖音小程序报错也能解决)

抖音字节小程序获取手机号报错getPhoneNumber:fail auth deny,抖音 小程序 获取手机号 报错 getPhoneNumber:fail auth ,抖音小程序获取手机号始终返回拒绝,抖音小程序获取手机号,已经过了试运营期但依旧报错如何解决,调用 tt.getPhoneNumber 接口报错,登录注册时需要获取用户手机号,getPhoneNumber一直提示getPhoneNumber:fail auth deny,此能力仅支持小程序通过试运营期后可用,默认获取权限,无需申请;unia

✅ 精选推荐文章 4305

Java 基本数据类型【基础篇】

Java 语言是强类型语言,其支持的数据类型分为两种:基本数据类型和引用数据类型 ···

低调,谦虚,自律,反思,成长! 1827

模型预测控制(MPC)解析(三):多输入多输出系统

本文为阅读笔记,仅供学习交流使用!!! 在之前的文章中,为了简单起见,以单输入单输出系统为例介绍了MPC控制的实现方法。因为使用的是状态空间方程作为系统模型,这种方法可以轻松的扩展到多输入多输出系统中。 ...

行者无疆的博客 1万+

【ARM Trace32(劳特巴赫) 使用介绍 1.3 - ARM 系统调试中常见的挑战】

每一个独立的gust os或者一个OS 内部里面美格独立的进程它使用虚拟地址是可能是重叠的,比如linux中每个用户进程它的运行地址(虚拟地址)都是0x0,这时如果想去同时调试所有进程,那么必须要有个办法把这些进程区分开来,trace32 就在虚拟地址前面加前缀的方法,这个前缀称为space id, 这个space id 实际上就是processor id或者是task id, 这样就可以把一个os内部的不同的进程区分开来。如果工具和内核中的连接是可以建立起来的,那么接下来就是调试工具使用的问题了。

CodingCos的博客 1961

java中涉及金额的数值应该用什么类型?

面试的时候,面试官问我在java中涉及金额的数值,应该用什么类型? 当时我想到了是double和float两个浮点类型。 最终我选择了double类型,考虑金额的大小,double是8个字节,float是4个字节。 面试后我查了一下,结论: 1.浮点数(double,flot)因为精度问题, 容易出现不精确的计算结果 2.浮点数范围比较小 Java中Math函数 java.math.BigDecimal; //BigDecimal除数 System.out.println("除

weixin_55056055的博客 3513

VictoriaMetrics | 云原生监控新宠: 使用 vmagent 工具采集 VM 集群指标实战

摘要:本文介绍了vmagent工具的安装部署及配置实践,该工具是VictoriaMetrics官方提供的指标采集组件,支持兼容Prometheus指标采集与转发。文章详细讲解了从二进制方式部署vmagent的步骤,包括下载安装、创建运行环境、配置systemd服务等过程。通过8429端口可查看采集状态,并演示了将Prometheus配置迁移到vmagent的方法。vmagent可实现远程写入VictoriaMetrics集群,为云原生监控提供高效解决方案。

全栈工程师修炼指南-IT知识分享 446

java基础(六)——数据类型的存储方式

转自: Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典) 1.java是如何管理内存的         java的内存管理就是对象的分配和释放问题。(其中包括两部分)         分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。

格局、视野、认知 1819

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

javaEE学习笔记-面向对象&JVM内存划分

面向过程:弊端就是不知道是谁做的这些事 面向对象 JVM内存划分 方法区存字节码(.class文件),静态变量 虚拟机栈:调用函数的时候都会创建一个栈帧 本地方法区 堆:被所有线程共享的区域,在虚拟机启动的时候就会被创建,new就会在堆中开辟新的存储空间 程序计数器:类似于计算机中的pc 栈和堆 1.数组: new的时候在堆中开辟一块地址 把开的首地址给了数组首位 用完了之后这一段地址...

Mercuriooo的博客 249

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

2.2 java中的变量和数据类型

大家好,我们今天来研究一下java基础语法中的变量和数据类型。什么是变量的,变量指的是在java程序的运行过程中,其值可在一定范围内发生改变的量。其实变量也就是内存中的一块空间,主要可以用来存储数据,并且最主要的特点是他可以重复使用。那么变量应该如何定义呢。        变量的定义格式:  数据类型   变量名  =  变量的值;     这个叫做变量的定义,还有一种叫做变量的声明,声明和定义的...

lsqingfeng的博客 477

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java八大基本数据类型、标识符及注释

注释方法 单行注释://(用于方法体中,解释语句含义) 多行注释:/* */(不推荐) 文本注释:/** */(用于方法和类之上来描述方法和类的作用) 标识符 驼峰命名法 小驼峰(用于方法名、普通变量的命名) ...

lxy_19980518的博客 3014

Java基础——2、基本语法(上)—基本数据类型

1、关键字和保留字 以上了解即可 2、标识符 3、变量 /* 变量的使用 1、java定义变量的格式:数据类型 变量名 = 变量值; */ class Test { public static void main(String[] args) { //写法一: //变量的定义 int age=12; //变量的使用 System.out.println("年龄age:"+age); //写法二: //变量的声明 int age1; //变量的赋值 age1=

程序猿的博客 231

java中各数据类型位于内存中存储方式

java中的各种数据类型在内存中存储的方式 转载别人的附上链接:https://blog.youkuaiyun.com/zj15527620802/article/details/80622314 1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题。(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重

zhanghaoyu_java的博客 701

java中的各种数据类型在内存中存储的方式

1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题。(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控

xdyong的专栏 2988

java 数据保存内存_java中的各种数据类型在内存中存储的方式 一

1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控每一个对象的运行状态...

weixin_35308269的博客 888

java数据类型浅析(一)

非java方向的小伙伴们刚开始学习可能会遇到一些问题,我就把我刚开始学的时候遇到的问题总结一下,大家可以互相讨论。 java数据类型浅析(二) 数据类型分为 除了字符型和布尔型,其他的基本数据类型都是有符号的。而且Java中的基本数据类型所占存储空间固定,不随操作系统的变化而变化。 这使得java具有可移植性和平台无关性。(我们在网课上也学到了跨平台性,我认为这就是一种具体体现) 这里在推荐大家...

L1142456160的博客 896

JAVA中的各种数据类型在内存中存储的方式

1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题。(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控

liu896749150的博客 1160

Javase-day05-数组(数组的创建和使用,Java内存划分)

数组(数组的创建和使用,Java内存划分)

流星的博客 275

基本数据类型和引用数据类型

基本数据类型:byte、int、short、long、char、float、double、boolean引用数据类型:类、接口类型、数组类型、枚举类型、注解类型区别:基本数据类型:在被创建的时,在栈上给其划分一块内存,将数值直接存储在栈上引用数据类型:在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。例如,有一个类Perso...

Alice_0_0的博客 316

java程序执行步骤,JVM的内存区域划分

由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:    如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程

MicroBoy的博客 763
上一篇: Java注释的使用及关键字
下一篇: Java运算符
--SILENCE--
博客等级 码龄10年 13粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值