前提知识:

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. DOM学习之图片库切换效果

    addloadevent(prepareplaceholder()) addloadevent(prepareGallery()) //页面加载完时执行函数 function addloadevent ...

  2. TFS代码迁移Git

    描述 将TFS上的代码迁移到Git做版本控制. 参考地址 tfs-git下载:https://github.com/git-tfs/git-tfs/releases chocolatey安装:http ...

  3. VIM 使用 匹配替换命令配合表达式 实现 递增替换

    :let n=100 | g/while/s/\d/\=n / | let n=n+1 before 10 void *thread_function_1(void *arg) { 11 int i; ...

  4. poj 3006水题打素数表

    #include<stdio.h> #include<string.h> #define N 1100000 int isprim[N],prime[N]; void ispr ...

  5. 0929MySQL JOIN的算法

    http://www.cnblogs.com/starhu/p/6418842.html http://www.cnblogs.com/starhu/p/6418833.html http://www ...

  6. C#使用PowerShell 操作Exchange

    先介绍一篇文章来参考一下 点开文章 该文章的最后使用了SSL来保证账户在连接服务器的时候不发生账户认证错误,但是我经过测试发现这个是不可行的,有一种更为简单的方法 首先要对服务器进行winrm设置 就 ...

  7. [Linux]Apache配置虚拟主机

    Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类:   基于名称的虚拟主机 (每个 IP 多个站点) 基于 IP 的虚拟主机 (每个 IP 一个站点) 基于名称的虚拟主机:  www.2 ...

  8. WAS_集群部署应用遭遇ADMA0085E和ADMA0109W错误

    原创作品,出自 "深蓝的blog" 博客.深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47143431 近日 ...

  9. eclipse+maven的web项目访问jsp乱码

    在jsp中第一行加一句这个就不会乱码了 <%@ page language="java" import="java.util.*" pageEncodin ...

  10. Linux黑洞

    1 什么是Linux黑洞 在Linux系统中,/dev/null是一个虚设的设备.俗称"Linux黑洞". 不论什么对/dev/null的写入都会成功.但数据会消失得无影无踪.没有 ...