前提知识:

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. 【剑指Offer】59、按之字形顺序打印二叉树

      题目描述:   请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推.   解题思路:   这道题仍然是二 ...

  2. windows开机自启动bat脚本设置

    群里有朋友问到windows下如何设计开机自启动的脚本,一般而言小鱼大多还是在linux环境下运维,windows的bat了解的很少,windows运行机制也不是特别了解,不过既然朋友问到这个问题,虽 ...

  3. 爬虫系列(二) Chrome抓包分析

    在这篇文章中,我们将尝试使用直观的网页分析工具(Chrome 开发者工具)对网页进行抓包分析,更加深入的了解网络爬虫的本质与内涵 1.测试环境 浏览器:Chrome 浏览器 浏览器版本:67.0.33 ...

  4. Hibernate事务管理-HibernateTransactionManager-对hibernate session的管理

    由于对SSH还停留在比较初级的应用水平上,今天在遇到一个疑惑时折腾了很久,具体问题是这样的, 有这么一个测试方法, public static void test1() { ApplicationCo ...

  5. Disruptor使用

    Disruptor作者,介绍Disruptor能每秒处理600万订单.这是一个可怕的数字. disruptor之所以那么快,是因为内部采用环形队列和无锁设计.使用cas来进行并发控制.通过获取可用下标 ...

  6. 实践一些js中的prototype, __proto__, constructor

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  7. asp.net-EF-表间关系

    博客推荐 http://www.cnblogs.com/Gyoung/archive/2013/01/17/2864150.html 先学习下这几个方法 Has方法: HasOptional:前者包含 ...

  8. POJ 3905

    加深了对有向边意义的理解了.2-SAT #include <iostream> #include <cstdio> #include <cstring> #incl ...

  9. asp.net控件的异步刷新

    需求:我们知道,asp.net控件中的button控件,默认是开启了自己主动回发的,而有时候.我们不想刷新整个界面.而仅仅想局部刷新,可页面中又偏偏用到了.net button控件. 尽管我非常讨厌. ...

  10. Swift学习笔记(二十二)——字典的基本操作

    (1)计算字典长度 . (2)推断字典是否为空 . (3)查询字典元素 . (4)取出字典元素进行拼接 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/fo ...