JavaSE复习~基本数据类型
数据类型
java有两大类数据类型:基本数据类型 和 引用数据类型
基本数据类型
- 整数型:byte、short、int、long
- 浮点型:float、double
- 字符型:char
- 布尔型:boolean

各种基本数据类型的取值范围:

| 数据类型 | 位数 | 默认值 | 取值范围 | 举例说明 |
|---|---|---|---|---|
| byte(位) | 8 | 0 | -2^7 - 2^7-1 | byte b = 10; |
| short(短整数) | 16 | 0 | -2^15 - 2^15-1 | short s = 10; |
| int(整数) | 32 | 0 | -2^31 - 2^31-1 | int i = 10; |
| long(长整数) | 64 | 0 | -2^63 - 2^63-1 | long l = 10l; |
| float(单精度) | 32 | 0.0 | -2^31 - 2^31-1 | float f = 10.0f; |
| double(双精度) | 64 | 0.0 | -2^63 - 2^63-1 | double d = 10.0d; |
| char(字符) | 16 | 空 | 0 - 2^16-1 | char c = 'c'; |
| boolean(布尔值) | - | false | true、false | boolean b = true; |
| void |
举例:byte数据类型在计算机中的表示:

注意事项
- 字符串不是基本类型,而是引用类型
- 浮点型可能只是一个近似值,并非精确的值
- 表示范围与字节数不一定相关,如float比long表示范围广,但是float是4字节,long是8字节
- 浮点数中默认类型是double,整数中默认类型是int
- 如果要给long变量赋值,常量应该加后缀
L或者l - 如果要给floag变量赋值,常量后缀应该加
F或者f
整数类型
整数类型的默认类型是 int
浮点数类型
浮点数类型的默认类型是 double
字符类型
字符类型的常量有三种表示的方式:
- 直接通过单个字符指定字符型常量:如
'A'、'B'、'5'等 - 通过转移字符表示特殊字符型常量:如
'\n'、'\\'等 - 直接使用Unicode值来表示字符型常量:如:
'\u66f9'、'\u950b'等
常用的转义字符:

Unicode编码表:
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分
Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符,不过现在普遍采用的还是UCS-2,只用两个字节来 编码,看一下Unicode对汉字的编码
基本数据类型的转换
当数据类型不一样时,将会发生数据类型转换

自动转换(隐式)
- 特点:代码不需要进行特别说明,自动完成
- 规则:数据范围从小到大
注意:
- char、byte、short等类型在计算时首先会转换为int类型,然后在进行计算
- boolean 类型不能发生数据类型转换
强制转换(手动)
语法:(要转换的目标类型) 要转换的数据
- 需要自己生命如何转换
- 会出现数据或精度损失
JavaSE复习~基本数据类型的更多相关文章
- javaSE复习之——线程
线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CP ...
- JavaSE复习日记 : 八种基本数据类型
/* * 基本数据类型 * * Java里的8种基本数据类型: * byte --- 1 byte = 8 bit; * short --- 2 byte = 16 bit; * int --- 4 ...
- JavaSE复习日记 : 算是个小前言吧
/* * Java也学了好久了,抽个时间整理了一下课堂笔记,也有些是我刚开始学会犯的一些错误.在这里浅谈一下JavaSE的基础内容,对我来说也是一种不错的复习方式. * * 那好,对于初学者来说,学习 ...
- javaSE复习总结
之前匆匆忙忙学完了java,后来又接着学习ee,然而,越是想要快一点最后反而会更慢一点.因为匆忙间 我几乎什么都没学会.在后面的学习中实在非常吃力.就把javase 的视频大部分又重新看了一遍.真的收 ...
- JavaSE复习日记 : 接口
/* * 接口 * 引用数据类型: * 类,接口,数组; * * 接口是一种引用数据类型,可以看作是一个特殊的类,它存在的目的是为了解决没有多重继承引起的功能弱的问题而设计的,一个类只能有一个父类,但 ...
- JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符
// Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...
- ndk学习之C语言基础复习----基本数据类型、数组
关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...
- JavaSE复习~Java语言发展史
Java概述 什么是Java语言? Java语言是美国Sun公司(Stanford University NetWork),在1995年推出的高级编程语言. 所谓编程语言,是计算机的语言,人们可以使用 ...
- JavaSE复习巩固
第二天:复习if语句,扫描器,switch语句,循环语句 1.if语句---流程控制语句 if之前学的语句是顺序结构 1.1 单个if的语法结构 if(条件判断){ 满足条件需要做的事情: } int ...
随机推荐
- JAVA Feign
Feign 是一种声明式.模板化的 HTTP客户端 . 在Spring Cloud中使用 Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程 ...
- goahead web 服务器
https://blog.csdn.net/xieyihua1994/article/details/74002413
- 关于Dev-C++的安装以及基本使用方法
我觉得Dev-C++是一款小巧方便的编译器,就给那些刚刚学习编程的同学讲一下这个软件的安装和基本的编译以及一些使用的技巧. (完全是傻瓜式的截图和教程,内容过于冗余,主要是考虑到这些新生没有接触过编程 ...
- python笔记17
1.今日内容 迭代器(3*) 生成器(4*) 装饰器(5*) 项目结构 logging模块 2.内容回顾 & 作业 2.1 内容回顾 2.1.1 函数(内置/自定义) 基本函数结构 def f ...
- Visual C++ 2013 and Visual C++ Redistributable Package 更新版官网下载地址
Visual C++ 2013 and Visual C++ Redistributable Visual C++ 2013 and Visual C++ Redistributable Packag ...
- android底部导航栏实现
第一种用radiobutton实现 https://wizardforcel.gitbooks.io/w3school-android/content/75.html 布局文件,使用radiogrou ...
- linux mv命令 cp命令
mv mv [options] source dest -f : 在mv操作要覆盖某已有的目标文件时不给任何指示 命令格式 运行结果 mv 文件名 文件名 将源文件名改为目标文件名 mv 文件名 目录 ...
- C语言程序设计(三)——顺序程序设计
目录: 常量.c 常量分类: (1)字面常量(直接常量):数值常量(分为整型常量和浮点型常量).字符串常量和字符常量 (2)符号常量 (3)常变量 \f,换页,将当前位置移到下一页的开头 \v,垂 ...
- Go流程结构(if)
一.程序的流程结构 程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构. 顺序结构:从上向下,逐行执行. 选择结构:条件满足,某些代码才会执行.0-1次 分支语句:if,switch,sele ...
- 删除文件时提示,你需来自SYSTEM的权限
1. 提示如下 2. 对要删除的文件操作如下 2.1 为删除的文件添加本地账户 2.2 提示如下,多点几次继续就好 2.3 给本地账户添加完全控制权限