第二章 java基础语法(二)

ASCII码

一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。一共规定了128个字符的编码,这128个符号(包括32个不 能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。

缺点:不能表示所有的字符

 

Unicode编码

一种编码,将世界上所有的符号都纳入其中。这个编号范围 从 0x000000 到0x10FFFF (十六进制),有 110 多万,每个字符都有 一个唯一的 Unicode 编号,这个编号一般写成 16 进制,在前面加上 U+。 UTF-8 是 Unicode 编码的一种具体实现,它规定了字符转换到二进制编码的一系列规则.

 

基本数据类型转换

浮点型字面量默认是double.

声明float类型时,在字面量后面加F/f.

单精度 4字节

双精度 8字节

boolean逻辑值只能用true. false两个关键词表示

Java中可以从任意基本类型转型到另外的基本类型 . 

例外 : boolean 类型不可以转换为其他的数据类型。 

byte short int long float double char 都是数值型

容量小 ----> 容量大     默认会自动转换 byte,short,char-->int

容量大 ----> 容量小    默认不能进行转换,可以强制类型转换;可能会出现的问题:数据溢出,精度降低

 

转换分为默认转换和强制转换 

默认转换 :整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 

容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为byte,short,char->int->long->float->double byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型 强制转换 

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。 

有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一 种数据类型,然后再进行计算。

long类型和float类型

什么4个字节的float型的最大值会大于long型的最大值呢? 

long整型数,在内存中占用8个字节共64位,它表示的数值有2的64次方,平分正负,数值范围是负2的63次方到正2的63次方-1。而float在内存中占4个字节,共32位,但是浮点数在内存中是这样的: V=(-1)^s * M * 2^E

浮点数的32位不是简单的直接表示大小,而是按照一定的标准分配的。其中第1位,符号位,即S。 接下来的8位,指数域,即E。 剩下的23位,小数域,即M。也就是说,浮点数在内存中的二进制值不是直接转换为十进制数值的,而是按照上述公式计算而来,通过这个公式,虽然只用到了4个字节,但是浮点数却 比长整型的最大值要大。

 

运算符

算术运算符: +,-,*,/,%,++,-- 

字符串连接运算符:+ 

关系(比较)运算符: ,<,>=,<=,==,!= 

逻辑运算符: !,& , | , &&,|| 

赋值运算符:= ,+ =,- =,* =,/ = 

条件运算符 

位运算符

 

算术运算

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 +加法 数值+数值 数值+字符

+字符串连接 字符串+字符串 数值+字符串

-*/ % ++ -- 数值+数值 数值+字符

++ 自增1

-- 自减1

比较运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

逻辑运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 逻辑运算符: 

&—逻辑与 | —逻辑或 !—逻辑非 

&& —短路与 || —短路或 ^ —逻辑异或

逻辑值与逻辑值既可以参与逻辑运算,也可以参与位运算

 “&”和“&&”的区别: 

 单&时,左边无论真假,右边都进行运算; 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算 

 “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算

//false & 后面的表达式需要继续执行

//false &&(短路)后面其他表达式就不执行

//true | 后面其他表达式仍需执行

//true ||(短路) 后面的其他表达式不需要执行 true

//!取反

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

赋值运算符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 符号:= 

当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。 

扩展赋值运算符:+=, -=, *=, /=, %=

条件运算符

语法: (条件表达式)? 表达式1:表达式2;条件表达式结果为true,运算后的结果是表达式1 为;false,运算后的结果是表达式2;

位运算(比特位)

移位

<< 左移 >>右移       >>>无符号右移

有符号移动,符号不变

无符号移动,注意页数 移位后,高补位

表达式的运算顺序

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值