目录

一、八大基本数据类型

1、数值型(有符号)

2、字符型,默认值为“\u0000”

3、布尔型,默认值为false

二、引用数据类型:

三、计算机存储数据的基本单位

1、两种基本单位

2、单位换算

3、举例

四、数据类型的应用

1、变量的初始值

2、变量溢出问题

3、 定义变量

4、包装类

5、字面量

6、其他的整型变量

五、类型转换与类型提升

1、关于int,byte,char之间的转换问题

六、 字符串类型

一、算术运算符

1、基本的数学四则运算+ - * /  取模%

2、增量运算符 += -= *=  /=

3、自增/自减运算符++ --

二、关系运算符

三、逻辑运算符

1、逻辑与&&

2、逻辑或 ||

3、逻辑去反!

4、关于逻辑运算符的短路求值问题

四、位运算符

1、按位与&

2、按位或|

3、按位异或^

4、按位取反~

五、移位运算符

1、左移位<<

2、右移位>>

3、无符号右移>>>

六、条件运算符

三目运算符

七、运算符优先级


Java是一门强类型语言,定义一个变量时,必须要明确该变量的类型。

所有数据类型都有默认值(类中属性才具备默认值),方法中的局部变量不存在默认值。

一、八大基本数据类型

1、数值型(有符号)

最高位不存储具体数据(01),0表示正数,1表示负数。

(1)整型,默认值均为0

数据类型 关键字 内存占用
字节型 byte 1字节
短整型 short 2字节
整型 int 4字节
长整型 long 8字节

(2)浮点型,默认值均为0.0

数据类型 关键字 内存占用
单精度浮点数 float 4字节
双精度浮点数 double 8字节

2、字符型,默认值为“\u0000”

数据类型 关键字 内存占用
字符型 char 2字节

3、布尔型,默认值为false

数据类型 关键字 内存占用
布尔类型 boolean 没有明确规范,1字节

二、引用数据类型:

数组、类、接口,默认值为null。

字符串String也是类。

三、计算机存储数据的基本单位

1、两种基本单位

bit:二进制位

byte:字节(计算机保存单位,以字节为基本单位)

2、单位换算

1 byte = 8 bit

1 GB = 8G byte

1KB = 1024 byte

1MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 PB = 1024 TB

3、举例

int类型为4字节,则有32比特位,但是第一位是符号所以数量级是2^31。

四、数据类型的应用

1、变量的初始值

在main方法中定义的局部变量a没有复制的情况下,是没有默认值的,可以这样定义但是在使用的时候会出现错误(使用的情况比如输出a的值),所以使用的时候一定要定义值。

如果是在类中定义的变量a是成员变量,他有默认值(就是该数据类型的默认值),可以在main方法中不用赋值就使用。

2、变量溢出问题

int类型的数据范围在[-2147483648,2147483647]。

如果超出范围的赋值,int只能表示32bit,无法再给上进位,只能进位到符号位。

所以这个时候就需要长整型long,long是8字节,就可以存储2147483648。

当一个数比长整型的最大值还大,可以用BigInterger类来存储,也可以用字符串String来存储。

3、 定义变量

long和float定义变量时,赋的值后需要加L、l和F、f,但是long不是必须的,float是必须的,不加会编译错误。而布尔类型只可以定义false和true。

而char类型定义时需要加单引号,因为java语言字符采用Unicode编码,16位编码(2字节),所以支持地球上所有的语言,都可以定义为char类型。

4、包装类

在java中一切皆对象,认为一切失误都可以用类来进行描述,但是8大基本类型不属于类。

所以在java中将8大基本类型都有对应的类进行包装,这种类称之为包装类。

数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

5、字面量

直接写出来的数值就称之为字面量,字面量也存在数据类型。

10->整型字面量,默认为int类型

10.1->浮点数字面量,默认为double类型

'a'->字符字面量,默认为char类型

false->布尔值字面量,默认为boolean类型

"abc"->字符串字面量,默认为String类型

6、其他的整型变量

0b10 为二进制表示十进制2

010 为八进制表示十进制8

0x10 为十六进制表示十进制16

五、类型转换与类型提升

小类型转换为大类型是自动转换。

大类型转换为小类型需要强制类型转换,有精度丢失问题。

1、关于int,byte,char之间的转换问题

计算机存储数据时默认采用4字节存储,所有小于4字节的数据类型,隐式提升为int之后进行存储,boolean除外。

(1)byte和int转换

byte是1字节,所以范围是[-128,127],所以在这个范围内的数可以直接转换,但是当赋的值不在这个范围内就会出现错误,所以需要在值前面加上(byte),但是输出结果仍然不是正确的,如下图,赋值130,强制类型转换后变成了-126。

如下图,在编译时,a和b直接算做了int类型,并且是变量不知道值具体是多少不知道是否在范围内,所以需要强制类型转换。

char和int的转换与byte和int转换是类似的。

2、类型提升

当不同数据类型进行运算时,会将小的类型自动提升为大的类型参与运算。

如下图,进行了两次自动类型提升,b赋值为2是int类型,自动提升味double。输出结果时,a参与运算又自动提升为double类型,结果则为0.5。

六、 字符串类型

1、int转换为String

在java中字符串和任何其他类型“+”,都会将其他类型转换为字符串类型拼接。

调用String的valueof函数也可以输出为字符串类型。

2、String转换为int

调用整形包装类Interger的parseInt方法,前提字符串必须是纯数字字符串。

如果字符串是纯数字但是超过了整型的存储范围,会报错。


一、算术运算符

计算结果要么是小数要么是整数。

1、基本的数学四则运算+ - * /  取模%

2、增量运算符 += -= *=  /=

3、自增/自减运算符++ --

当+号在前面,先运算再取值。

+号在后面,先取值在运算。

二、关系运算符

计算结果为布尔值,要么是false,要么是true

==  !=  >  <  >=  <=

关系运算符不能连着写。

三、逻辑运算符

计算结果也是布尔值。

1、逻辑与&&

语法规则:表达式1&&表达式2,其中两个表达式都是布尔表达式,得到的结果也是布尔值。

当且仅当表达式1和2都是true,表达时才会返回true。

2、逻辑或 ||

语法规则:表达式1 || 表达式2,其中两个表达式都是布尔表达式,得到的结果也是布尔值。

当且仅当表达式1和2都是false,表达时才会返回false。

3、逻辑去反!

!表达式1 表达式1是布尔表达式。进行取反操作。

4、关于逻辑运算符的短路求值问题

表达式1&&表达式2,当表达式1为false,不管表达式2直接返回false(第二个表达式根本不执行)

表达式1 || 表达式2,当表达式1为true,不管表达式2直接返回true。

四、位运算符

直接在二进制位上操作的运算符& |  ^ ~

1、按位与&

如果两个二进制位都为1,则返回1,否则返回0。

2、按位或|

如果两个二进制位都为0,则返回0,否则返回1。

3、按位异或^

两个二进制位相同返回0,不相同返回1。

4、按位取反~

符号位也会发生变化,正数变为负数,负数变为正数。

正数变为负数,则加符号减一。

负数变为正数,则绝对值减一。

五、移位运算符

直接在二进制位上进行操作的运算符

1、左移位<<

最左侧不要,最右侧补0。

当一个数x<<1,结果左移乘二

2、右移位>>

最右侧不要,最左侧补0。

当一个数x>>1,结果左移除二。

3、无符号右移>>>

六、条件运算符

三目运算符

语法规则:条件表达式1?表达式2:表达式3

根据布尔表达式1的返回值,返回true则取布尔表达式2的值,返回false则取表达式3的值。

表达式2和表达式3必须是同类型的,否则会发生隐式转换。

三目运算符不能单独存在,必须有一个相对应的变量接收它的返回值。

七、运算符优先级

* / 优先级高于+ -

需要优先运算的加上括号。

加法优先级高于移位运算。

【Java】数据类型和运算符相关推荐

  1. 没有与这些操作数【】匹配的运算符_[02]java数据类型和运算符等知识

    00 Java中的注释 为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释.注释不会出现在字节码文件中,即Java编译器编译时会跳 ...

  2. Java数据类型和运算符

    一.转义字符 \t空格 转义符 代表的是8个空格,当\t没有空格时8个空格,但有字符但是没超过8个时,总共占用8个:如果大于8个时,会重新出8个空格 打印在两行ln 两行以上必须用才有换行效果 否则同 ...

  3. java基础学习 --- 第二节 变量、数据类型和运算符

    java基础学习 - 第二节 变量.数据类型和运算符 一.变量 1.变量就是会发生改变的数据,程序运行时,这些数据以变量的形式被保存到计算机的内存中.如图 2.使用变量的步骤:     声明变量 - ...

  4. JAVA学习脚印2: 数据类型和运算符

    JAVA学习脚印2: 数据类型和运算符 本节将记录java中的数据类型和运算符. 1. java中的数据类型 java中变量的数据类型有两种:基本类型(primitive)和引用(reference) ...

  5. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  6. java异或运算结果数据类型_java中的数据类型和运算符的总结归类。

    首先学习java肯定先要了解java的发展史,以及java的特点,常见的dos命令,jdk的安装,如何开发java程序等等一下概念行的东西,这里面我都不一一说了. 今天这一章主要想总结一下java中的 ...

  7. double类型怎么取余_数据类型和运算符

    数据类型和运算符 1.进制 1.1文件存储单位 ​ 任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来 . ​ 一个电信号或者一个二进制位统称为Bit位,8个Bit位为一组组成 ...

  8. 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符

    数据类型和运算符 1.进制 1.1文件存储单位 ​ 任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来 . ​ 一个电信号或者一个二进制位统称为Bit位,8个Bit位为一组组成 ...

  9. 【JavaSE】02-变量、数据类型和运算符

    二. 变量.数据类型和运算符 2.1 变量 2.1.1 变量的声明 type varName [=value][,varName[=value]...]; //[ ]中的内容为可选项,即可有可无 数据 ...

  10. Java变量和运算符详解

    Java变量和运算符 已在思维导图中对变量知识框图进行整理! 使用markdown进行详细记录 分以下几点进行介绍: 变量基本原理 基本类型和引用类型变量 变量使用和注意事项 运算符 1. 变量基本原 ...

最新文章

  1. 使用可信证书为windows RDP服务提供加密
  2. oracle各种字符集修改
  3. idea本地跑如何看gc日志_不可思议,竟然还有人不会查看GC垃圾回收日志?
  4. 1344 走格子 (前缀和)
  5. 将微服务注册到Eureka Server上
  6. Beta Daily Scrum 第七天
  7. Listen第二个参数的意义
  8. adb命令 android 串口_android逆向笔记之初学者常用adb命令
  9. 苹果测试网速软件,Mac 网速测试工具 SpeedTest by Ookla
  10. SpringBoot-iText-Pdf
  11. QT5修改windows电脑IP地址
  12. Mac终端命令失效( command not found)/
  13. ADAMS并联机器人动力学仿真【附源文件】
  14. des加密 lua_lua des加密解密 各种加密解密函数 - 奇闻 - 91文库
  15. 英特尔oneAPI—开拓
  16. 嵌入式--接口--MIPI接口
  17. alphazero 五子棋开源代码分析
  18. 帝国CMS采集插件哪个好用?帝国CMS采集文章教程
  19. folium基础内容介绍
  20. 会议panel是什么意思中文_医学术语中的panel到底是什么意思

热门文章

  1. 计算机领域kg是什么,《有话好好说》中的电脑是什么型号的
  2. html图片如何转换成word文档格式,怎么将Word文档里的图片格式改成文字格式?
  3. 读书《编码的奥秘》--摩尔斯电码(1836年发明)
  4. python3 抓取西刺网免费代理IP并验证是否可用
  5. 36-Scrapy框架-西刺网代理爬取+存储到MySQL
  6. 新手必备pr 2021快速入门教程「七」效果控件面板详解
  7. Java 复杂表头、表格导出 - EasyExcel
  8. 小米4 第三方re奇兔_小米、vivo、一加等宣布Android 11 beta版本适配计划
  9. android获取锁屏之上显示权限,安卓版Skype曝漏洞:绕过锁屏获得手机所有权限
  10. miniUI 加载死数据