java数据类型学习笔记

数据类型划分

数据类型可分为两种:

1:基本数据类型

1)整数型
包括:byte,short,int,long
2)浮点型
包括:float,double
3)字符型
包括:char
4)布尔型
包括:boolean

2:引用数据类型

1)类
包括:class
2)接口
包括:interface
3)数组

逻辑型

boolean类型适用于逻辑运算,一般用于程序流程控制。

boolean类型数据只允许取值true或false,不能以0或非0的整数替代true和false,并且一定要小写。

使用方法:

boolean b1=false;//直接赋值
boolean b2=3>4;//由条件表达式赋值
boolean b3=b1;//由另一个boolean变量赋值
boolean b4=list.ready();//由方法返回赋值,假设ready方法返回一个boolean的话
程序中boolean为布尔类型变量

实例中使用方法:

boolean flag = false;
if(!flag){
//do something
}

字符型

char类型数据用来表示通常意义上的“字符”。

字符常量为用单引号括起来的单个字符串。例如

char eChar = 'a';
char aChar = '中';
char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。 而一个中文字符的Unicode就是2个字节。

注意:Java中不推荐使用char类型存储字符数据,通常使用string或者stringbuffer存储。

整数型

整数型包含四中类型:int(整型),long(长整型),short(短整型),byte(字节型)

它们都定义了一个整数,唯一区别就是它们能够表示的数据的范围。

它们都有固定的表数范围和字段长度,其不收具体操作系统的影响,以保证Java程序的可移植性。

取值范围:

类型        占用存储空间                取值范围
byte        1字节            [-2(7)~2(7)-1]   -128到127之间的任意整数
short       2字节            [-2(15)~2(15)-1] -32768~32767之间的任意整数
int         4字节            [-2(31)~2(31)-1] -231到231-1之间的任意整数
long        8字节            [-2(63)~2(63)-1] -263到263-1之间的任意整数
能够表示的范围越大,占用的内存空间就越大,因此在程序设计中,应当选择最合适的类型来定义整数。

浮点型

与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响

存储小数的变量数据类型---浮点数,这个名称是相对于定点数而言的,这个点就是小数点。小数点可以根据需要改变位置。

在Java语言中有两种浮点数类型:float、double。

其中float是单精度型,占用32位内存空间,而double是双精度型,占用64位内存空间。

数值包含小数点或指数,或者在数字后面带有字母F or f(float), D or d(double)

float可以精确到7位有效数字,第8位的数字是第9位数字四舍五入上取得的;

double可以精确到16位有效数字,第17位的数字是第18位数字四舍五入上取得的

double a = 3.4;
float f = 4.3f;//不加f编译出错,损失精度

时间: 2024-09-20 04:24:48

java数据类型学习笔记的相关文章

java基础学习笔记之反射_java

反射 反射:将类的属性和方法映射成相应的类. 反射基本使用 获取Class类的三种方法: 类名.class 对象名.getClass() Class.forName("要加载的类名") 根据API写就行了,大致流程就是: 用上述三种方式之一获取特定类的Class类,即该类对应的字节码 调用Class对象的getConstructor(Class<?>... parameterTypes)获取构造方法对象 调用是构造方法类Constructor的newInstance(Obj

java虚拟机学习笔记

笔记 1.编译顺序:                 编译器                     虚拟机      虚拟机          java源文件*.java------->字节码*.class------>类装载器--->执行引擎 一个.class文件只能包含一个类或接口.因此.java文件中定义了多少类,编译时就会生成多少.class文件(内部类不算). 2.java程序可以选择两种方式访问底层系统,由程序员选择:(1).通过java程序调用javaapi调用本地方法,

java虚拟机学习笔记1

笔记 1.编译顺序:                 编译器                     虚拟机      虚拟机          java源文件*.java------->字节码*.class------>类装载器--->执行引擎 一个.class文件只能包含一个类或接口.因此.java文件中定义了多少类,编译时就会生成多少.class文件(内部类不算). 2.java程序可以选择两种方式访问底层系统,由程序员选择:(1).通过java程序调用javaapi调用本地方法,

java基础学习笔记之泛型_java

泛型 将集合中的元素限定为一个特定的类型. 术语 ArrayList<E> -- 泛型类型 ArrayList -- 原始类型 E -- 类型参数 <> -- 读作"typeof" ArrayList<Integer> -- 参数化的类型 Integer -- 实际类型参数 几点注意: 参数化类型和原始类型相互兼容 ArrayList collection1 = new ArrayList<Integer>();//通过,无warning

《Effective Java》学习笔记(4)

笔记 五.C语言结构的替代 如何用java模拟c语言中的一些结构 第19条:用类代替结构     对于C语言中的结构,java可以用类来代替,不过你不应让类的成员变量可以被公开访问,成员变量应该是private,然后提供一些读写操作来操纵这些变量,想比于C或者C++里的结构类型,这样的类更为安全,体现了OOP的封装性.示例代码 public class Point{     private float x;    private float y;     public float getX(){

java虚拟机学习笔记2

笔记 11.数组数组也是类的对象.具有相同类型和维数的数组属于同一个类(不管长度只看维数).数组的长度属于对象实例.多维数组也是一维数组.如二 维数组,即为一个一维数组,该一维数组的每个元素是一个数组的引用.数组和普通对象一样也存储在堆中.数组名为数组的引用,通过索引即数组标号来访问数组内容. 12.异常在java栈帧的帧数据区内保存有针对该方法的异常表的引用.异常表记载了该方法的字节码(*.class)受catch子句保护的范围(即try子句里的 字节码).当某个方法抛出异常时,虚拟机在对应的

Java核心技术学习笔记

掌握Java核心技术是学习和掌握好Java技术的关键,下边分17个点对这些Java核心技术进行讲解. 1.Java中没有多继承,而是用接口来代替多继承 2.运行一个已经编译的程序时,Java解释器总是从指定类的main方法中的代码开始执行,因此,执行代码中必须有一个main函数. 3.Java是典型的强类型语言,即必须声明变量的类型,Java中有8种类型,6种数值类型(4个整数型和2个浮点型).一个字符类型和一个boolean类型. 4.强制类型转换: int nx = (int) x; //

JAVA NIO学习笔记1 - 架构简介

最近项目中遇到不少NIO相关知识,之前对这块接触得较少,算是我的一个盲区,打算花点时间学习,简单做一点个人学习总结. 简介 NIO(New IO)是JDK1.4以后推出的全新IO API,相比传统IO方式NIO采用了全新的底层I/O模型.传统IO的设计概念是面向流,而NIO则是面向块.简单点说,传统I/O是基于字节的,所有I/O都被视为单个字节的移动,使用时需先把对象转换为字节码:而NIO是面向块的,以块为单位处理数据,每个操作会生成或消费一个块的数据.从设计理念来看,NIO的操作粒度要比传统I

Java Annotation学习笔记

作为一个早期短暂从事过C++开发工作的程序员,我个人认为Annotation可能是Java与C++语言较大的不同点之一,这也是一个前C++程序员由衷认为Java可能.或许.maybe要比C++更好用的原因之一.二十多年来,Java一直保持着更新,不断完善并与时俱进,这可能是其多年来独领编程语言之风骚的重要原因.不多扯,入正题.(编程知识的学习,我一般会遵循这样的一个过程:先熟悉基本概念,再来个小程序跑起来看看,最后理论与程序相结合,加深认识并总结记录.) 1.什么是Annotation Anno