第二章 数据类型、类型转换、运算符


前言

提示:大概内容:

内容不全,后续会补充,个人笔记


提示:以下是本篇文章正文内容

一、基本数据类型

基本数据类型是存储在栈中的,相比较于引用数据类型。

1.基本数据类型有哪些?

基础数据类型有8种,分别是:整型4种、浮点型2种、字符型1种和boolean类型1种

数据类型类型名大小/字节
整型byte1
整型short2
整型int(默认)4
整型long8
浮点类型float4
浮点类型double(默认)8
字符类型char2
布尔类型boolean1

2.什么是引用数据类型?

常见的引用数据类型:String、数组。

  • 引用数据类型是本身存储的是JVM处理之后的堆中的地址编码。
  • 引用数据类型是存储在堆中的。

3.基础数据类型之间的转换

在这里插入图片描述

⚠️小结

  • 类型范围小的数据类型可以自动转换成范围大的数据类型。
  • +=这些运算符含有强转效果。⭐️
  • byte、short类型可以自动勘测范围进行转换。只勘测常量,当给的默认类型是int类型时,可以自动转换成byte或者short。
  • 当byte,short,char数据类型进行算术运算时,按照int类型处理。
  • 范围大的数据类型想要转换成小范围的数据类型需要强制转换:强转格式为:

示例代码:

//(char)int;
(char)97;//97强制转换为a
  • 强制转换会丢失精度,小数点之后的精度丢失。

二、运算符

运算符分类:算术运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符

分类运算符
算术运算符+-*/%++--
赋值运算符=+=-=*=/=%=
关系运算符>>=<<===!=
逻辑运算符&|^!&&||
条件运算符(条件表达式)?结果1:结果2;
位运算符(了解)&|~^<<>>>>>

1.数据类型之间如何运算?

基础数据类型运算之前需要统一数据类型,通过类型转换,再通过补码进行运算。

  • 正数 原码 反码 补码 三码一致
  • 负数 原码 反码(符号位不动,其它位按位取反) 补码(反码+1)

2.左移和右移

  • 左移 溢出删除 右侧补零。
  • 右移 正数补零 负数补一。
  • 无符号右移 右移补零(永远补零)

3.自增和自减

  • 前++ 先自增 后入栈
  • 后++先入栈 后自增

示例代码:

int i = 1;
i = i++;
System.out.println(i); //i=1

int i = 1;
int j = ++i*i++ + i++ * ++i;//      2   2     3    5
// j=19 i=5

⚠️小结

  • 自增自减进行运算的是操作数栈,防止溢出越界。
  • java运算会临时创建一个存储空间栈,++是先入栈后 自增;--是先运算后 入栈。加的操作是本身自增 入栈没有动作

总结

  • double 、float进行数据运算的时候不精确。
  • 计算机中只有加法和乘法。
  • 运算使用的是补码 超过位数的数据 计算机中直接删掉。
  • 10000000 人为规定是最小负数 -128。
  • Java使用Unicode字符集 三个字节表示一个字符 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值