java中关于变量和运算符基础知识(总结)

新人初学java,以下是关于近期学习的一个小总结,便于督促随时总结记录,如有错误,请指正

目录

一、变量和类型

二、基本数据类型

2.2 包装类数据类型

2.3类型之间的相互转换

2.4数值提升

三、运算符


一、变量和类型

我们所讨论的 "变量" 主要和我们的 "内存" 这样的硬件设备密切相关

  • 1.基本数据类型:8种,包括:byte、short、int、float、double、long、char、boolean(8种)
  • 2.字节:计算机中表示空间大小的基本单位.
  • 其中,1Byte = 8bite, 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.

二、基本数据类型

序号基本类型bytebite取值范围
1byte:18-2^7 ~ 2^7 -1
2字符char216-2^15 ~ 2^15 -1
3整型int432-2^31 ~ 2^31 -1
4short216-2^15 ~ 2^15 -1
5long864-2^63 ~ 2^63 -1
6浮点型float432
7double864
8booleantrue 、 false

注意事项:

  • 1.char中 ,单引号+单个字母表示字符字面值
  • 2.float:4字节,取值范围同long,(由于取值范围较小,一般不推荐使用)
  • 3.浮点型:内存布局遵守 IEEE 754 标准(和C语言一样), 即不能使用2^n表示取值范围,(使用有限的内存空间表示无限的小数存在精度误差)
  • 4.boolean类型和int不能相互转换
  • 5.计算过程中,若数据超过类型本身取值范围,会出现溢出现象

2.2 包装类数据类型

8种:int----->Integer、char----->Character、其余对应包装类为首字母大写对应的该类

1.string字符串:双引号+若干字符表示(引用类型)

2.转义字符:

  • \n :换行
  • \t :制表符
  • \' :单引号
  • \" :双引号
  • \\:反斜杠

3. 字符串之后的+号都是拼接,若+号出现在字符串之前则可执行加法操作

4.变量命名规则:

  •  一个变量名只能包含数字, 字母, 下划线
  •  数字不能开头.
  • 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.
  • 注意: 虽然语法上也允许使用中文/美元符($)命名变量, 不推荐
  • 推荐小驼峰(maxNum)形式命名
  • 类名:首字母大写

注意!!!    常量不能在程序运行过程中发生修改

2.3类型之间的相互转换

  • int字面值常量 给 byte 赋值
  • int给 long,double 赋值
  • boolean不能强制转换
  • 强制转换可能会出现精度丢失(范围大的类型赋值给范围小的,例如long--->int)

不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行.(也即是:4个字节int赋值给8字节long,   4--->8字节,类似小数点补000,不改变原值;反之原值小数位数减少,精度发生变化

2.4数值提升

  • 不同类型的数据混合运算, 范围小的会提升成范围大的.
  • 2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算,如下:

byte a = 10;

byte b = 20;

byte c = a+b;(会报错)

byte c = (byte)(a+b);(编译通过)

三、运算符

  • int / int 结果还是 int, 需要使用 double 来计算(计算结果可能会有小数)
  • 0 不能作为除数
  • %表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模
  • 增量赋值运算符 += -= *= /= %=   (  int a = 1; a += 1;  若a为其他数据类型,使用“a +=1”形式会自动完成强制类型转换,若写作a=a+1不可完成强制类型转换)
  • 自增/自减运算符 ++ --(若用自增自减给其他变量b赋值,遵循a++  先使用,后++,++a  先++,后使用)
  • 关系运算符:== != < > <= >=  (值为布尔类型boolean  :true、false)

1.逻辑运算符

  • 逻辑与&&:表达式1 && 表达式2  均为布尔表达式,   2个为真则为真
  • 逻辑与&&:支持短路模式:表达式1为false则不执行表达式2,整个返回值为false,即使表达式2不成立也不会发生异常
  • 逻辑或||:支持短路模式:表达式1为true则不执行表达式2,整个返回值为true,即使表达式2不成立也不会发生异常

2.移位运算符:

左移:(乘法)

0000  1011(11)  <<1位 ---> 0001 0110  ---> 16+6=22  11*2^1
0000  1011  <<2位 ---> 0010 1100  --->  32+12=44      11*2^2

右移:(除法)
0000  1011  >>1位 --->  0000 0101 ---> 5    11/2^1
0000  1011  >>2位 --->  0000 0010 ---> 2     11/2^2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值