前提知识:

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. Linux—Ubuntu14.0.5安装mongo

    1.安装mongo sudo apt-get install mongo 2.如果遇到找不到安装包运行,那就更新资源列表 sudo apt-get update 3.安装成功会自动运行mongo pg ...

  2. CPA-IBE

    1.Transaction ID 生成机制 在有的情况下,我们需要得到固定格式的序列号,而不是数据库默认的自增序列号, 1.1 通常方式(隐式生成并通过触发器实时插入相关表) 例如我们要求此序列号必须 ...

  3. 利用IO多路复用,使用linux下的EpollSelector实现并发服务器

    import socket import selectors # IO多路复用选择器的模块 # 实例化一个和epoll通信的选择器 epoll_selector = selectors.EpollSe ...

  4. netty自定义协议 心跳 断线重连源码

    https://github.com/aa1356889/NettyHeartbeat

  5. HDU4569 Special equations

    /* HDU4569 Special equations http://acm.hdu.edu.cn/showproblem.php?pid=4569 数论 题意:f(x)为一n次方程求是否存在x, ...

  6. Cloudera 5.8.3 SolrCloud+HDFS的索引数据备份和恢复。(需重启solr进程。)

    一.备份基于HDFS的solrCloud集合数据 1.确认要备份的solr文件夹. /solr/history_customer_collection_test 2.开启HDFS快照功能. hdfs ...

  7. innodb_support_xa=1

    mysql> show create table t; CREATE TABLE `t` ( `id` ) NOT NULL AUTO_INCREMENT, `num` ) DEFAULT NU ...

  8. sendfile学习

    参考 https://zhuanlan.zhihu.com/p/20768200?refer=auxten 而成本很多时候的体现就是对计算资源的消耗,其中最重要的一个资源就是CPU资源. Sendfi ...

  9. @RequiresPermissions 注解说明

    @RequiresAuthentication验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时.@RequiresUser验证用户是否被记忆,user有 ...

  10. 程序员(媛)Shell脚本必备技能之中的一个: 在Linux下怎样自己主动备份mysql数据

    作者:荀彧(花名) Background:鉴于QAS数据库曾遭到毁灭性损害.极其桑心L.为了避免这样的玉石俱焚的状况再度发生.于是我们找出了一种应对方案.这里给大家分享一下怎样实现定时备份mysql数 ...