Java中的关键字_动力节点Java学院整理

Java中常用关键字:

与数据类型相关(10)

与流程控制相关(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"后缀名的文件里面只能一个public型的class类。如com.bjpowernode包下有HelloWorld.java 文件,该文件下有如下代码:

package com.bjpowernode;
public class HelloWorld {
 public void show() {
 System.out.println("HelloWorld!");
 }
}

在default包下有如下代码:

import com.bjpowernode.*;//引入所需要的包里的所有类
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的变量的值不能被改变;
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的线程。");
}
}
}

volatile:volatile变量一个时间只有一个线程可以访问。 保证线程安全。 
可以被写入 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。

(0)

相关推荐

  • Java关键字、标识符、常量、变量语法详解

    一.关键字 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符 标识符:就是给类,接口,方法,变量等起名字时使用的字符序列. 组成规则:英文大小写字母.数字字符.$和_ 注意事项:不能以数字开头.不能是Java中的关键字.区分大小写 我们通常会给下面的这些东西起一个标识符: 包.类或者接口.方法和变量.常量 三.注释 单行注释的格式: //注释文字 多行注释的格式: /* 注释文字 */ 文

  • Java的关键字与保留字小结

    JAVA常用关键字及其用法简要说明 Abstract: 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 break: 一个Java的关键字,用来改变程序执行流程,立刻从当前语句的下一句开始执行从.如果后面跟有一个标签,则从标签对应的地方开始执行 case: Java语言的关键字,用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行. catc

  • JAVA关键字及作用详解

    Java关键字及其作用 一. 总览: 访问控制 private protected public 类,方法和变量修饰符 abstract class extends final implements interface native new static strictfp synchronized transient volatile 程序控制 break continue return do while if else for instanceof switch case default 异常

  • Java中的关键字_动力节点Java学院整理

    Java中常用关键字: 与数据类型相关(10) 与流程控制相关(13) if: 表示条件判断,一般用法if(关系表达式),后跟else或{--} else: 条件转折,如if (关系表达式){语句块1}else{语句块2},如果关系表达式的值为true,则执行语句块1,否则执行语句块2. do--while--:do和while一般一起使用,用于表示循环语句.do{--}while(关系表达式)--:当关系表达式的值为true是继续循环. for:用于表示循环,for循环是最常使用的循环,格式f

  • Java 中HashCode作用_动力节点Java学院整理

    第1 部分 hashCode的作用 Java集合中有两类,一类是List,一类是Set他们之间的区别就在于List集合中的元素师有序的,且可以重复,而Set集合中元素是无序不可重复的.对于List好处理,但是对于Set而言我们要如何来保证元素不重复呢?通过迭代来equals()是否相等.数据量小还可以接受,当我们的数据量大的时候效率可想而知(当然我们可以利用算法进行优化).比如我们向HashSet插入1000数据,难道我们真的要迭代1000次,调用1000次equals()方法吗?hashCod

  • Java中Random简介_动力节点Java学院整理

    Java中存在着两种Random函数: 一.java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布.例子如下: package IO; import java.util.Random; public class TestRandom { public static void main(String[] a

  • 深入理解Java中的final关键字_动力节点Java学院整理

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例.final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的. final关键字的含义? final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如

  • Java中的super关键字_动力节点Java学院整理

    一.super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用. super关键字测试 package com.bjpowernode.test; /** * 父类 * * */ class FatherClass { public int value

  • Java数组的特性_动力节点Java学院整理

    Java中的数组是对象吗? Java和C++都是面向对象的语言.在使用这些语言的时候,我们可以直接使用标准的类库,也可以使用组合和继承等面向对象的特性构建自己的类,并且根据自己构建的类创建对象.那么,我们是不是应该考虑这样一个问题:在面向对象的语言中,数组是对象吗? 要判断数组是不是对象,那么首先明确什么是对象,也就是对象的定义.在较高的层面上,对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体.对象具有各种属性,并且具有一些特定的行为.而在较低的层面上,站在计算机的角度,对象就是

  • Java BigDecimal详解_动力节点Java学院整理

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,例如银行存款数额,这时候BigDecimal就派上大用场啦. 2.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组

  • Java接口的作用_动力节点Java学院整理

    1. 接口是一种规范 很好,你已经知道接口是一种规范了! 下面这张图是我们生活中遇到的接口:电源插座接口. 2. 为什么需要规范呢? 因为有了接口规范: • 任何电器只有有符合规范的插头,就可以获得电力 • 任何厂家(西门子插座,TCL插座,公牛插座...)按照规范进行制作,就能进行供电 每个厂家插座的生产技术.工艺都不一样,因为接口的implementation可以不一样,但是并不影响电器的正常工作.插座的内部实现对于电器来说是完全屏蔽的. 对于软件开发同样也是类似的: • 按照接口规范进行方

  • Java字符编码简介_动力节点Java学院整理

    1. 概述 本文主要包括以下几个方面:编码基本知识,Java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2. 编码基本知识 最早的编码是iso88

  • Java中StringBuffer和StringBuilder_动力节点Java学院整理

    下面先给大家介绍下String.StringBuffer.StringBuilder区别,具体详情如下所示: StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象.既然可变和不可变都有了,为何还有一个StringBuilder呢?相信初期的你,在进行append时,一般都会选择StringB

随机推荐