天天看点

java学习笔记 暑假第二天

& 按位与 

|按位或

~按位取反

^按位异或  

java中位运算符

<<  按位左移 

>>带符号右移  

>>>无符号右移   高位补0  高位正数补0  负数补1

0xffffffff  表示-1   补码表示

java中每种数据类型都有自己对应的类    java.lang.* 包中

例如我们将一个数字转换成十六进制   java的输出函数中没有像C语言的格式化功能但是每个类型都对应了一个类 我们可以通过这些类的静态方法进行数据的转换 

例子 :

public class text

{

 public static void main(String[]args)

 {

  int n=0xffffffff;  //补码表示二进制的-1

  System.out.println(n<<2);

 System.out.println(n);

  System.out.println(Integer.toHexString(n));

 }

}

讲究速度的时候可以用移位运算 代替 乘除

javap  bin目录下的反编译工具    

/*  java  面向对象的编程  .

*   OOP 描述对象对象之间的联系

* java的方法也允许重载 。。和c++类型

*this 代表对象本身

*多个对象对应的成员方法在内存中只有一个拷贝

*非静态可以调用 静态静态不可以调用非静态

*静态变量作为统计计数因为他们用的是同一个变量

*/

public class point  //要和文件名相同

 final double  PI=3.1415926;//final声明常量 声明的时候也可以不初始化  放在构造函数中完成

 int x,y;  //point类的成员类型

 void output()//point类的成员方法 

  System.out.println(x);

  System.out.println(y);

 point()  //java的构造方法  java会提供一个确定的构造方法不带参数的 来构造如果构造函数不存在的话

  x=5;

  y=5;

 static void  printf()  //静态方法  对象方法为实例方法  在静态函数中不能调用成员因为在new之前 还没有内存空间 没有代码区 static例外

  System.out.println("java function is static!");

 void set(int x,int y)  //对成员变量进行赋值

  this.x=x;

  this.y=y;

 point(int m,int n)//带参数的构造函数

  x=m;

  y=n;

  public static void main(String []args)   //程序的入口函数  

  point a=new  point();  //java给对象分配空间的时候一定要加上括号  new后面 

   a.x=10;

  a.y=10;

  a.output();

  point b=new point(3,3);

  b.output();

  point c=new point();

  c.set(3,8);

  c.output();

  point.printf();  //调用类的静态方法