数据加载中……

二维数组的使用

Java中,二维数组的定义和一维数组是一样的。

public class Welcome {

     public static void main(String[] args) {

        int [][] num;

        num=new int[3][4];

        num[0][1]=1;

        num[1][3]=12;

        num[2][2]=21;        

            }

}

Java中二维数组的列数可以不同,比如第一行是2列,第二行是4列,等等。

有些类似与c语言中的指针数组。

public class Welcome {

     public static void main(String[] args) {

         int [][] num;

        num=new int[3][];

        num[0]=new int[2];

        num[1]=new int[4];

        num[2]=new int[3];

        num[0][1]=12;

        num[1][3]=23;

        num[2][2]=34;

        System.out.println(num[0][1]);

        System.out.println(num[1][3]);

        System.out.println(num[2][2]);

            }

 }

在java中没有定义的自动赋值为0.

在定义时可以为二维数组来定义,但是在赋初值时 ,不要在定义大小了

int [][] num=new int[3][]{1,2,3,4,5,2,3,4,5,6} //error

public class Welcome {

     public static void main(String[] args) {

         int [][] num=new int[][]{1,2,3,4,5,2,3,4,5,6}; //error

         int [][] num=new int[][]{{1,2,3,4,5},{2,3,4,5,6}}; //ok    

        }

}

定义二维数组还有一种方式

public class Welcome {

     public static void main(String[] args) {

           int [][] num={1,2,3,4,5,2,3,4,5,6}; //error

         }

}

也可以定义不规则的二维数组

public class Welcome {

     public static void main(String[] args) {

         int [][] num={{1,2,3},{4,5},{2}};

        System.out.println(num[0][2]);

        System.out.println(num[1][1]);

        System.out.println(num[2][0]);

         }

}

posted @ 2008-02-28 11:00 rick 阅读(3330) | 评论 (0)编辑 收藏
一维数组的使用

在java中,不能使用像int num[3];这样的定义数组,在定义数组时不能分配空间的大小,只能通过为数组添加对象来分配空间。

public class Welcome {

     public static void main(String[] args) {

           int num[];

        num=new int[3];

     }

 }

或者在定义时直接定义大小。

public class Welcome {

     public static void main(String[] args) {

            int num[]=new int[3];

            }

 }

Java中建议使int[] num 这种方式这种方式定义了一个int类型的数组[],数组名称为num。

在定义时还可以直接初始化

public class Welcome {

     public static void main(String[] args) {

           int[] num={1,2,3};

            }

 }

但是这种方法只能在定义时进行。

public class Welcome {

     public static void main(String[] args) {

            int[] num=new int[]{1,2,3};

            }

 }

还可以使用new int方法来定义,如上

int[] num =new int[3]{1,2,3};这样的写法也是不允许的。不能分配空间大小。

最简单的方法是

public class Welcome {

     public static void main(String[] args) {

        int [] num;

        num=new int[3];

        num[0]=1;

        num[1]=12;

        num[2]=21;

        System.out.println(num[0]);

        System.out.println(num[1]);

        System.out.println(num[2]);

            }

 }

posted @ 2008-02-27 17:11 rick 阅读(217) | 评论 (0)编辑 收藏
字符类型char和浮点类型float和布尔类型boolean的使用

对字符类型赋值使用单引号' ',

public class Welcome {

     public static void main(String[] args) {

         char ch;

        ch='a';

        System.out.println(ch);

     }

 }

输出为a

字符类型还可以直接使用整数来赋值,因为java中对字符类型使用的是uncode字符。

public class Welcome {

     public static void main(String[] args) {

        char ch;

        ch=98;

        System.out.println(ch);

     }

 }

输出为b

在java中小数常量被默认为double类型,如1.3默认为double类型。如果要声明为float类型,需要在之后加f,如1.3f

public class Welcome {

     public static void main(String[] args) {

        float f;

        f=1.3f;

        System.out.println(f);

     }

 }

输出为1.3

在java中boolean 布尔类型只有2个取值是true和false,不能赋值为1之类的整数。

 public class Welcome {

     public static void main(String[] args) {

        boolean bool;

        bool=true;

        System.out.println(bool);

     }

 }

输出为true

在做条件判断的时候,不能再像c语言那样使用if(1)或where(1)这样的语句。

只能写为if(true)或where(true)这样。

posted @ 2008-02-27 16:33 rick 阅读(593) | 评论 (0)编辑 收藏
数据类型强制转换

Byte b;

b=3;

b=b*3;

System.out.pringln(b);

编译时会提示发现int类型,需要byte类型,这是因为b=b*3java会自动将参与运算的数据自动转换为int类型。如果要输出正确的数据则要进行强制类型转换。

b=(byte)(b*3);

这样才会对

posted @ 2008-02-27 11:34 rick 阅读(550) | 评论 (0)编辑 收藏
关于类的知识

public class Welcome
//声明public的类,应该作为文件名,一个源文件只能有1个或没有public的类
{
 public static void main(String[] args)
 {
  System.out.print("你好\n");
  //不加ln,不加换行。或者在之后加\n也是换行
  System.out.println("欢迎使用java开发");
  //输出命令,牢记!
    }
}

posted @ 2008-02-20 22:30 rick 阅读(155) | 评论 (0)编辑 收藏
java笔记3

对象的特征:状态(state)和行为(behabior)
人          身高,体重     吃饭,睡觉


现实世界对象的状态保存在软件对象的变量中,先是世界对象的行为通过软件对象的方法(函数)来实现、。

类和对象
把相似的对象归成一个类。
类就是模版定义了通用与一个特定种类的所有对象的状态(变量)和行为(方法)
类是创建对象的模版,对象是类的实例。
掌握面向对象的难点在于思路的转换,我们通常考虑解决问题的方法。而不是考虑将问题抽象成对象再去解决它。
编写一个驾驶汽车的方法
面向过程的程序设计: 编写一个方法,void drivercar();
面向对象的程序设计: 将一辆汽车看成一个对象,将所有汽车对象的共性抽取出来,设计一个类Car,
  类中有一个方法void drive(),用Car这个类实例化一个具体的对象car,调用:car.drive().
 
 
 new关键字的作用。
  为对象分配内存空间,引起对象构造方法的调用。为对象返回一个引用。 
 
 
  构造方法的名字和类名相同,并且没有返回值。
  构造方法主要用于为类的对象定义初始化状态。
  我们不能直接调用构造方法,必须通过new关键字来自动调用,从而创建类的实例。
  java的类都要求有构造方法,如果没有定义构造方法,java编译器会为我们提供一个缺省的构造方法,也就是不带参数的构造方法。
  缺省构造方法默认值:数值         0
                      booeean    false
                      char       ”\0"
                      对象       null
                     
方法的重载:重载构成的条件:方法的名称相同,但是参数类型或参数个数不同,才能构成方法的重载。


特殊变量this
     this变量代表对象本身。
     当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法的局部变量),
  使用this区分成员变量和局部变量
     使用this简化构造函数的调用。可以通过不带参数的构造方法调用带参数的构造方法。
     Point(int a,int b)
 {
  x=a;
  y=b;
 }
 Point()
 {
  this(1,2);
 }
 一个类所有的实力(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,
而数据成员在类的每个对象所在内存中都存在这一份拷贝。this变量允许相同的实例方法为不同的对象工作。
每当调用一个实例方法时,this变量将被设置成引用改实例方法的特定的类对象。方法的代码接着会与this所代表的特定数据建立关联。
    
    内存模型 的概念
 
     静态方法和静态变量时属于某一个类,而不属于类的对象。
     静态方法和静态变量的引用直接通过类名引用。
     在静态方法中不能调用非静态的方法和引用非静态的成员变量。反之,则可以。
     可以用类的对象obj去调用静态的方法method(),如 obj。method()。
    
 
  final定义的变量要在定义时初始化也可以放在构造函数中实现
  常量通常定义为静态的,是为了节省内存。这时就要在定义时初始化。
  final定义的常量一般默认用大写。

继承
 
   继承是面向对象的关键
   在java中,通过关键字extends继承一个已有的类,被继承的称为父类(超类,基类),新的类称为子类(派生类)。
   在java中,不允许多继承。
  
方法的覆盖
在子类中定义一个与父类同名、返回类型、参数类型均相同的一个方法,称为方法的覆盖。覆盖发生在子类与父类之间。
   class Animal
{
 int height,weight;
 void eat()
 {
  System.out.println("animal eat");
 }
 void breathe()
 {
  System.out.println("animal breathe");
 }
 void sleep()
 {
  System.out.println("animal sleep");
 }
 
}
class Fish extends Animal
{
 void breathe()
 {
  System.out.println("fish bubble");
 }
}
class Integration
{
 public static void main(String[] args)
 {
  Animal an=new Animal();
  Fish fh= new Fish();
  
  an.breathe();
  fh.height=30;
  fh.breathe();
  
 }
}
   特殊变量super,提供了对父类的访问。
   可以使用super访问父类被子类隐藏的变量或覆盖的方法。
   每个子类构造方法的第一条语句,都是隐含的调用super(),如果父类没有这种形势的构造函数,那么在编译的时候就会报错。
  
   class Animal
{
 int height,weight;
 void eat()
 {
  System.out.println("animal eat");
 }
 void breathe()
 {
  System.out.println("animal breathe");
 }
 void sleep()
 {
  System.out.println("animal sleep");
 }
 
}
class Fish extends Animal
{
 void breathe()
 {
  super.breathe();
  super.height=40;
  System.out.println("fish bubble");
 }
}
class Integration
{
 public static void main(String[] args)
 {
  //Animal an=new Animal();
  Fish fh= new Fish();
  
  //an.breathe();
  fh.height=30;
  fh.breathe();
  
 }
}
  
   多态性,子类有就调用子类的。没有就调用父类的
   instanceof
   比较一个实例是否是一个类的实例

posted @ 2007-08-26 18:48 rick 阅读(192) | 评论 (0)编辑 收藏
java笔记2

按位与
同时开才亮

关  关  暗
开  关  暗
关  开  暗
开  开  亮
01101101 与
00110111
00100101
只有11为1


按位或
任何一个开都亮。同时关才暗
01101101 或
00110111
01111111
只有00为0


按位异或
处于不同的状态就亮
01101101 异或
00110111
01011010
只有01或10为1


按位取反
0变1,1变0
java中的3个移位预算符
左移:<<
带符号右移:>>
无符号右移:>>>
数     x          x<<2         x>>2          x>>>2
17  00010001  00`01000100  00000100`01  00000100`01
-17 11101111  11`10111100  11111011`11  00111011`11

把数向左移动一位。相当与乘以2,向右移动一位,相当与除2。

posted @ 2007-08-21 22:04 rick 阅读(237) | 评论 (0)编辑 收藏
java 笔记

源码
将最高位表示符号位0正1负其余代表数值本身的绝对值
+7 源码00000111
-7 源码10000111
问题
+0源码 00000000
——0源码 10000000
表示方式不唯一,所以计算机中不采用这种方式

反码
一个数为正。则它的反码与源码相同;一个数为负。则符号位为1。其余都是对源码取反
+7 反码 00000111
——7 反码 11111000
问题
+0 反码 00000000
——0 反码 11111111
计算机中也不采用这种方式
补码
利用溢出,我门可以将减法变成加法。
对于10进制 9-4=5
因为4+6=10
我们将6作为4的补数。将上面的减法变成加法
9+6=15
去掉高位1 得到5
一个字节表示一个数1个字节有8位超过就进1
一个数为正源码。反码。补码相同。一个数为负。则符号位为1。其余各位对源码取反。然后整个数加1。
+7 00000111
——7 11111000
    11111001
+0  00000000
_0  11111111 加1
   100000000 丢弃最高位
    00000000

posted @ 2007-08-21 22:02 rick 阅读(167) | 评论 (0)编辑 收藏
仅列出标题
共2页: 上一页 1 2