黑马程序员---java中几个常用的关键字

来源:互联网 发布:c51单片机中断 编辑:程序博客网 时间:2024/06/08 03:44

---------------------- android培训、java培训、期待与您交流!----------------------------------

Java中有很多被虚拟机保留的单词  这些单词就是java中的关键字。

本篇介绍finalstaticcontinuebreak这几个常用关键字的应用。

final关键字:

      "final"关键字可以使用在变量声明时,表示该变量一旦设定之后,就不可以再改变该变量的值,例如在下面的程序码中,PI这个变量一旦设定,就不可以再有指定值给PI的动作:

final double PI = 3.14;
如果在方法成员声明时使用"final",表示该方法成员在无法被子类覆盖,例如:

public class Demo {
private double radius;
public final double getRadius() {
return radius;
}
// ....
}
如果您在声明类时加上"final"关键字,则表示这个类不可以被其它类继承,例如:

public final class Demo {
// ....
}
如果在数据成员上加上final关键字,但未给予该数据成员初值,则初值的初始化被延迟,该数据成员必须在构造方法中进行初始化,且初始化之后不得改变其值,例如:

public class Demo{
private final int some;
public Demo() {
some = 10;
}

....
}

static关键字:

  在程序中,有时我们需要对一个共享的数据进行操作,这时候我们就需要使用static对需要被共享的变量进行修饰了。

  被static修饰的变量,随着类的加载会被存储在内存中一个叫做共享区的地方,共享区中的数据生命周期是最长的,一直到程序结束,共享区的数据才会消失。

static修饰的函数在本类中可以直接进行调用,在其他类中调用需要使用

类名.函数名  进行调用,它不能调用非静态的成员变量,但是可以对局部

变量进行操作

还可以使用static来定义一个代码块,叫做静态代码块。静态代码块可以在

类加载的时候对类进行初始化,当类第一次被调用加载时,静态代码块就会

被执行,例如下面的代码:

    public class Demo

{

static{

//一些初始化的代码

}

………….

}

由于static成员属于类而不不是对象,所以在调用static方法时,并不会传入对象的位置引用,所以static成员中不会有this引用,所以在java中的static方法成员中不允许使用非静态成员,因为程序没有this来指向对象地址,也就无法辨别要存取哪一个对象的成员。

breakcontinue关键字:

   breakswitch语句中主要用来结束当前的比对,进行下一个case的比对,在forwhiledo while中,主要用于中断目前的循环执行。

   continue的作用与break类似,主要使用于循环,所不同的是break会离开循环而continue

只会结束当前的循环,并调回循环开头继续下一个循环,而不会离开循环。例如:

class Demo

{

   public static void main(String[] args){ 

   for(int i=0;i<5;i++){

       if(i=4){

      break;

   }

   System.out.println(i);

   } 

   }

}

这段代码会输出0123因为当i=4的时候,使用了break结束了循环,所以输出不了45

class Demo

{

   public static void main(String[] args){ 

   for(int i=0;i<5;i++){

       if(i=4){

      continue;

   }

   System.out.println(i);

   } 

   }

}

而这段代码会输出1235;当i=4的时候,使用continue会跳出当前循环,并进入下一个循环。

break continue还可以配合标签使用,例如:

class Demo

{

   public static void main(String[] args){ 

a: {  for(int i=0;i<5;i++){

       if(i=4){

      break  a;

   }

   System.out.println(i);

   }

  System.out.println("It's Demo");

}

   }

}

a是个标签  当运行到break a时,会跳出标签的区域,System.out.println("It's Demo");

不会被执行。

continue也有类似的方法,但是标签只能设定在for之前

class Demo

{

   public static void main(String[] args){ 

a:

   for(int i=0;i<5;i++){

b:

       for(int j=0;j<3;j++){

              if(i=j){

            continue a;

                  }

                    }

   System.out.println(i);

   } 

   }

}

continue配合标签使用可以跳至任何一层for循环。

-------------------------------------------- android培训、java培训、期待与您交流! ----------------------

                                       详细请查看:http://edu.csdn.net/heima

原创粉丝点击