Java傻瓜式学习数据类型、变量、运算符(查漏补缺)

一、数据类型

1.1 是什么?

数据存储形式,存储空间大小

1.2 存储

主要通过二进制来进行存储!

电子位,统称位,又叫bit 比特

原码

反码=原码的符号位不变,其余的位1变为0,0变为1

补码=反码+1

1.3 分类

基本数据类型

数值型

①整型

Byte 字节  8bit   -128~127

Short 短整型 16bit   -32768~32767

Int 整型 32bit  -2147483648~2147483647

Long 长整型 64bit  xxxxxx

②浮点型

Float 单浮点 32bit  xxxx

Double 双浮点 64bit xxxxx

③字符型

Char 字符 16bit  0~65535

④布尔型

Boolean 布尔 8bit  00000001 true  00000000 false

⑤引用数据类型

类,数组,接口

1.4 类型使用

1.4.1 整数型

用的最多的就是int类型

long类型的值,需要加L/l结尾,不区分大小写,建议大写(因为小写实在是太像1了,避免混淆)

二进制 0b开头

八进制 0开头

十六进制 0x开头

1.4.2 浮点型

1.4.3 字符型

字符型的值,使用单引号表示,并且单引号中有且只有一个字符

字符型可以转换为int行,ASCII码

支持Unicode编码

1.4.4 转义符

转义符'\',把有意义字符转换为无意义字符

1.4.5 布尔型

Java中布尔型的值只有true和false

一般适用于流程控制

占用一字节,1为true,0为false

1.5 类型转换

8种基本类型中,除了布尔型,其他都可以进行类型转换

自动类型转换:低精度到高精度

强制类型转换:高精度到低精度,有可能会丢失精度

1.6 类型转换-进阶

二、变量

2.1 常量

值在生命周期中不可更改

2.2 变量

2.3 变量声明

2.4 变量分类

2.5 变量调用

2.6 变量调用优先级

2.7 默认值

局部变量没有默认值

静态变量和成员变量有默认值

三、运算符

3.1 算数运算符

3.2 混合运算

 * 当进行多类型混合运算时,结果是参与运算的最大类型

 *

 * 当只有byte short int char 四种类型中任意一种或多种进行运算,结果一定是int类型

3.3 关系运算

3.4 位运算/逻辑运算

3.5 位运算进阶

// & 也支持两边是数字,转换为二进制进行每位比较,都是1 则取1,否则取0

// 运算结果,不会超过两个数中的最小数,所以适合用于做数组下标技术(包括hash算法)

// 0000 1111

// 0000 1000

// 0000 1000

System.out.println(15 & 8);

// ^ 也支持两边是数字,转换为二进制进行每位比较,不同取1,相同取0

// 因此 两个相同数进行^ , 结果得0 , 并且 0和任何数进行^ , 该数不变

// 0000 1111

// 0000 1000

// 0000 0111

System.out.println(15 ^ 8);

System.out.println(15 ^ 56 ^ 23 ^ 15 ^ 23);

// ~ 按位非,转换二进制,1变0,0变1 (符号位也会变)

// 0000 1100

// 1111 0011 补码

// 1111 0010 反码

// 1000 1101

System.out.println(~12);

// >> : 右移运算(考虑符号位,符号位不受影响)

// 10 >> 1 , 右移1次,会把最右边的一个删除,在最左边补0 (如果是负数,就补1)

// 右移一次,相当于该数 / 2

// 0 00000 10

System.out.println(10 >> 2);

// 1000 1010

// 1111 0101

// 111111 01

// 111111 00

// 100000 11

System.out.println(-10 >> 2);

// >>> : 右移运算(不考虑符号位),只补0,不补1

System.out.println(10 >>> 2);

// 1000 0000 0000 0000 0000 0000 0000 1010

// 1111 1111 1111 1111 1111 1111 1111 0101

// 001111 1111 1111 1111 1111 1111 1111 01

System.out.println(-10 >>> 2);

System.out.println(0b00111111111111111111111111111101);

// << : 左移运算,只补0, 不补1

// 左移1次,相当于该数*2

// 0000 0010

// 00 001000

System.out.println(2 << 2);

// 1000 0010

// 1111 1101

// 1111 1110

// 11 111000

// 11 110111

// 10 001000

System.out.println(-2 << 2);

// 如何快速计算2的3次方?

System.out.println(2 << 2);

3.6 赋值运算

3.7 字符串连接符

3.8 三目运算符

三目运算符,又叫三元运算符

句型:布尔型表达式?真语句:假语句;

布尔型表达式:只要运算结果是布尔型就行

注意啦,已经补充完毕啦,如果对你有帮助的话就留下你的小赞赞吧.

  • 64
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值