2019独角兽企业重金招聘Python工程师标准>>>

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。

转载于:https://my.oschina.net/verynix/blog/365897

Java中的50个关键字相关推荐

  1. [转载] Java中的50个关键字

    参考链接: Java平台如何独立 Java中的50个关键字 关键字也称为保留字,是指java语言中规定了特定含义的标示符.对于保留字,用户只能按照系统规定的方式使用,不能自行定义.Java中有50个常 ...

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

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

  3. java底层原理书籍_阿里面试题:Java中this和super关键字的底层实现原理

    知道的越多,不知道的就越多,业余的像一棵小草! 编辑:业余草 来源:https://www.xttblog.com/?p=5028 B 站:业余草 最近一个粉丝加我说,接到了阿里的面试,问问我阿里会面 ...

  4. java中定义类的关键字是_java中定义类的关键字是什么?

    java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...

  5. java下面哪些定义正确,请问,以下哪些是java中定义的合法关键字?请选择所有正确答案:...

    请问,以下哪些是java中定义的合法关键字?请选择所有正确答案: 答:interface sizeof volatile "凡是亲眼所见的都是对客观事实的真实反映",这个命题 答: ...

  6. 一语点破 Java 中的静态 static 关键字

    来源 | blog.csdn.net/ju_362204801/article/details/90738966 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的文章里这么写的都这么 ...

  7. java中的标识符和关键字_浅谈java中的标识符、修饰符和关键字

    合法标识符 Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 组成:Java标识符由数字,字母和下划 ...

  8. [转载] Java中this和super关键字分别是什么意思

    参考链接: Java中的Super关键字 this和super关键字 this是自身的一个对象,代表对象本身可以理解为指代当前的对象,它可以调用当前对象的属性.方法和构造方法,一般情况下可以省略,必须 ...

  9. java中多态,instanceof关键字

    多态: 面向对象三大特征:继承.封装.多态,其中多态指的是有多种形态,可以使代码更加灵活,而非状态.继承或接口是多态的前提,比如一个对象狗是宠物类的实现类对象,而宠物类又继承了动物类,狗同时具有多种形 ...

最新文章

  1. win8计算机上工具选项在哪,Win8.1在开始菜单中找不到“便笺”工具如何恢复
  2. 差点败北!B站疯传3W次,堪称最强Java面试题,顺利拿下阿里P7的35K*16 薪 Offer...
  3. java id生成器 分布式_分布式高效唯一ID生成器(sequence)
  4. RASP技术攻防之基础篇
  5. Ubuntu16.04下面spyder切换虚拟环境下面的python版本
  6. qint64转为qstring qt_Qt中Qstring,char,int,QByteArray之间到转换
  7. 编程语言:C语言与Java的细致对比,你知道选谁了吗?
  8. Django REST Framework API Guide 01
  9. setSystemUiVisibility() 与 getSystemUiVisibility() 显示隐藏状态栏
  10. 基于SSM的商旅系统
  11. 编译OpenJDK12:运行提示缺少freetype
  12. 用python画科赫雪花
  13. 5-IP地址、端口、DNS服务器
  14. 【转】java将excel文件转换成txt格式文件
  15. js去掉url中的域名的方法
  16. uvalive 4987 Evacuation Plan 疏散计划
  17. 欧拉公式matlab
  18. 网吧部分机器耳麦line in线要重插一下才能说话的设置
  19. “守法规知礼让、安全文明出行”背后需要良好的交通环境支撑 | 聚焦守法知礼...
  20. Python 语言中的骚操作

热门文章

  1. 外星人台式电脑_戴尔外星人Alienware m17笔记本19款真机评测
  2. 多语言php,多语言 · ThinkPHP5.0完全开发手册 · 看云
  3. mysql管理用户数据库_MySQL 数据库管理(一)(用户与受权)
  4. c# redis hashid如何设置过期时间_Redis中Key过期策略amp;淘汰机制
  5. hbase shell编码显示中文
  6. iOS 关于UIView覆盖StatusBar的小知识点
  7. 仅需6步,教你轻易撕掉app开发框架的神秘面纱(2):MVP比MVC更好吗
  8. 给iOS开发者的React Native入门使用教程
  9. 精通Spring Boot —— 第十五篇:使用@ControllerAdvice处理异常
  10. MHA二种高可用架构切换演练