前言

  Java是强类型(strongly typed)语言,强类型包含两方面的含义:

  1. 所有的变量必须先声明后使用;
  2. 指定类型的变量只能接受预支匹配的值。

  这意味着每一个变量和表达式都有一个在编译时就确定的类型。

  Java数据类型分为两大类:基本类型和引用类型。

基本数据类型

  Java的基本数据类型包括:boolean、字符型和数值类型。

  数值类型包括:整型和浮点类型

boolean

  大小:Java规范并没有强制指定boolean类型的变量所占内存大小

  范围:true或false

  例子:boolean a = true;

          boolean b = false;

byte

  大小:1个字节,即在内存中占8位

  范围:-128~127,即:-27~27-1

  例子:byte a = 12;

short

  大小:2个字节

  范围:-32768~32767,即:-215~215-1

  例子:short a = 12;

int

  大小:4个字节

  范围:-2147483648~2147483647,即:-231~231-1,留个印象:21亿多

  例子:int a = 12;

long

  大小:8个字节

  范围:-263~263-1,留个印象:92亿亿

  例子:long a = 12L;

注意:

  1. int是最常用的整数类型,直接给出一个整数值默认就是int类型
  2. 若要定义成long型,必须在数字后面加上l或L,一般使用L,因为小写l和数字1很像,容易出错

字符型

  大小:2个字节

  例子:char a = 'a';

  字符型通常用于表示单个的字符,必须使用单引号(')括起来,如:'a'

单浮点数

  大小:4个字节

  例子:float a = 12.3f

注意:Java默认的浮点数是双浮点数(double),所以使用float时必须加上f或F

双浮点数

  大小:8个字节

  例子:double a = 12.3;

注意:若需要数据非常精确的话,不要使用浮点数,以为Java的浮点数不精确,应该使用类Decimal,以后会由讲解

基本数据类型的类型转换

自动类型转换

  Java所有数值类型的变量都可以相互转换,转换规则:表数范围小的可以向表数范围大的类型转换。

  即:byte——> short ——> int ——> long ——> float ——> double

                       char ——> int

  例子:

                

强制类型转换

  当转换时不符合上面的规则,则编译器会报错,如:

  

  这时需要强制转换,如:

  

注意:强制类型转换会失去精度,如上图,小数部分丢失了。

  

Java学习笔记三——数据类型的更多相关文章

  1. Java学习笔记三:Java的变量、常量、变量的类型及使用规则

    Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ...

  2. Java学习笔记2——数据类型和转换

    前提知识: 1字节=8bit:1bit以一个二极管表示,代表2个状态(0或者1):2bit代表22即4种状态(00,01,10,11),8bit即是28即256种状态,16bit即是65536种状态. ...

  3. 【原】Java学习笔记003 - 数据类型

    package cn.temptation; public class Sample01 { public static void main(String[] args) { System.out.p ...

  4. Java学习笔记三十一:Java 包(package)

    Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...

  5. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  6. Java学习笔记三.2

    5.继承 //Java中所有对象都显式/隐式的继承子Object类 class fu{ fu(){ System.out.println("fu..."+getNum()); sh ...

  7. Java学习笔记三---unable to launch

    环境配置好后,在eclipse下编写HelloWorld程序: ①创建新工程 ②创建.java文件,命名为HelloWorld ③在源文件中添加main方法,代码如下: public void mai ...

  8. Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...

  9. Java学习笔记三:运算符

    1.算术运算符: GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac01.java +  -  *  /  ...

随机推荐

  1. C. Dima and Salad 背包好题

    http://codeforces.com/contest/366/problem/C 在n个物品中选出若干个,使得sum(a[i]) = k * sum(b[i]) 把问题转化一下就是,求sum(a ...

  2. ArcMap中地图输出(Options)选项显示不完整

    首先,我开始遇到的时候,认为是高分辨屏幕的问题,所以修改了屏幕的分辨率,结果并没有改变. 然后,认为是对话窗口的显示,修改字体大小,也没有显示完整. 最后,是修改了ArcGIS的注册表才解决.解决方式 ...

  3. Java(异常处理)动手动脑

    1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...

  4. Unity(四)IocContainer 封装类库

    首先要在项目中安装Unity,通过NuGet搜索Unity. 1.定义接口 IDependencyResolver using System; using System.Collections.Gen ...

  5. 第一章 jQuery基础方法回顾

    jQuery即JavaScript,它是一个.js文件(官网下载).使用时须将jQuery库的声明写在HTML文档的head标签里. 章节内容: 1.选择DOM节点 2.延迟的JavaScript的执 ...

  6. IplImage 结构解读

    IplImage 结构解读: typedef struct _IplImage { int nSize;                              /* IplImage大小,等于wi ...

  7. Slight difference between C++ and C

    In C++, results of assignment operation, prefix increment and prefix decrement are all lvalues, the ...

  8. some things

    ////html[1]/body[1]/div[9]/div[1]/div[1]/div[1]/ul/li  截取规则 Articles/Article[1]:选取属于Articles子元素的第一个A ...

  9. PHP的运行机制与原理(底层) [转]

    说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核.Zend引擎.以及扩展层:PHP内核用来处理请求.文件流.错误处理等相关操作:Zend引擎(ZE)用以将源文件转换成机器语 ...

  10. java反射案例

     Java反射经典实例 2007-08-29 17:55:25 分类: Java Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射.反射机制是如今很多流行框架的实现 ...