易截截图软件、单文件、免安装、纯绿色、仅160KB

java中各种运算符

比如java中常用的运算符
一 符号++ ,+,--,-
有时这个符号拼凑起来也有点复杂
比如这样一个运算式
int i=3;
i+++i-i++-++i
+ -运算符的优先级 低于++,-- 先运算++,--
可以将上面的式子拆开
i++ + i - i++ - ++i
这样是不是容易多了
 
先来个简单点的
1 K++
int k=0;
System.out.println(K++)
System.out.println(k)
输出结果为 0
           1
这说明 K++式子并没有相加 而是k本身加了1
 
2 ++K
int k=0;
System.out.println(++k)
System.out.println(k)
输出结果为 1
           1
这说明 K++式子本身加了1 而是k本身也加了1
 
K--与--K效果与上一样
 
再来算上面的式子
i=3
i++ + i - i++ - ++i
 1………….2………3…………..4
 
1处 i++本身不变 i++=3  i=4
2处 i=4
3处 i++本身不变 上面i=4 此时i++=4 i=5
4处 ++i本身变化 上面i=5 此时 ++i=6 i=6
 
取出上面红色的值
结果为 : 3+4-4-6=-3
 
 
二 符号 ~
 
比如 int i=102;
~i=-103
     int i=-3
~i=2
 
~计算可以匹配一个运算式
 int I;
~I=(-I)-1;
也就是求相反值-1
 
三 符号>> <<
举例
int i=100;
int j=2;
i>>j=25
i<<j=400
 
<<匹配运算式
i>>j   等价于   i/(int)Math.pow(2, j)
i<<j  等价于    i*(int)Math.pow(2, j)
也就是 i除以或乘以 2的j次方
 
四 符号(抑或) |
符号 | 就比较复杂一点 里面涉及到二进制与十进制之间的转换问题
比如 32 | 24
将 32 转换为二进制
Integer.toBinaryString(32) = 100000;
24转换为 二进制
Integer.toBinaryString(24) = 11000;
 
两个并排比较 比较式为数不同 补0
100000
011000
位与位比较 0与0=0  0与1=1 1与1=1
上面的结果就是
111000
然后将 111000转换为十进制
1*(int)Math.pow(2, 5)+1*(int)Math.pow(2, 4) +1*(int)Math.pow(2, 3)
=2*2*2*2*2+2*2*2*2+2*2*2
=32+16+8
=56
 
 
四 符号&
同样32 | 24
将 32 转换为二进制
Integer.toBinaryStri


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

JAVA排序汇总

import
java.util.Random;
 
/**
 
*

排序测试类
 
*

 
*

排序算法的分类如下:
 
*

1.
插入排序(直接插入排序、折半插入排序、希尔排序);
 
*

2.
交换排序(冒泡泡排序、快速排序);
 
*

3.
选择排序(直接选择排序、堆排序);
  ......

java传值问题.

Java传递参数有两种 :值传递,引用传递
一般引用类型 是引用传递,值类型是值传递
值类型是原始数据类型 包括 int,byte,char short long,boolean,float,double
引用类型就是一般的class类 当然也包括原始数据的封装类型 比如int的
封装类型为Integer
一般情况下:
值传递:
例子 1 public  void show1(int str ......

JAVA反射机制事例二

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
try {
Class cls = com.lwf.util.CommonUtil.class;
Object obj = cls.newInstance();
Method addMethod = cls.ge ......

java classLoader 原则

要理类加载体系结构,就必须清楚如下几点比较基本的原则:
1. classLoader是一种父子树形结构(注:这里不是指类继承的父子关系)
2. 父classLoader无法看到子classLoader加载的类
3、虚拟机遵守双亲委托加载原则,即任何子classLoader须首先委托父classLoader先加载需要的类,当父classLoader加载不到时再由子classLoa ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号