java语言基础1
- 数据类型中的几个小问题
- 算术运算符的基本用法
- 算术运算符+的多种用法
- 比较运算符的基本用法及其注意事项
- 逻辑运算符的基本用法
- 位运算符的基本用法
-
- 分析:因为是位运算,所以我们必须先把数据转换成二进制的。 3的二进制:11 00000000 00000000 00000000 00000011 4的二进制:100 00000000 00000000 00000000 00000100 &的位运算:有0则0; 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100
- |的位运算:有1则1; 00000000 00000000 00000000 00000011 |00000000 00000000 00000000 00000100
- ^的位运算:相同为0,不同为1; 00000000 00000000 00000000 00000011 |00000000 00000000 00000000 00000100
- 位运算基础题
- 位运算符的基本用法
- 三元运算符的基本用法
- 键盘录入的基本格式
- 键盘录入的联系
- 顺序结构语句
- 选择结构if语句格式
- if语句格式2和三元的互相转化问题
- 选择结构If语句格式3
数据类型中的几个小问题
1.在定义Long或者Float类型变量时要加L或者F;
整数默认是int,浮点默认是double;
byte,short在定义的时候,他们接受的其实是一个int类型的值。
2.byte值的问题;
byte b1 = 127;
byte b2 = (byte)128;//-128
byte b2 = (byte)129;//-127
byte b2 = (byte)130;//-126
byte的范围是:-128~127;
128:10000000
-128;10000000(这里1既是符号位也是数值为位);
3.数据类型转换之默认转换;
byte,short,char–int–long–float–double
long:八个字节;
float:四个字节;
他们的底层的存储结构不同;
float类型比long的范围大:
算术运算符的基本用法
运算符:就是对常量和变量进行操作的符号;
算术运算符;
A:+ - * / % ++ –
赋值运算符;
比较运算符;
逻辑运算符;
位运算符;
三目运算符;
++和–的使用:
++自增1;
–自减1;
加加和减减只能针对于变量,常量不能自增或者自减;
- 单独使用:::放在操作数前面或者后面的效果相同:
放在操作数的前面,先自增或者自减,再参与运算;同理相反;
字符串跟任意一个使用结果都是字符串;
算术运算符+的多种用法
加的用法:
加法
正号
字符串连接符
#赋值运算符
赋值运算符:
基本的赋值运算符:=
扩展的赋值运算符:+= -= *= /= %=
例如:+=
int y =10;
y += 20;
把左边和右边相加,然后赋值给左边的未知数;
s +=1;
不是等价于 s = s +1;
而是等价于 s = (s的数据类型)(s + 1);
比较运算符的基本用法及其注意事项
关系运算符:(比较运算符)boolean类型结果要不是true或者false;
==,!=,>,>=,<,<=;
逻辑运算符的基本用法
逻辑运算符:用于连接布尔类型表达式;
表达式:就是用运算符把常量或者变量连接起来的符合Java语法的句子;
结论: &有false则false;
|有true则true;
^左右一样为false,左右不一为true;
!非false即true奇数次!变,偶数不变;
运算符 运算
& 与
| 或
^ 异或
! 非
&& 短路
|| 短路
加加在后先比较在加加;
&和&&的区别:
A:最终结果相同
B:&&具有短路效果。左边是false右边不执行;
|和||的区别
||左边是true右边不执行
位运算符的基本用法
分析:因为是位运算,所以我们必须先把数据转换成二进制的。
3的二进制:11
00000000 00000000 00000000 00000011
4的二进制:100
00000000 00000000 00000000 00000100
&的位运算:有0则0;
00000000 00000000 00000000 00000011
&00000000 00000000 00000000 00000100
00000000 00000000 00000000 00000000
结果为0;
|的位运算:有1则1;
00000000 00000000 00000000 00000011
|00000000 00000000 00000000 00000100
00000000 00000000 00000000 00000111
结果为7;
^的位运算:相同为0,不同为1;
00000000 00000000 00000000 00000011
|00000000 00000000 00000000 00000100
00000000 00000000 00000000 00000111
结果为7;
~按位取反运算符:0变1,1变0;
00000000 00000000 00000000 00000011
11111111 11111111 11111111 11111100(补码)
补码: 11111111 11111111 11111111 11111100
反码: 11111111 11111111 11111111 11111011
原码: 10000000 00000000 00000000 00000100
位运算基础题
使用第三方变量:
int c = a;
a = b;
b = c;
用异或实现;
左边aba
右边a ^ b
a = a^b;
b = a^b; //a^b^b=a
a = a^b; //a^a^b=b
用变量相加的做法;
a = a+b; //a=30
b = a-b; //b = 10
a = a-b; //a=20
b = (a+b) - (a = b);
位运算符的基本用法
<<:左移