前提知识:

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

数值范围:1bit=0~1;2bit=-2~0~1;8bit=-128~0~127;16bit=-32768~0~32767。其中2,4,256,65536是总容量,1,128,32767是实际最大容量。

程序员直接输入数值都是整型(int)。

题外知识:

微软计算器:运行->calc。

+既可以是加号,也可以是字符串连接符,具体看使用场景。

转义字符:\\ 反斜杠    \' 单引号    \" 双引号    \n 换行    \f 换页    \b 倒退一格    \r 归位    \t 字符表tab

类型分类:

数据类型分为基本和引用两类。基本分为数值,字符(char)和布尔(boolean)值三种;引用又分为类(class),接口(interface),数组([]),枚举(enum)和注解(@interface)五种;数值有整数(byte,short,int,long)型和浮点(flaot,double)型。 ps. 字符串(String)是引用类型,也可以用作数组(String)。

占用内存:

整数型数值有四种:byte占1字节;short占2字节;int占4字节;long占8字节。ex. 1,2,56...

浮点型数值有两种:float(单精度)占4字节;double(双精度)占8字节。ex. 1.3,2.5......

字符:char占2字节。ex. a,b,l,5,95...

布尔:boolean占1bit。布尔值只代表一种状态(如:true or false,即0或1)所以只占1bit。

输入方式:

int,short,byte型直接输入

输入大类型(long)和浮点数时最好在数值后面加上L,F,B。ex. long=800 实际上输入的800是int型,到long型会有一个转换过程,会占用资源,如果直接输入 long=800L 那么计算机就会直接识别为long型,会减少资源的消耗。要培养优化思想。

运算方式:

小数之间不能直接运算,会丢失精度 ex. 0.7-0.2=0.499...94 。解决方式:放大至整数运算;Java类。

天文数字(超过最大容量)不能直接运算,会越界,出现错误。解决方式:Java类。

byte型在数值等于127的时候,+1的结果不是128而是-128,因为越界了,其他的类似。

转换方式:

自动转换:数据类型从小到大提升,整型向浮点型转换,只要还在范围之内就没有丢失精度,Java会自动转换。

强制转换:由大类型转换为小类型和由浮点型转换为整数型的方法是在数值前面加上(目标类型) ex. int n = (int) 4.5 输出为 n=4;char和boolean不能转换为其他类型。强制转换会丢失精度。

Java学习笔记2——数据类型和转换的更多相关文章

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

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

  2. Java学习笔记三——数据类型

    前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...

  3. Java学习6——基本数据类型及其转换

    Java常量: Java的常量值用字符串表示,区分不同的数据类型 整型常量123.浮点型常量3.14.字符常量'a'.逻辑常量true.字符串常量"helloworld". ps: ...

  4. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  5. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  6. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  7. 20145231第二周Java学习笔记

    20145231 <Java程序设计>第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客. 第三章:基础语法 知识点比 ...

  8. Java学习笔记之---API的应用

    Java学习笔记之---API的应用 (一)Object类 java.lang.Object 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个 ...

  9. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

随机推荐

  1. 类型信息、异常、I/O流(day11)

    二十三 运行时的类型信息 typeid运算符 #include <typeinfo> typeid(类型/对象) )返回typeinfo的对象,用于描述类型信息. )在typeinfo类中 ...

  2. python笔记之json报错

    写爬虫的过程中不免遇到处理json数据的情况,今天在爬取新华网新闻数据时发现使用json.loads函数时报错: json.decoder.JSONDecodeError: Expecting val ...

  3. ps图标长投影如何做?

    https://jingyan.baidu.com/article/2f9b480dad9c8e41cb6cc297.html ps图标长投影

  4. MDK(KEIL5)如何生成.bin文件 【转】

    最近要做个bin文件,网上找了好多都说的不够清楚,后来找到一篇实测可用,说明清楚的,转过来以便学习用. 参考传送门:https://blog.csdn.net/nx505j/article/detai ...

  5. 洛谷 P3275 BZOJ 2330 [SCOI2011]糖果

    题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配 ...

  6. java.lang.Object 方法解析

    1.clone() a.是一个native方法,效率比非native高 b.是protected 修饰的,要用他必须继承object,默认都是继承object的 c.返回是一个object 对象,需要 ...

  7. 楼控-西门子-insight使用-软件重新授权

    在insight的使用中,可能会碰到insight的软件授权失败,此时需要重新将原授权删除,再重新将软件授权. 先看一下软件授权失效会出现什么: 再看看如何删除原来的密钥,再注册新的密钥.

  8. LNMP一键安装包 V1.1 公布

    LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...

  9. vbs 脚本2

    一些很恶作剧的vbs程序代码 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-16我要评论 恶作剧的vbs代码,这里提供的都是一些死循环或导致系统死机的vbs对机器没坏处,最多关机重启 ...

  10. PHP之实现双向链表(代码篇)

    <?php/** * PHP之实现双向链表 */class Hero{ public $pre=null; public $no; public $name; public $next=null ...