黑马程序员之java编程基础2
来源:互联网 发布:09外设淘宝店地址 编辑:程序博客网 时间:2024/05/01 12:50
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流! ----------
一:运算符
1 )算数运算符:
示例:
class OperateDemo
{
public static void main(String[] args)
{
int x=4270;
x=x/1000*1000;
System.out.println(x);//结果是4000
}
}
取模(&):其实就是取余数。规律:左边如果如果小于右边,结果是左边。左边如果等于右边,结果是0。右边是1结果是0.如果出现负数只看左边,左边是多少
就是多少,其他的不用管。 例如1%-5=1
自增(++): int a=3,b;
b=a++; 结果是a=4 b=3 b=a++是什么意思? a++的意思是++叫做给a这个变量中的值进行一次加1操作,并把加1操作后的值重新赋给a。
理解b=a++ 这里边有一个先后顺序的问题,a先运算赋给b,所以b=3;
int a=3,b;
b=++a; 结果是a=4 b=4
+:字符串相连接 记住一句话:字符串数据和任何数据使用+,最终结果都会变成变成字符串。 把固定的放到双引号里边去,不固定的和双引号的哥们相连接就可以 了。
2 )转义字符:通过反斜线\来转变后边字母或者符号的含义。 转义字符要写在被转义字符的前边。
\n代表换行, \b代表退格 ,\t代表制表符, \r代表按下回车键。|
在linus系统里边换行是由一个字符来表示的,就是\n。而在windows里边是有2个组成的,一个是\n,一个\r, 在DOS里边直接识别\n。
3 )赋值运算符 = += -= *= /= %=
short s=4;
s=s+5;
s+=5; 有什么区别? s=s+5编译失败,因为s会被提升为int类型的,运算后结果还是int类型,无法赋值给short类型的。
s+=5编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
4 )比较运算符 ==相当于 !=不等于 < > <= >=
注意:比较运算符的结果都是boolean类型的,也就是要么是trus,要么是false。
比较运算符==不能误写成=。
5) 逻辑运算符 用于连接boolean类型的表达式。 符号有& | ^ ! && ||
与符号的特点:只要两边的布尔型表达式结果有一个为false,那么结果就是就是false,只要两边都为true,那么就为true。
或符号的特点:只要两边有一个为true,结果为true,只要两边都为false,结果为false。
异或符号的特点:两边相同结果是假,两边不同结果是真。
&&:当左边为假是右边不运算,短路了。当左边为真时,右边运算。
||:当左边为真时,右边不运算。
6) 位运算符 指的是二进制位运算 做运算的时候用位运算是最快的 包括<<左移 >>右移 >>>无符号右移 多出来的去除,空位拿0补
<<:其实就是乘以2的移动位数次幂.
>>:其实就是除以2的移动位数次幂。 右移最高位补什么由原来数据的最高位而定,如果最高位是0,右移后用0补空位。如果最高位是1,右移后用1补空位。
无符号右移: 无论最高位是什么,右移都用0补。
二 练习运算
1):与运算:6&3=2; 是怎么算的呢?首先把数都换成二进制的形式。 规律就是把1看成真,把0看成假。
110
&011
————
010
或和异或运算:和与运算是同理的。
反码:先把数换算成二进制的,然后取反减去1等于一个结果,然后再取反,换算成十进制就好了。
7^4^4=7 结论:一个数异或同一个数两次,结果还是那个数。
2) 最有效率的方式算出2*8等于几? 答案是2<<3
3) 对两个变量的值进行互换?
class OperateDemo2{public static void main(String[] args){ //对两个变量的值进行互换 //1通过第三方变量. int n=3,m=8; System.out.println("n="+n+",m="+m); /* int temp=n; n=m; m=temp;*/ //2不通过第三方变量/*n=n+m;m=n-m;n=n-m;*///3不通过第三方变量 n=n^m; m=n^m; n=n^m; System.out.println("n="+n+",m="+m); }}
4 )三元运算符:格式(条件表达式)?表达式1:表达式2;如果是true,就执行表达式1,如果是false,就执行表达式2.
例如 int x=3,y;
y=(x>1)?100:200;
System.out.println("y="+y); 结果是y=100
5 ) 如何用代码获取60的二进制表现形式呢?
class OperateDemo3{public static void main(String[] args){ //60的二进制的获取用代码怎么实现呢? int num=60; //获取60的最低4位,通过&15 int n1=num&15; System.out.println((n1>9)?(char)(n1-10+'A'):n1); //要获取下一组4位,将60右移4位。 int temp=60>>>4; //对temp值进行最低四位的获取。 int n2=temp&15; System.out.println((n1>9)?(char)(n2-10+'A'):n2); } }------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流! ----------
- 黑马程序员之java编程基础2
- 黑马程序员--Java基础之编程基础
- 黑马程序员---java基础之网络编程
- <<黑马程序员>>java基础之网络编程
- 黑马程序员之java编程基础1
- 黑马程序员之java编程基础3
- 黑马程序员之java编程基础4
- 黑马程序员之java编程基础5
- 黑马程序员之java编程基础6
- 黑马程序员之java编程基础7
- 黑马程序员之java编程基础8
- 黑马程序员之java编程基础9
- 黑马程序员---java基础之网络编程
- 黑马程序员--JAVA基础之网络编程
- 黑马程序员之----------Java编程基础
- 黑马程序员--Java基础之网络编程
- 黑马程序员-java基础之网络编程
- 黑马程序员 Java基础之网络编程
- ssa/ass字幕格式全解析
- 《UNIX环境高级编程》学习笔记——进程控制(一)
- 有没有一句深刻的话改变了你,并让你一直付诸实践至今
- MIPS汇编
- 字符串反转 -- java实现
- 黑马程序员之java编程基础2
- 递归调用的确定
- C++ 多线程同步相关
- 反思:IT部门在企业中的位置,IT人的地位,IT的价值
- 从程序员到技术总监,分享10年开发经验
- 链表初解(一)——单链表的创建、删除、插入、测长、排序、逆置
- Android开源项目SlidingMenu深入剖析
- 模板函数的定义和声明须在同一文件内
- static与final修饰类属性及初始化问题