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();  //调用类的静态方法 
  
 }
 
 
 
 
 
}

 

 

上一篇:注册表操作


下一篇:java中的垃圾回收机制