认识基本数据类型

在学习基本数据类型之前,我们先认识一下这两个单词:1、bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。

2、byte --字节:字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。在计算机内部,一个字节可以表示一个数据,也可以表示一个英文字母,两个字节可以表示一个汉字。

1Byte=8bit (1B=8bit)

1KB=1024Byte(字节)=8*1024bit

1MB=1024KB

1GB=1024MB

1TB=1024GB

基本数据类型:int 32bit

short 16bit

long 64bit

byte 8bit

char 16bit

float 32bit

double 64bit

boolean 1bit

(boolean 的备注+翻译)This data type represents one bit of information, but its "size" isn't something that's precisely defined.(ref)

这种数据类型代表一个比特的信息,但它的“大小”没有明确的定义

public class App {

public static void main(String[] args) {

System.out.println("Byte: " + Byte.SIZE);

System.out.println("Short: " + Short.SIZE);

System.out.println("Character: " + Character.SIZE);

System.out.println("Integer: " + Integer.SIZE);

System.out.println("Float: " + Float.SIZE);

System.out.println("Long: " + Long.SIZE);

System.out.println("Double: " + Double.SIZE);

System.out.println("Boolean: " + Boolean.toString(false));

}

}

输出

Byte: 8

Short: 16

Character: 16

Integer: 32

Float: 32

Long: 64

Double: 64

Boolean: false

Java 支持的数据类型包括基本数据类型和引用类型

基本数据类型如下:整数值型:

byte、short、int、long

字符型:char

浮点类型:float、double

布尔型:boolean

整数型:默认 int 型,小数默认是 double 型。Float 和 Long 类型的必须加后缀。比如:float f = 100f 。

基本数据类型注意事项:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。

如果一个整数的值超出了int类型能够表示的范围,则必须增加后缀“L”(不区分大小写,建议用大写,因为小写的L与阿拉伯数字1很容易混淆),表示为long型。

带有“F”(不区分大小写)后缀的整数和浮点数都是float类型的;带有“D”(不区分大小写)后缀的整数和浮点数都是double类型的。

编译器会在编译期对byte、short、int、long、float、double、char型变量的值进行检查,如果超出了它们的取值范围就会报错。

int型值可以赋给所有数值类型的变量;

long型值可以赋给long、float、double类型的变量;

float型值可以赋给float、double类型的变量;

double型值只能赋给double类型变量

引用类型声明的变量是指该变量在内存中实际存储的是一个引用地址,实体在堆中。引用类型包括类、接口、数组等。

特别注意,String 是引用类型不是基本类型。

什么是值传递和引用传递?值传递,是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。

引用传递,一般是对于对象型变量而言的,传递的是该对象地址的一个副本,并不是原对象本身。

一般认为,Java 内的传递都是值传递,Java 中实例对象的传递是引用传递。

是否可以在 static 环境中访问非 static 变量?

static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化。

如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

char 型变量中能不能存贮一个中文汉字?为什么?在 C 语言中,char 类型占 1 个字节,而汉字占 2 个字节,所以不能存储。

在 Java 语言中,char 类型占 2 个字节,而且 Java 默认采用 Unicode 编码,一个 Unicode 码是 16 位,所以一个 Unicode 码占两个字节,Java 中无论汉字还是英文字母,都是用 Unicode 编码来表示的。所以,在 Java 中,char 类型变量可以存储一个中文汉字。

推荐阅读

java中double类型占几个字节_面试官:Java 中有几种基本数据类型是什么?各自占用多少字节?...相关推荐

  1. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

  2. Java中double类型输出小数点后两位

    Java中double类型输出小数点后两位 思路 就是在输出的时候使用字符串格式即可. double testNum=1.123456789;System.out.println(String.for ...

  3. java double 转string_double转string java中double类型如何转换为String类型

    double转string java中double类型如何转换为String类型 在我们做的项目中,有一个字符串的生成,我们需要double去拼接,结果发现了,拼接后的字符串,那个double值用科学 ...

  4. java中double类型精度丢失问题及解决方法

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源: https://blog.csdn.net/yacolsp ...

  5. Java中double类型比较大小或相等的方法

    在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以.下面介绍两种比较double数据是 ...

  6. Java中double类型大小比较的五种方法

    文章目录 1.使用BigDecimal 2.使用包装类Double 3.在误差范围内运行相等 4.转换成字符串 5.使用doubleToLongBits()方法 在Java中 int类型数据的大小比较 ...

  7. Java中char类型占几个字节?

    要想弄清楚char占用几个字节,就必须了解Unicode编码机制. 早在Unicode诞生之前,就已经有很多字符集,如美国的ASCII.表示西欧语言的ISO 8859-1.中国的GB18030等. 但 ...

  8. java中float类型占4个字节,long类型占8个字节,为什么long类型能自动转换成float类型,且float类型为什么表示的范围比long类型大

    作为常识我们都知道,float型在内存中占用的是4个字节,而long型占用8个字节.单从字节数来看,long型是大于float型的.但实际上,float表示的范围却是比long要大的 float类型的 ...

  9. Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

    BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...

最新文章

  1. 微软自拍:让黑科技拯救不会拍照的你
  2. 高性能MySQL读书笔记---查询优化
  3. java 北理工 教材_北理工《Java技术与应用》在线作业
  4. Newtonsoft.json中 linq to json 和序列化哪个快?
  5. 季度报告 选择日期_易方达富惠纯债债券型证券投资基金 2018年第4季度报告
  6. 锤击测试使用指数窗会引起什么问题吗?
  7. 【CSS】虎躯一震!flex=1 和 flex-grow=1 竟然不一样!
  8. 【IJCAI2019】中国团队占 38%,北大南大榜上有名
  9. Apache Rewrite 理解
  10. 机器学习十大算法的核心思想、工作原理、适用 情况及优缺点
  11. python自制一款职位分析器,一键生成岗位分析报告
  12. H3C_利用策略路由实现出口双线路负载(选路)的部署
  13. umount报错设备繁忙(device is busy)怎么处理?
  14. ValueError: Variable in_hidden/weights already exists, disallowed. Did you mean to set reuse=True or
  15. 第八部分 项目资源管理
  16. “文心一言”和“ChatGPT”两者有何差距?
  17. js、jquery操作复选框checkbox总结(单个/多个获取选中值、初始化设置默认选中值、全选反选)
  18. dell进入u盘启动模式_台式戴尔电脑U盘装系统按F几是u盘启动
  19. VoLTE通话相关技术
  20. LeetCode 416. 分割等和子集 【c++/java详细题解】

热门文章

  1. Spring获取前台参数的几种方式
  2. html语言中%3c%%%3e中语言,[工学]C语言程序设计习题解答.doc
  3. php中echo有哪些,php中echo和print有什么区别
  4. java匿名内部类_java中的匿名内部类
  5. 中国电信建成全球首个覆盖最广的商用下一代物联网
  6. 第十三篇:multimap容器和multiset容器中的find操作
  7. windows2003管理组创建
  8. MSSQL TCP/IP服务无法启动的解决方法
  9. HP5200打印机从控制面板手动配置TCP/IP 参数
  10. NeatUpload:支持大文件上传 进度条