• 一些基础:
  1. 字节与字符、字节与位;1个字节=8位(bit)(最高位是符号位,0正数1负)bit是电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以bps为单位。如56Kbps、100.0Mbps 等等
  2. Float类型的数值都会有后缀F或者f,没有这个后缀的浮点数默认为double类型,当然也可以为浮点数添加后缀D和d;长整数类型有一个后缀L或者小写的l;十六进制有一个前缀0X或者0x;二进制前缀0b或者0B
  3. 从Java7开始,可以为数字字面量添加下划线,比如一百万可以表示为1_000_000,编译器在编译的时候会去除这些下划线
  • 基本数据类型/引用数据类型
  1. 内存使用:基本数据类型直接存放在栈内存里。而引用类型则是,内容存放在堆内存,地址存放在栈内存,访问时通过栈内存的地址找到堆内存的内容
  2. 变量赋值:基本数据类型是直;接把值赋给变量。而引用类型是,把值的地址复制给新变量,通过地址再找到内容
  • 传值的问题

  

  • 基本数据类型(4类8种):整数类型(4种),小数点类型/浮点类型(2种),布尔类型(1种),字符类型(1种)

    整数类型:byte、short、int 、long

    范围与字节的公式:

byte:1个字节,-128-127,(按理说应该是-127-127,因为0有+0和-0的区别,所以多了一个-0,而-0被看成了-128,印度人做的贡献)

short:2个字节,-32768-32767

int:4个字节,-2147483648-2147483647  正好超过了20亿

long:8个字节,-2^63~2^63-1,大概是9*10^18  海量数可以通过字符串或者字符数组来解决

小数类型:float、double

    Float:单精度类型,4个字节,大约有效位数6-7位

-3.403E38~3.403E38

Double:双精度类型,8个字节,大约有效位数15位

注:

float a=1.3;这个会报错,因为1.3默认为double,高精度转低精度会损失精度。正确的应该是float a=1.3f;Float的第七位数字会产生四舍五入

用于表示溢出和出错情况的三个特殊浮点数值:正无穷大(double.positive_infinity)、负无穷大(double.negative_infinity)、NaN(Double.NaN)以及相应的float类型的常量。其中NaN不是一个数字,不可以用于判定一个变量是否是==NaN,正确的使用方法是double.isNaN(xxxx)返回布尔值

    布尔类型:true和false

    字符类型:char、string

      char:单个字符,2个字节,可以存放汉字;string:多个字符(String不是基本数据类型,而是引用数据类型)

  • 其他:
  1. “A”的Ascii码是65,“a”的Ascii码位97,汉字用的是unicode码
  2. 强制转换:

数据类型可以自动从低精度转换到高精度,高精度到低精度需要强制转换

Int a =(int)1.2;

Int a = (int)1.9; 最后结果里面a均为1,即不管后面,只是截取前面整数部分

Float a=1.2; //报错,损失精度,因为Java中的小数默认是double类型

Float a =1.2f; //正确

Int a=3;

Int b=a+3.4;//计算机中,先计算a+3.4并且往高精度转,所以得到6.4,但此时并不能存入int类型(加减乘除都会往高精度转)

  3.引用数据类型:数组、类、接口、枚举

  4.未初始化的变量不能拿来直接使用,编译器会报错;变量的初始化和声明可以放在同一行,也就是声明赋值在同一句代码里;利用final指示常量,表示一旦被赋值之后,就不能再更改了,习惯上常量用全大写来表示,如果需要某个常量被一个类的多个方法使用的              话,可以在前面添加static

JavaSE-基本数据类型的更多相关文章

  1. JAVASE:01数据类型及其拓展

    JAVASE:01数据类型及其拓展 八大基本数据类型 与c不同的地方:long类型后加L:float类型后加F: public class Demo02 { public static void ma ...

  2. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

  3. 5.JavaSE之数据类型详解

    数据类型: 强类型语言: 要求变量的使用严格要求符合规定,写错了就不行,所有变量都必须先定义后才能使用,否则是不能使用的. 比如Java.C++都是强类型语言,也就是说,一旦定义了一个变量,只定义了某 ...

  4. [javaSE] 基本数据类型对象包装类

    按照java面向对象的原则,每个基本类型都有对应的包装类 byte Byte short Short int Integer long Long boolean Boolean float Float ...

  5. 6.JavaSE之数据类型扩展及面试题讲解

    整数:二进制0b 十进制 八进制0 十六进制0x 浮点数:银行业务,关于钱的,Java有个BigDecimal数学工具类,用这个计算.最好完全避免使用浮点数进行比较.因为float 是有限的离散的,它 ...

  6. 简单JavaSE数据类型入门

    新的一节学习了JavaSE,今天主要来说一下Java的数据类型及其输出,借用Xmind,可以生动形象的向大家来解释Java的数据类型: 其中数值整数型举例: public class A02{ pub ...

  7. JavaSE复习日记 : 八种基本数据类型

    /* * 基本数据类型 * * Java里的8种基本数据类型: * byte --- 1 byte = 8 bit; * short --- 2 byte = 16 bit; * int --- 4 ...

  8. JavaSE| 数据类型| 运算符| 进制与补码反码等

    JavaSE JavaSE是学习JavaWeb.JavaEE以及Android开发的基础 边听边思考边做“笔记” 不要完全依赖书和视频: 捷径:敲.狂敲: 规范:加注释: 难点,不懂的记录下时间再回头 ...

  9. JavaSE基础之double数据类型的格式化

    JavaSE基础之double数据类型的格式化 1.double 数据类型的格式化工具类:DoubleFormatUtil.java package cn.com.zfc.util; import j ...

  10. JavaSE学习笔记(1)---数据类型、运算符、控制结构

    javaSE学习笔记(1) 数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线 ...

随机推荐

  1. C++基础学习_01

    C++基础学习_01 基础知识:1.命名空间,2.IO流(输入输入),3.参数缺省,4.函数重载 1.命名空间 作用:对标识符的名称进行本地化,避免命名冲突 定义:namaspace space_na ...

  2. JRebel springboot部署idea

    JRebel springboot部署idea     http://127.0.0.1:8888/88414687-3b91-4286-89ba-2dc813b107ce   ctrl+shift+ ...

  3. 针对小程序for循环绑定数据,实现toggle切换效果(交流QQ群:604788754)

    如有更好的方法实现,可以留言或加群交流学习.谢谢(交流QQ群:604788754) WXML: <block wx:for="{{datanum}}" wx:for-inde ...

  4. Android NDK pthreads详细使用

    这个pthread.h文件可以在NDK环境里创建子线程,并对线程能够做出互斥所.等待.销毁等控制. 写这个博客的原因是我要写如何使用FFmpeg播放视频,因为同时需要播放音频和视频所以需要开启线程,并 ...

  5. Android Studio中使用Git进行代码管理(分支、合并)

    打开Android Studio选择,选择从Git检出代码 也可以从VCS如下点击 去远程仓库复制地址,这里以码云Gitee第三方代码托管为例,类似Github的界面,点击右边复制项目地址 填一下配置 ...

  6. 数据库数据迁移 SqlServer复制到mysql

    经过一番搜索,有朋友推荐用datax的,后来发现比较麻烦,需要循环每个表去复制:有推荐用Navicat的,但是方式有点行不通,会报文件打不开:无法打开Provider=SQLNCLI10.1;Pers ...

  7. 活代码LINQ——03

    一.主模块代码: 'Fig.4.13:GradeBookTest.vb 'GradeBook constructor used to specify the course name at the 't ...

  8. ceph版本号

    概述 第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月.多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0. ...

  9. python笔记25-sys模块

    import sys#sys.argv命令行参数List,第一个元素是程序本身路径# sys.exit('xxxxx')#退出程序,正常退出时exit(0)# print(sys.version) # ...

  10. DD常用命令组合

    管理一个系统经常需要备份磁盘数据,那么在UNIX/Linux系统中如何备份整个分区或整个硬盘的数据呢? dd命令就可以很方便实现这个功能. 1.把一个分区复制到一个文件中 dd if=/dev/sda ...