JAVA-数据类型与运算符笔记

1.1整形变量

int 变量名=初始值;

注意事项:

1.iny表示变量的类型是一个整形

2.变量名是变量的标识,后续都是通过这个名字来使用变量

3.Java中=表示赋值,意思是给辩变量设置一个初始值

4.初始化操作是可选的的,但简易创建变量的时候显式初始化

使用一下代码查看Java中的整形数据范围:

System . out . println ( Integer . MAX_VALUE );   // int 的最大值
System . out . println ( Integer . MIN_VALUE );   // int 的最小值
如果预算的结果超出了int的最大范围
int maxValue = Integer . MAX_VALUE ;
System . out . println ( maxValue + 1 );
int minValue = Integer . MIN_VALUE ;
System . out . println ( minValue - 1 );
1.2长整型变量
long
注意事项
1.基本语法格式和创建int变量基本一致,知识把类型修改成long
2.初始化设定的值为10L,表示一个长整型的数字
3.使用10初始化也可以,10的类型式int,10L的类型式long
Java long 类型占 8 个字节 . 表示的数据范围 - 2^63 - > 2^63 - 1

 使用以下代码查看 Java 中的长整型数据范围

System . out . println ( Long . MAX_VALUE );
System . out . println ( Long . MIN_VALUE )
   
// 运行结果
9223372036854775807
- 9223372036854775808
1.3双精度浮点型变量
double
java 中,int除以int的值仍然式int(会直接舍弃小数部分)
double a = 1.0 ;
double b = 2.0 ;
System . out . println ( a / b );
// 执行结果
0.5
Java中的double 虽然也是八个字节,但是浮点数的内存布局和整数差别很大,不能单纯的用2^n的形式表示数据规范。
1.4单精度浮点型变量
float
float类型在java中占四个字节,同样遵守IEEE754标准,由于表示的数据精度范围比较小,一般在工程上用到浮点数都优先考虑double。
能用double就用double
1.5字符类型变量
char
1.java中使用 单引号 + 单个字母 的形式表示字符字面值
2.计算机中的字符本质上是一个整数,在c语言过程中使用ASCII表示字符,而java中使用Unicode表示字符。因此一个字符占用两个字节,表示的字符种类多,包括中文。
使用一个字符表示一个汉字
1.6字节类变量
byte
1.字节类型表示的也是整数,只占一个字节,范围比较小。
2。字节类型和字符类型互不相干
1.7短整型变量
short
1.short占用2个字节,表示的数据范围是-32768->+32767
2.这个表示范围比较小,一般不推荐使用。
1.8布尔类型变量
bollean
1.bollean 类型的变量只用两种取值true表示真,false表示假
2.java的boolean类型和int不能互相转换,不存在1表示true,0表示false这样的用法
3. boolean类型有些JVM的实现是占1个字节,有些是占1个比特位,这个没有明确规定。
1.9 字符串类型变量
String
1.java使用双引号+若干字符的方式表示字符串字面值
2.和上面的类型不同,String不是基本类型,而是引用类型
3.字符串中的一些特定的不太方便直接表示的字符需要进行转义
1.10变量的作用域

 

 1.11变量的命名规则

硬性指标

                1.一个变量名只能包含数字,字母,下划线

                2,数字不能开头

                3.变量名是大小写敏感的,即num和Mum是两个不同变量

软性指标

                1.变量名要具有描述性,见名知意

                2.变量名不宜使用拼音

                3.变量名的磁性推荐使用名词。

                4.变量名推荐 小驼峰命名法

1.12常量

1.字面值常量

2.final关键字修饰的常量

1.12理解类型转换 

long 表示的范围更大 , 可以将 int 赋值给 long, 但是不能将 long 赋值给 int.
double 表示的范围更大 , 可以将 int 赋值给 double, 但是不能将 double 赋值给 int.
结论 : 不同数字类型的变量之间赋值 , 表示范围更小的类型能隐式转换成范围较大的类型 , 反之则不行 .
 
int boolean 相互赋值
结论1 : int boolean 是毫不相干的两种类型 , 不能相互赋值
结论2 : 使用字面值常量赋值的时候 , Java 会自动进行一些检查校验 , 判定赋值是否合理 .
结论3 : 使用 ( 类型 ) 的方式可以将 double 类型强制转成 int. 但是
1. 强制类型转换可能会导致精度丢失 . 如刚才的例子中 , 赋值之后 , 10.5 就变成 10 , 小数点后面的部分被忽略 .
2. 强制类型转换不是一定能成功 , 互不相干的类型之间无法强转 .
类型转换小结
1. 不同数字类型的变量之间赋值 , 表示范围更小的类型能隐式转换成范围较大的类型 .
2. 如果需要把范围大的类型赋值给范围小的 , 需要强制类型转换 , 但是 可能精度丢失 .
3. 将一个字面值常量进行赋值的时候 , Java 会自动针对数字范围进行检查 .
1.13理解数值提升
int和long混合运算
结论 : int long 混合运算的时候 , int 会提升成 long , 得到的结果仍然是 long 类型 , 需要使用 long 类型的变量来
接收结果 . 如果非要用 int 来接收结果 , 就需要使用强制类型转换 .
byte和byte的运算
结论 : byte byte 都是相同类型 , 但是出现编译报错 . 原因是 , 虽然 a b 都是 byte, 但是计算 a + b 会先将 a b
提升成 int, 再进行计算 , 得到的结果也是 int, 这是赋给 c, 就会出现上述错误 .
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据 . 为了硬件上实现方便 , 诸如 byte short 这种低于
4 个字节的类型 , 会先提升成 int, 再参与计算 .
小结
1. 不同类型的数据混合运算 , 范围小的会提升成范围大的 .
2. 对于 short, byte 这种比 4 个字节小的类型 , 会先提升成 4 个字节的 int , 再运算 .
1.14和string之间的相互转换
int转成String
String转成int
1.15小结
每种数据类型及其范围 , 是需要我们掌握的重点 .
隐式类型转换和类型提升 , 是本节的难点 . 但是一般我们更推荐在代码中避免不同类型混用的情况 , 来规避类型转换和
类型提升的问题 .
2.运算符
2.1算术运算符
        基本与算符 + - *  / %
2.2关系运算符
== != < > <= >=
注:关系运算符的表达式返回值都是boolean类型
2.3逻辑与算符
&&   ||  !
注 罗基预算的操作数(操作数往往是关系运算符的结果)返回值都是boolean
逻辑与&&
规则 两个操作都为true,结果为true,否则为false
逻辑或||
规则:两个操作都为false结果为false否则为true
逻辑非!
规则:操作为true,结果为false;操作数为false,结果为true
2.4位运算符
&  |  ~ ^
按位与 & : 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
按位异或 ^: 如果两个数字的二进制位相同 , 则结果为 0, 相异则结果为 1.
 

2.5小结

1. % 操作再 Java 中也能针对 double 来计算 .
2. 需要区分清楚前置自增和后置自增之间的区别 .
3. 由于 Java 是强类型语言 , 因此对于类型检查较严格 , 因此像 && 之类的运算操作数必须是 boolean.
4. 要区分清楚 & | 什么时候是表示按位运算 , 什么时候表示逻辑运算 .
整体来看 , Java 的运算符的基本规则和 C 语言基本一致 .
均来自于比特博哥javase课件
打卡第一天

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值