[06] Java的数据类型
1、基本数据类型
1.1 基本数据类型
| 数据类型 | 位数 | 取值范围 |
| byte | 8 | -128 ~ 127 |
| char | 16 | '\u0000' ~ '\uFFFF' |
| short | 16 | -2^15 ~ 2^15-1 |
| int | 32 | -2^31 ~ 2^31-1 |
| long | 64 | -2^63 ~ 2^63-1 |
| float | 32 | 略 |
| double | 64 | 略 |
| boolean | 1 | true / false |
- 八进制,逢八进一,用0开头
- 十六进制,逢十六进一,0x开头,0-9,A,B,C,D,E,F
- 二进制,逢二进一,任何数据在计算机都是二进制存储,八个二进制代表一个字节byte


1.2 类型转换
1.2.1 自动类型转换
- 两种类型必须兼容(如boolean无法转int),且目标类型大于源类型(即低精度转高精度)
- 对于表达式而言,最终结果与表达式中最高的数据类型相同
- 类型转换自动发生,无需显式说明
char ch = 'A';
int num = ch;
float f = num;
double d = f;
char ch = 'A';
int num = ch;
float f = num;
double d = f;
1.2.2 强制类型转换
short a = 128;
byte b = (byte) a;
System.out.println(a); //128
System.out.println(b); //-128
short a = 128;
byte b = (byte) a;
System.out.println(a); //128
System.out.println(b); //-128
2、引用数据类型
public class Test {
//属性
int a = 11;
char[] ch = {'n', 'b'};
//方法
public void change(int a,char ch[]) {
a = 99;
ch[0] = 's';
}
//测试
public static void main(String args[]) {
Test test = new Test();
test.change(test.a, test.ch);
System.out.println("test.a = " + test.a);
System.out.println("test.ch = " + test.ch[0] + test.ch[1]);
}
}
//对于基本数据类型,拷贝过去对原来的属性没有影响,最终还是11;
//对于引用数据类型,传递的是虚地址,在方法中远程更改了真正的对象,所以输出不是nb,而是sb
public class Test {
//属性
int a = 11;
char[] ch = {'n', 'b'};
//方法
public void change(int a,char ch[]) {
a = 99;
ch[0] = 's';
}
//测试
public static void main(String args[]) {
Test test = new Test();
test.change(test.a, test.ch);
System.out.println("test.a = " + test.a);
System.out.println("test.ch = " + test.ch[0] + test.ch[1]);
}
}
//对于基本数据类型,拷贝过去对原来的属性没有影响,最终还是11;
//对于引用数据类型,传递的是虚地址,在方法中远程更改了真正的对象,所以输出不是nb,而是sb
[06] Java的数据类型的更多相关文章
- 浅析Java基本数据类型
作为一种强类型语言,Java针对每一种数据都定义了明确的数据类型.大体来讲可分为:基本数据类型和引用数据类型:在此,主要讨论前者,后者以后再继续探究. Java基本数据类型分为四类八种: 1: 整数 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
- 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述
054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- Java中数据类型及其之间的转换
Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种:1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits).2 ...
- Java 基本数据类型 sizeof 功能【转】
转自:http://blog.csdn.net/sunboy_2050/article/details/7310008 版权声明:本文为博主原创文章,未经博主允许不得转载. Java基本数据类型int ...
- java 的数据类型
java 的数据类型有基本类型和引用类型 java的类的关系:有继承,有依赖,有关联,聚合,组成.
- java基础之java基本数据类型
1.Java数据类型基本概念: 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据 ...
随机推荐
- 简单倒计时js代码
//倒计时 var timer=null; var interval = 1000; function ShowCountDown(year,month,day,hour,minute,second, ...
- 抛开深层次底层,快速入门SpringMVC
SpringMVC主要有三个核心部分组成,DispatcherServlet.Controller.ViewResolver. DispatcherServlet: 请求输入 ...
- js把星期由数字转换为星期名称
//由星期的数字转换为星期的名称,date格式:2016-01-07,用"-"分割 function toWeekName(date) { var newDate = new Da ...
- 基于FPGA的中值滤波算法实现
在这一篇开篇之前,我需要解决一个问题,上一篇我们实现了基于FPGA的均值滤波算法的实现,最后的显示效果图上发现有一些黑白色的斑点,我以为是椒盐噪声,然后在做基于FPGA的中值滤波算法的实验时,我发现黑 ...
- go web 第三天 学习笔记 --mysql
CREATE TABLE `userinfo` ( `uid` INT() NOT NULL AUTO_INCREMENT, `username` VARCHAR() NULL DEFAULT NUL ...
- Openfire分析之三:ConnectionManager 连接管理(1)
Openfire是怎么实现连接请求的? XMPPServer.start()方法,完成Openfire的启动.但是,XMPPServer.start()方法中,并没有提及如何监听端口,那么Openfi ...
- 迈向angularjs2系列(1):typescript指南
typescript指南 前言 typescript是angularjs2推荐使用的脚本语言.它由微软2012年首次发布. 一. typescript和javascript的区别 1.从遵循的规 ...
- Django编写RESTful API(三):基于类的视图
欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装 ...
- 第一行代码_activity生命周期
这类文章基本上已经是烂大街了,不过我今天仍然要给自己做一遍梳理,因为通过昨天的项目我发现自己还是不太懂activity的各个生命周期;各位看官勿喷; 七个生命周期及其作用 oncreat 完成初始化操 ...
- 深入浅出数据结构C语言版(17)——有关排序算法的分析
这一篇博文我们将讨论一些与排序算法有关的定理,这些定理将解释插入排序博文中提出的疑问(为什么冒泡排序与插入排序总是执行同样数量的交换操作,而选择排序不一定),同时为讲述高级排序算法做铺垫(高级排序为什 ...