2个字节能存多少个16进制_学习大数据培训课程java基础系列教程:(2)数据类型和运算符...

一、常量与变量

直接量

生活中用到的数值,例如:

整数数值:1,23,454 等;

小数数值:3.14,2.3e4 等;

字符型数值:‘a’,‘b’ 等;

布尔型数值:用来表示真假值,true 、false。

String类型:用双引号括起来的多个字符序列,“move all", ”哈哈“。

null类型:null

变量:是一个保存数据的内存区域的名字。系统在变量定义时为其分配内存空间。

java语言是个强类型语言,所有变量必须显示声明类型。

当数据不确定时,应用。

声明变量语法:

f402542098f8ca5e6ddee6230fb4300b.png

ype:数据类型

varName:变量名

如:int i;

两种变量声明方式:

0d22abaa83edb044370d4a4d3636711c.png
587ee34b1671adddaafa3ad70d987011.png

常量:代表程序运行过程中不能改变的值,也就是说,第一次赋值后,不能再赋值。

常量一般都大写

声明常量的语法:

1
final type varName;

1ada485684911202dbde6856fcbcf739.png

所有常量、变量必须先声明,后使用

二、变量分类

按作用域:成员变量和局部变量 ——讲对象的时候讲

局部变量

代码块内有效

代码块 {}

3ef628d2c1af57e76bbb43b633d31ce5.png

方法体内有效 —— 讲方法的时候讲

按数据类型:

基本数据类型:包括整形(byte、short、int、long)、浮点型(float、double)、布尔类型(boolean)、字符型(char)

引用数据类型:包括类、接口、数组类型以及空类型

485a19cd6391ccc0f68c038e1bc9e686.png

三、基本数据类型

整数型:包括字节型(byte),短整型(short),整型(int),长整型(long), 它们有符号整数

浮点型:包括浮点型(float),双精度型(double),它们代表有小数精度要求的数字

字符型:包括字符型(char),它代表字符集的符号,例如字母和数字

布尔型:包括布尔型(boolean),它是一种特殊的类型,表示真/假值

(一)整数类型

e532f84a9677fc12744d1288a7e4ff98.png

bit:位

一个二进制数据0或1,是1bit;

byte:字节

一个字节等于8位。

其中定义long类型时,要在整数常量后增加L或l,建议用L,容易区分,如

long value = 103432544354356L;

f3e33745c6771d5e36bcf0f202705715.png

1、整数字面量表示

十进制:默认的,逢10进1

如:int i= 125;

八进制:整数之前加数字0来表示,逢8进1

如:int j = 071;

十六进制:整数之前加“0x”或“0X”,其中10~15分别以a~f表示(不区分大小写),逢16进1

如:int i = 0xa;

二进制(新加的):整数之前加“0b”或“0B”,逢2进1

如:int j = 0b101;

十进制转二进制方法

这是一个连续除以2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。

如:十进制的6转成二进制 110

55fdfe8dead938041846237f87021a87.png

二进制加法0b11+0b10 = 0b101,加法方式逢二进一

十进制的30,转换成二进制、八进制、十六进制

10a485f311b0df6cb86b186739dd3e0e.png

二进制转十进制方法

用二进制数值乘以2的幂次依次相加

如:二进制110转换成十进制6

20 0 + 21 1 + 22 * 1 = 0 + 2 +4 = 6

c1b8e8c4fa783dcc5e873121b4331f41.png

八进制、十六进制与十进制互转原理与二进制一样

将之前十进制的30 转换成其他进制,再转换回十进制

代码示例:

e9e6811fe21e440779d8a96ced80abf7.png

(二)浮点型

浮点型有两种:double 和 float

double:双精度浮点数,一个double类型的数值占8个字节、64位

float:单精度浮点数,一个float类型的数值占4个字节、32位

655433217aacbb35dac15d89753b3d8e.png

浮点字面量表示:标准记数法或科学记数法

double pi = 3.14;

double sd =5e-12;

double r = 8E2;

浮点字面量默认是双精度。字面量后面加F或f 表示单精度

float f = 1.1f;

如果要精确计算浮点数(保留几位小数),则要用BigDecimal类(常用于计算金额)

代码示例:

462cc4d22946bb98b74ed38af497b492.png

(三)字符型

类型:char

占2个字节

字符型常量的三种表现形式

1、直接通过单个字符来指定字符型常量,例如:‘a'、'1'等

2、通过转义字符表示特殊字符型常量,例如:’\n‘、'\t'等

3、直接使用Unicode值来表示字符型常量,格式是'\uXXXX',其中XXXX代表一个十六进制的整数

范围是'\u0000'~'\uFFFF',共可以表示 65535个字符

java语言常用的转义字符

4892a2a1c14e6f530f7f434e2e2d3794.png

除此之外,char类型的值可以直接作为整数类型的值来使用,表数范围0~65535

如:char value = 99;

转义字符示例:

130b730aa65c9996b58d675056d701f2.png

运行结果

40dd18feb3472d187c68cf8c472fc788.png
463f3321e420ad2277b741cf40953d39.png

(四)布尔型

布尔型只有一个boolean类型,用于表示逻辑上的“真” 或 “假”,不能用 0 或者 非0 代表。

true 真
false 假
如:boolean flag = true;
boolean应用流程控制

1 if条件控制语句
2 while循环控制语句
3 do循环控制语句
4 for循环 控制语句
5 三目运算符(? :)中使用

四、类型转换

在java程序中,不同的基本类型的值 经常需要进行相互转换。

类型转换分为自动类型转换和强制类型转换

(一)自动类型转换

当把一个表数范围 小的数值或变量直接赋给另一个表数范围大的变量时,系统可以进行自动类型转换。

自动向范围大的类型转换 ,混合运算时转成最大的范围类型。

如同将小瓶水倒入大瓶没有问题一样

639d2bdb93738b91dde83cd6a094406c.png

byte、short 不能自动转换成char

char不能自动转换成byte、short

代码示例:

6e640d79babcdb2687eefbf0762affed.png
a33a64a3b653f58558c5597c77628b51.png

如同将大瓶子中的水倒入小瓶子,两种结果

①大瓶子中的水 ≤ 小瓶子中的水,小瓶子能承下(强转没问题)

②大瓶子中的水>小瓶子中的水,水溢出(强转会发生截断(按模取余)或者可能溢出)

能强转成功的前提:类型大的数值小于类型小的最大取值范围。

注意:在编程中要尽量避免由于强转导致的非预期结果

代码示例:

76dffca551d3745cff3cc43180e04ff5.png

五、运算符

知识点:

算术运算符

位运算符

赋值运算符

关系运算符

逻辑运算符

三目运算符

运算符优先级

(一)算术运算符

1bf2294be20b45248e631baa6a55743e.png
7178ecfd9cfa63b07c7d48ca43681a19.png
82be089f1a563f4db43f9561b75518df.png
e60afb7f0a0821d12445cd46e90bfd78.png

表达式类型的自动提升

当一个算术表达式中包含多种数据类型的值时,整个算术表达式的数据类型将发生自动提升。

Java 定义了如下提升规则:

1)所有的byte 类型、short 类型和char 类型将被提升到int 类型。

2)整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。

8874d5d296697fdc91d9d9ad33047f79.png

(二)位运算符

位运算符用来对二进制位进行操作,如果操作数不是二进制,必须转换成二进制后再做位运算

原码:一个整数转换成二进制就是原码,最高位是符号位 0 表示正数 ,1 表示负数

单字节的5的原码为:0000 0101;

-5的原码为:1000 0101;

反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反

单字节的5的反码为:0000 0101;

-5的反码为:1111 1010;

补码:正数的补码就是其原码;负数的反码+1就是补码

单字节的5的补码为:0000 0101;-5 的补码为1111 1011

在计算机中,正数是直接用原码表示的,负数用补码表示

如果是个十进制负数的位运算

① 需要先把负数的二进制数算出(补码) 负数的原码,除符号位按位取反,再加1

② 然后位运算

③ 再把位运算结果算出原码,(补码转原码 → 补码减1得反码,反码除符号位按位取反得原码)

④ 再将原码转换成十进制

位运算在编程过程中基本用不上

6544c5f2328be38ff3b0f3df5cac57b6.png
f7291901384ba6c625c38f6d803f48d5.png
7dc0bba207660c8478afdf451988ac4c.png
9c0a76bb86cec537c2cf7e9e55adcba5.png
c89484fe47ea5c71b61b56dea5232eca.png
9bcb18b9e091f6b95da32e9031d8bad6.png
3f7f7c819c90ab11dbe0affc75159c81.png
8949767525c9a4749f7cf3b4a50e7b75.png
39cf7fd5ed9915c601a48b40b2fe7624.png

(四)关系运算符

关系运算符决定值和值之间的关系,返回布尔型变量

b0b7a44557580ba2373b6c614a2e3f12.png

用基本数据类型来做关系运算

e9e48e576323c3459b2db602dce19d92.png
1f7c0d73a0cd47d722fa83fbd9b98401.png
32780e9ff190bb057cf788ef9ee07eac.png
a32111f09dc653ff0a1c99a2c08e1463.png
c611b25e81c9a9f64e937c3a68c67b93.png
278f3357eaf96c479a7db57b4f051168.png

扫码进入大数据学习群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值