java学习笔记(一)

数字常量表示法

从java SE7开始,撰写整数或浮点数常量时可以使用下划线更清楚的表示某些数字。

int number = 1234_5678;		double number2 = 3.14_159_26

要以二进制方式表示某个值,可以用0b作为开头。

int mask = 0b10101010;
结合下划线: int mask = 0b1010_1010;

条件运算符

(Conditional Operator),三目条件运算。使用方式:

条件式 ? 成立返回值 : 失败返回值

条件运算符返回值根据条件式结果而定,如果条件式结果为true,返回“:”前的值;若条件式结果为false,返回“:”后的值。例如,若int声明,储存使用者输入的学生成绩。

System.out.printf("该生是否及格?%c%n",score>=60?'是':'否');

输出结果:

该生是否及格?是

位运算

1.按位与运算:
&是双目运算符,对两个整形数据a、b按位进行运算,运算结果是一个整形数据c。运算法则:
如果a、b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a的精度,c的精度与b的精度相同。

    	a:		00000111
   &    b:      10101011
        c:      00000011

2.按位或运算:
|是二目运算符。运算法则:如果a、b两个数据对应位都是0,则c的改为是0,否则是1。

0|0 = 0
0|1 = 1
1|0 = 1
1|1 = 1

3.按位非运算:
~是二目运算符。运算法则:如果a对应位是0,则c的该位是1,否则是0。
4.按位异或运算:
^是二目运算符。运算法则:如果a、b两个数据对应位相同,则c的该位是0,否则是1。

0^0 = 0
0^1 = 1
1^0 = 1 
1^1 = 0

有异或运算法则可知:a ^ a = 0, a ^ 0 = a,因此如果c = a ^ b , 那么a=c ^ b,所以^ 的逆运算是^,即
a ^ b ^ b等于a

运算符的优先级和结合性

优先级描述运算符结合性
1分隔符[ ] ( ) . , ;
2对象归类,自增自减运算,逻辑非instanceof ++ - - !右到左
3算数乘除运算* / %左到右
4算数加减运算+ -左到右
5移位运算>> << >>>左到右
6大小关系运算< <= > >=(小于,小于等于,大于,大于等于)左到右
7相等关系运算== !=(等于,不等于)左到右
8按位与运算&左到右
9按位异或运算^左到右
10按位或|左到右
11逻辑与运算&&左到右
12逻辑或运算||左到右
13三目运算符? :左到右
14赋值运算=右到左

类型转换

如果操作数都是不大于int的整数,则自动的全部提升int类型进行运算。例如:

short a = 1;
short b = 2;
short c = a+b;

编译会出错,虽然a、b都是short类型,java在运算整数时,如果全部的整数都不大于int,那么一律在int的空间中运算,int的运算结果要放到short中,会提醒精度丢失问题。

short c = (short) a + b

进行强制转换虽然可通过编译,但执行时可能会出现的精度丢失的问题。

递增递减运算

++或- -写在变量前:表示先将变量值加或减1,然后在返回变量值;
++或- -写在变量后:先返回变量值,在对变量加或减1。例如:

int i = 0;
int number = 0;
number = ++i;		//i = i + 1;number = i;
System.out.println(number);
number = --i;		//i = i - 1;number = i;
System.out.println(number);

输出结果分别是:1 、0.

int i = 0;
int number = 0;
number = i++;		//number = i; i = i + 1;
System.out.println(number);
number = i--;		//number = i; i = i - 1;
System.out.println(number);
System.out.println("i = " + i);

输出结果分别是:0、1、i = 0.

指定运算

指定运算范例结果
+ =a + = ba = a + b
- =a - = ba = a - b
* =a * = ba = a * b
/ =a / = ba = a / b
% =a % = ba = a % b
& =a & = ba = a & b
| =a | =ba = a | b
^ =a ^ = ba = a ^ b
<< =a << = ba = a << b
>> =a >> = ba = a >> b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值