初学Java——变量和运算符

变量和运算符
一、变量
计算机分配的一块存储空间,可以赋值和取值。

1、变量的分类
(1)成员变量
直接声明在类结构体中,可以在方法上也可以在方法下。当主方法使用static修饰,使用需要使用的成员变量也需要static修饰。(否则报错:无法从静态上下文引用非静态变量)
如果没有赋值系统会分配默认值:

	整数		0
	小数		0.0
	字符		空
	引用		null
	布尔		false

作用域:可以在整个类中使用,切使用的变量必须先进行声明
(2)局部变量
声明在方法内部和代码块中,使用前必须赋值,不存在默认值。
作用域:在方法和代码块的{ }中使用

二、运算符

1、算术运算符
(1)算术运算符
+、-、*(乘)、/(除)、%(取模)

2、自增自减
只能用于变量不能够用于常量 ,优先级高于算术运算符
(1)自增(++)

   int i=1		int j=1

i++ 和++j 都是一个表达式,他们表达的值是不一样的。第一次自增的时候,i=1,i++这个表达式的值为1,++j的值为2。这就是两者的区别。自增完成后 i本身的值都变成了2。

	int k=i++;	// i++的值为1,k=1		
	int m=++j;	//++j的值为2,m=2

(2)自减(——)
同理自增。i—和—i两个表达式的值不一样。

3、赋值运算符
=、+=、-=、*=、/=、%= 共五个 (将+=这种形式看成一个整体)
(1)赋值运算

    int a=1;
	a += 2;相当于把2累加到a,可以理解为a=a+2;但是两者并不等价。
	short a=2;
	a += 2;//不报错,因为存在隐式转换

而a = a+2; a为short 、2为int。a+2的结果自动转化为int ,导致int转换为short有精度损失而报错。

4、比较运算符
==、!=、>、<、>=、<=、instenceof

(1)比较运算符的结果为boolean类型的值(false、true)
(2)instenceof 用于判断一个对象是否属于某一类型。

5、逻辑运算符
&、|、&&(双与)、||(双或)、^(异或)、!(非)
(1)规则
^(异或)两边不一样,结果为true。
!布尔型取反。
(2)双与双或
双与双或最大的特点是具有短路功能:
(逻辑表达式1)&&(逻辑表达式2)(单与、或会判断两边的表达式)
当在判断逻辑表达式1的时候判断出结果为false的时候,就已经可以判断出整个表达式的值为false,就没有必要执行逻辑表达式2,完成短路。
双或同理:判断出左边的表达式为true时,整个表达式的值为true,不执行右边的语句。

(3)注意事项
表达0~100之间:a>0&&a<100 0<a<100(错误)式

6、位运算符
&、|、^(按位异或)、~(按位取反)、>>(右移)、<<(左移)、>>>(无符号右移)

7、三目运算符
X?Y:Z
(1)规则
X是一个boolean的值或者结果为boolean的表达式。
Y、Z是数据类型相同的值或者表达式。
当X的值为true是执行Y,为false的时候执行Z。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值