form:http://blog.csdn.net/luoweifu/article/details/6776240

Java中的50个关键字

关键字也称为保留字,是指java语言中规定了特定含义的标示符。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。Java中有50个常用关键字:

与数据类型相关(10)

关键字 类型 占字节数 备注
boolean 布尔数据类型 1 有true和false两个值
int 整型数据类型 4  
long 长整型数据类型 8  
short 短整型数据类型 2  
byte 字节数据类型 1 大小范围为-27—27-1
float 浮点型(实数型) 4  
double 双精度型数据类型 8  
char 字符型数据类型 2(Unicode码)  
class 表示一个类 不确定 可用于定义一个类。
interface 表示一个接口 不确定 可用于定义一个接口

与流程控制相关(13)


if: 表示条件判断,一般用法if(关系表达式),后跟else或{……}


else: 条件转折,如if (关系表达式){语句块1}else{语句块2},如果关系表达式的值为true,则执行语句块1,否则执行语句块2.


do……while……:do和while一般一起使用,用于表示循环语句。do{……}while(关系表达式)……;当关系表达式的值为true是继续循环。


for:用于表示循环,for循环是最常使用的循环,格式for(表达式a; 表达式b; 表达式c)括号里面的书通常用于控制循环的次数,一般会用一个int类型的变量类计数,如(int i=0;
i<10; i++)表达式a用于流程控制的开始值,表达式b表示循环终止条件,表达式c用于计数。


switch(条件a)case……:switch和case合起来用于表示条件分支流程。如:

while(int c) {

case 1: {语句块1} 

case 2: {语句块2}

……?????? ……

case n: {语句块n}

default:exit(0);

}

如果c为1,则执行语句块1;如果c为2,则执行语句块2;以此类推,如果c为n,则执行语句块n。default表示除case以外出现的情况。


default:在switch……case……分支语句可知,default是在所有case条件下都不成立时使用。用于包表示s“rc”文件夹下的当前包;如果用于类,表示只可被本文件内的其它类访问。


break用于结束本层循环,或跳出某层循环。


continue:用于跳出本次循环,而break跳出本层循环。Break和continue可以实现类似于C\C++中goto语句的用法:

label0:

{

 for (int k = 0; k < 10; k++) {

 .......... 

 label1:

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

  ................

  break label0;  //跳转至label0

 }

 ...........

 label2:

 for (int kk = 0; kk < 10; kk++) {

  ..............

  break label0;  //跳至label2

 }

}


return:返回一个值,通常用于函数中,返回一个具有特定类型的值。如:

public int fuction()

{

  int a; 

  ……

  return a;//返回int型的值

}


try……catch……finally……:用于异常处理,使用形式如:

try{

 ……

}catch(类型b){

 ……

}finally{

 ……

}

try{……}中放置可能会发生异常的的语句块,catch(){……}用于抓住异常,{}定义当出现异常时的处理方法。finally{……}表示不管异常是否发生,都得进行finally{}中的处理。


与修饰符相关(12)


不同访问修饰符的访问权限
范围 本类 同软件包 不同包中子类 不同包且无继承 作用(含义)
public 可以 可以 可以 可以 公有的
protect 可以 可以 可以   受保护的
default(无权限修饰符) 可以 可以     当前的
private 可以       私有的

如:

一个".java"后缀名的文件里面只能一个publi型的cass类。如c13.swing包下有HelloWorld.java 文件,该文件下有如下代码:
package c13.swing;
public class HelloWorld {
public void show() {
System.out.println("HelloWorld!");
}
}
在default包下有如下代码:
import c13.swing.*;//引入所需要的包里的所有类
public class Test {
public static void main(String args[]) {
HelloWorld h = new HelloWorld();
h.show();
}
}
此时运行正常,结果:HelloWorld!
如果把public class HelloWorld改成privateclass HelloWorld则会运行错误,因为private是私有的不能被其他包内的对象所引用。

final:(类似于C++中的const),用法如下:

a,final的变量的值不能被改变;1),final的成员变量; 2)final的局部变量;

b,final的方法不能被重写;

c,final的类不能被继承。


void:空类型,用于函数前表示空返回值。


static可用于定义静态成员变量或方法


strictfp:意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。  

你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:

1. 合法的使用关键字strictfp 

strictfp interface A {}

public strictfp class FpDemo1 { 

strictfp void f() {} 



2. 错误的使用方法 

interface A { 

strictfp void f(); 

}

public class FpDemo2 { 

strictfp FpDemo2() {} 

}

一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。例如一个类被声明为strictfp,那么该类中所有的方法都是strictfp的。


abstract抽象的意思,可以用定义抽象类,抽象函数。抽象类的用法规则如下:

a,用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,这个方法叫做抽象方法;

b,含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写;

c,抽象类不能被实例化;

d,抽象方法只需声明,而不需实现。


transient: Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

 使用对象:字段

介绍:字段不是对象持久的一部分,不应该字段和对象一起串起。


synchronized:锁定当前对象,在执行当前这个对象时不应许其他线程打断插入。使用的方式有:

这是我在暑假学习做的笔记

(1),class Timer {

private static int num = 0;

public synchronized void add(String name) { //执行这个方法的过程中锁定当前对象。

num ++;

try {

Thread.sleep(1);

} catch( InterruptedException e) {

return;

}

System.out.println(name + ",你是第" + num +"使用Timer的线程。");

}

}

(2),class Timer {

private static int num = 0;

public void add(String name) { 

synchronized(this) { //锁定大括号这个区域的代码段

num ++;

try {

Thread.sleep(1);

} catch( InterruptedException e) {

return;

}

System.out.println(name + ",你是第" + num +"使用Timer的线程。");

}

}

}


volatilevolatile变量一个时间只有一个线程可以访问。 保证线程安全。 

可以被写入 volatile 变量的这些有效值独立于任何程序的状态,包括变量的当前状态。 

所以,Volatile 变量是一种非常简单但同时又非常脆弱的同步机制,它在某些情况下将提供优于锁的性能和伸缩性。


native是用作java 和其他语言(如c++)进行协作时用的也就是native 后的函数的实现不是用java写的, native的意思就是通知操作系统,这个函数你必须给我实现,因为我要使用。所以native关键字的函数都是操作系统实现的,
java只能调用。


与动作相关(10)


package:打包,把java程序写在一个包中。


import:引入报名,用法: 

a,写全包名:jsxt.java140.Cat c = new com.bjsxt.java140.Cat

a,引入一个包中的具体某个对象:xt.java140.Cat;

b,引入一个包中的所有象:import com.bjsxt.java140.Cat.*;


throw抛出用户自己定义的异常


throws抛出系统异常


extends:继承(类继承类,或接口继承接口)


implements:实现,通过类来实现接口


this:是指向该对象自身的标示符


super:调用基类的构造函数


instanceof:判断某个对象是否为自己所要的对象


new:用于新建一个对象,即类的实例化


其他(5)


true表示boolean类型的真值


false:表示boolean类型的假值,即不成立的情况


null:表示空值,如果是对象,则表示此对象为空,如果是数据类型,在表示相应数据类型的默认值,如int的默认值为0。


goto:C\C++中实现无条件转向语句,为了结构化程序设计java中现在一般不用。


const:和const一样,在Java中,const是作为保留字以备扩充。可以用final替换const,一般C++中用const,java中用final。

Java中的50个关键字的更多相关文章

  1. Java中的两个关键字——super、this

    Java中的两个关键字——super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  2. Java中的标识符和关键字

    1.标识符 含义:标识符用于给程序中的类.变量.方法命名的符号. 组成:数字(0-9).字母(a-z)(A-Z).下划线(_).美元符号$. 命名规则:1.数字不能够作为命名符号的开头 2.不能够使用 ...

  3. 1.3 Java中的标识符和关键字

    1.标识符 含义:标识符用于给程序中的类.变量.方法命名的符号. 组成:数字(0-9).字母(a-z)(A-Z).下划线(_).美元符号$. 命名规则:1.数字不能够作为命名符号的开头 2.不能够使用 ...

  4. 【每周一译】愚蠢的指标:Java中使用最多的关键字

    此翻译纯属个人爱好,由于水平所限,翻译质量可能较低.网络上可能存在其它翻译版本,原文地址:http://blog.jooq.org/2013/08/26/silly-metrics-the-most- ...

  5. java中this和super关键字的使用

    这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~ this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this ...

  6. Java中需要知道的关键字

    Java中有一些或常用,或不常用,但却不得不知关键字,本篇文章将讨论这些关键字的作用. transient transient关键字可能用的不是那么频繁,但却是一个很重要的关键字,它的作用是在对象序列 ...

  7. Java中this和super关键字

    今天练习到Java中的this和super关键字,我有如下总结: 1.子类继承父类,子类初始化对象,必须先调用父类构造方法,因为随时有可能要使用父类的成员变量. 2.get和set方法只是对成员变量进 ...

  8. java中的标识符、关键字、保留字

    Java中关键字(keyword)和保留字(reservedword) Keyword :Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等. Reserv ...

  9. 简析--Java中常见的一些关键字的解析

    在Java开发中我们经常会用到一些关键字,关键字的定义很有意思"Java事先定义好的,具有特殊含义的单词",那么我们怎么来用好关键字呢?下面我们对一些常见的关键字进行分析和比较; ...

随机推荐

  1. iOS 10 推送全解析,注意事项

    本文旨在对 iOS 推送进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacode 使用 iOS ...

  2. Servlet之异常处理

    当一个 Servlet 抛出一个异常时,Web 容器在使用了exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置. 前提是必须在 web.xml 中使用 error- ...

  3. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  4. Linux之mailx的使用

    mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件.下面看看如何使用它来发送邮件. 发送格式 mailx -s subject user@xxx.com < message_ ...

  5. UNIX网络编程——客户/服务器程序设计示范(五)

        TCP预先派生子进程服务器程序,传递描述符 对预先派生子进程服务器程序的最后一个修改版本是只让父进程调用accept,然后把所接受的已连接套接字"传递"给某个子进程.这么做 ...

  6. tomcat如何路由映射网址

    对于web容器来说,根据请求客户端路径路由到对应的资源属于其核心功能,假设用户在自己电脑上使用浏览器输入网址http://www.test.com/test/index.jsp,报文通过互联网网络到达 ...

  7. Cytoscape源码下载地址和编译办法

    开发环境:Windows2008 R2 64位+Jdk1.7+Maven3.2.3 前提条件:安装好JDK1.7到C:\Program Files\Java\jdk1.7.0_67,下载好Maven并 ...

  8. tomcat服务器虚拟目录的映射方式

    lWEB应用程序指供浏览器问的程序,通常也简称为web应用 l l一个web应用由多个静态web资源和动态web资源组成,如: •html.css.js文件 •jsp文件.servlet程序.支持ja ...

  9. 就这么 来ADO.net类操作数据库

    使用ADO.net操作数据库其实也是很简单,而且使用频率蛮高的一种方式.话不多说,上代码才更容易理解. 首先,先要引入数据库操作相关的命名空间,这样才能使用下面的代码 //数据库连接引用的命名空间 u ...

  10. 怎样写一个与Windows10 IE11兼容的标准BHO?

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...