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

1.目录

  • return
  • break
  • continue
  • this
  • super

return

return是Java编程中常用的一个关键字,但在这个关键字究竟是干什么的,有什么注意的呢,在这里详解一下,;

return有两个作用:

1.作为返回值

2.作为终止语句

Java中任何一个方法不管是否含有返回值,都是可以使用return语句,

  当方法中存在返回值类型时(即返回值类型为非void),则必须带有含有返回值类型数据的return语句,返回值类型可以是基本类型,也可以是引用类型;此时return语句起到两个作用,返回返回值给方法调用者,终止语句运行到方法调用者;

  当方法中不存在返回值类型时(即返回值类型为非void),则可以有return语句,也可以不要return语句,如果存在return语句那么,return语句作为终止程序运行使用;return语句有下面几个注意项,通过代码解析;

1.return语句后面紧跟其他变量或语句,编译不通过,如果return存在于大括号中,不影响大括号外的编译

2.方法可不可以不带返回值,答案是不行的,编译不通过,会提示添加返回值void

3.方法中存在return语句那么方法流向问题[return 可以作为终止语句,他会终止它自身所在的大括号中的语句],for循环中的return语句会跳出for循环,执行for循环下面的语句.

4.异常中的return

我们会发现代码运行到catch语句中return时,会先把finally中运行再return,这是异常的机制决定的,不管什么时候finally都会运行四种情况下不运行finally

break&&continue&&循环标号

  在这里我们把break和continue放在一起是因为这两个关键字经常放在同一个环境使用,也就是循环语句。

  break关键字它的作用在于跳出当前循环(即break所在的循环,如果存在for(){for(){break;}},那么break只是跳出内存循环,外层循环继续;),应用范围为循环语句,选择语句。

计算1到100的所有偶数的和,要求当和大于250时跳出,并输出这个和;

class SumDemoPractice{
public static void main(String[] args){
int sum = 0 , i=1;
for(;i<101;i++){
if(i%2==0){
sum+=i;
}
//当和大于250时,break语句跳出循环,
if(sum>250){
break;
}
}
//最后一次的相加和已经大于了250,在下面的输出中会体现出来
System.out.print("从1到"+i+"的偶数相加的和为:"+sum);
}
}

  Continue关键字作用是跳出当前循环进行下次循环,整个循环不结束

打印出1到20中的所有奇数,但是13被认为是一个不吉祥的数,不打印

class SumDemo1Practice{
public static void main(String[] args){
int sum = 0 , i = 0;
while(i<=20){
i++;
if(i%2==1){
if(i==13)
continue;
System.out.print(i+" ");
}
}
}
}

  Break和continue跳转语句它的作用范围仅在当前循环,那么如果多层循环中我们想break跳出指定循环该怎么操作呢?这时就引出了标号的概念;标号是为循环起一个名字,或者叫做为循环做一个标记,可以通过break 标记达到直接跳出该标记循环的目的。下面我们举例说明;

打印一个矩形*;

class RectanglePractice{
public static void main(String[] args){
int a = 4 , b = 5 ;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
System.out.print("*");
}
System.out.println("");
}
}
}

打印一个矩形*,当出现一行里超过第三个*时,打印结束;

class RectanglePractice{
public static void main(String[] args){
int a = 4 , b = 5 ;
out:for(int i=1;i<=a;i++){
inner:for(int j=1;j<=b;j++){
System.out.print("*");
if(j==3){
//当j==3时,它打印的是第三颗*,此时跳出循环,但他跳出的只是内循环,
//我们如何跳出外循环呢,这时就用到了标号,为循环标号,跳出标号循环
break out;
}
}
System.out.println("");
}
}
}

简析--Java中常见的一些关键字的解析的更多相关文章

  1. JDK框架简析--java.lang包中的基础类库、基础数据类型

    题记 JDK.Java Development Kit. 我们必须先认识到,JDK不过,不过一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含 ...

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

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

  3. Java中常见的5种WEB服务器介绍

    这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...

  4. Java中常见的Exception种类

    Java中常见的Exception种类 1.ClassNotFoundException 2.IOException 3.NoSuchFieldException 4.NoSuchMethodExce ...

  5. Java中的50个关键字

    form:http://blog.csdn.net/luoweifu/article/details/6776240 Java中的50个关键字 关键字也称为保留字,是指java语言中规定了特定含义的标 ...

  6. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  7. Java中常见的注解

    Java中常见的注解 1.JDK自带的注解@Override  @Deprecated  @Suppvisewarnings 常见第三方注解 Spring:@Autowired  @Service  ...

  8. Java中常见的异常类型

    一. Java中常见的异常类 异常类 说明 ClassCastException 类型准换异常 ClassNotFoundException 未找到相应类异常 ArithmeticException ...

  9. Java 中常见的 final 类

    Java 中常见的 final 类 java.lang 包 public final class Boolean extends Object implements Serializable, Com ...

随机推荐

  1. MySQL中设置同一张表中一个字段的值等于另一个字段的值

    今天遇到了一个需求,我在一张表中新增了一个字段,因为这张表以前已经有很多数据了,这样对于以前的数据来说,新增的这个字段的值也就是为该字段的默认值,现在需要将新增的这个字段添加上数据,数据来源为同表的另 ...

  2. Java虚拟机之栈帧

    写在前面的话:Java虚拟机是一门学问,是众多Java大神们的杰作,由于我个人水平有限,精力有限,不能保证所有的东西都是正确的,这里内容都是经过深思熟虑的,部分引用原著的内容,讲的已经很好了,不在累述 ...

  3. C++中 结构体和类的异同

    在C++中,结构体是一种特殊形态的类. 结构体和类的唯一区别就是:  结构体和类具有不同的默认访问控制属性. 类中,对于未指定访问控制属性的成员,其访问控制属性为私有类型(private) 结构体中, ...

  4. 04_Spring中使用Quartz

    [Spring中使用SimplerTrigger] [QuartzTask.java] package com.higgin.task; import java.text.SimpleDateForm ...

  5. std::string, std::wstring, wchar_t*, Platform::String^ 之间的相互转换

    最近做WinRT的项目,涉及到Platform::String^  和 std::string之间的转换,总结一下: (1)先给出源代码: std::wstring stows(std::string ...

  6. PowerDesigner 连接数据库(以MySQL)为例

  7. MonkeyRunnermac

    http://blog.csdn.net/wyb199026/article/details/51436754 背景 之前想学习自动化测试的时候,就研究过MonkeyRunner,说实话MonkeyR ...

  8. 一個新的面試題目,leetcode上面可以找到shortest palindrome

    記錄一下新的面試題目,其實題目是舊的,只是我才見到.以前研究過,只不過以前的解法不容易理解,現在有了新的遞歸解法.記錄一下. public String shortestPalindrome(Stri ...

  9. js判断一个dom中是否包含另一个dom的方法

    首先,比较原始(蠢)的方法 function isChildOf(child, parent) { if(child && parent) { let parentNode = chi ...

  10. 思维导图与Spring Batch

    最近在学画图,又在复习Spring Batch.不解释,直接上图. 第三章,用XMind画的. 第五章,用iMindMap画的.