java中的数据类型详解

引用类型:数组,类,接口

 

 

 

 

 

 

 

 

 

 

每个数据类型,多是有大小和必要特点。这里我还是不免俗的写一下。关于大小的单位bit中文翻译是 位。就是我们常说的小b,还有大B就是指的byte,中文翻译 字节。8bit=1Byte  。关于大小B,在这里说一下平时我们遇到的情况,因为好多人对这个多有点迷糊,我们在装宽带的时候,往往会问是多大带宽的。好比我用的是10M的宽带,但是别忘了运营商是用小b作为单位的,你直接直接看一下网卡的流量计算就明白了。但是操作系统对文件的大小是以大B为单位的。这样就出现了差异了,以下载为例,10M按说速度应该可以到10m啊。去看看迅雷,最大下载速度一直徘徊在1.2M左右。这样就等式就出现了:10Mb/s=1.25MB/s

类型 大小(bits) 备注
byte 8  
short 16  
int 32  
long 64  
float 32  
double 64  
char 16 JAVA是unicode的编码
boolean 1 ture/flase

基本类型转换

自动转换,一个原则是小转大。

byte->short(char)->int->long->float->double

强制类型转化

基本类型之间的转化。Java的类型检查很严格,从低精度转换到高精度是无须显式转换的,double d = 123;。但是反过来,进行窄化转换,由高精度向低精度,或者一种类型到另一种类型,则必须使用强制类型转化。Java提供了安全转化机制,但是结果是否是期望的,你自己保证吧。
double d = 12.5;
float f = (int) d; //结果不是13,而是12

◆寄存器:我们在程序中无法控制

◆栈(Stack):存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中

◆堆(Heap):存放用new产生的数据  引用类型本身

◆静态域:存放在对象中用static定义的静态成员

◆常量池:存放常量

◆非RAM存储:硬盘等永久存储空间

 

时间: 2024-07-29 06:31:52

java中的数据类型详解的相关文章

Java中final关键字详解_php技巧

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 主要介绍:一.final关键字的基本用法.二.深入理解final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能

Java 中的注解详解及示例代码_java

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行. 注解可以做什么 Java中的注解通常扮演以下角色 编译器指令 构建时指令 运行时指令 其中 Java内置了三种编译器指令,本文后面部分会重点介绍 Java注解可以应用在构建时,即当你构建你的项目时.构建过程包括生成源码,编译源码,生成xml文件,打包编译的源码和文件到JAR包等.软件的构建通常使用诸如Apache Ant和Mav

Java中的递归详解(用递归实现99乘法表来讲解)_java

1:普通实现99乘法表太简单,是个程序员都会,实现如下: package test.ms; public class Test99 { public static void main(String[] args) { for(int i=1; i<=9;i++){ for(int j=1; j<=i; j++){ System.out.print(j+" * "+i+ " = "+(i*j) +" "); } System.out.p

Java 中ThreadLocal类详解_java

ThreadLocal类,代表一个线程局部变量,通过把数据放在ThreadLocal中,可以让每个线程创建一个该变量的副本.也可以看成是线程同步的另一种方式吧,通过为每个线程创建一个变量的线程本地副本,从而避免并发线程同时读写同一个变量资源时的冲突. 示例如下: import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import ja

Java中static作用详解_java

static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是

Java 中位操作的详解

<1>.在了解位移之前,先了解一下正数和负数的二进制表示形式以及关系: 举例15和-15: 15 的原码: 00000000 00000000 00000000 00001111     补码: 11111111 11111111 11111111 11110000                  +1 = -15的原码:11111111 11111111 11111111 11110001 负数的原码即为:正数的原码取反,再加1. <2>位移操作:(只针对 int类型的数据有效

Java中字符编码格式详解_java

一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符,字符用char来存储,此时,突然想到,Java里面的char可以存放中文吗?后来发现是可以的,并且由此也引出了Java中字符的编码格式问题. 二.Java存储格式 在Java中,如下代码获取了字符'张'的各种编码格式. import java.io.UnsupportedEncodingExcept

Java中的随机数详解_java

在java中我们可以使用java.util.Random类来产生一个随机数发生.它有两个构造函数,分别是Random()和Random(long seed).Random()是用当前时间即System.currentTimeMillis()作为发生器的种子,而Random(long seed)是用指定的seed作为发生器的种子. 当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt().nextLong().nextFloat().nextDouble()等来获

Java中格式化处理详解

在Java中我们需要对一个数字进行四舍五入处理或者是对一个字符串进行格式化处理,我们需要使用String.Format方法或者其他格式化方法 一.Format方法 比如:DecimalFormat df = new DecimalFormat("#.00");SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");等 使用方法基本如下: Date date=new Date(fileTemp.lastModif