经典的java中return和finally问题!】的更多相关文章

经典的java中return和finally问题! 标签: 杂谈 分类: java学习 前一段时间 参加公司的笔试问了这个问题,回来一查才知道当时自己做错了,百思不得其解,上网查到下面的程序,但是运行后发现了错误,我修改后放在了我的blog 上面,希望和大家分享. 经典的java中return和finally问题!   代码如下: public class Test { public static void main(String[] args) { System.out.print(tt())…
1.return语句的作用:a.返回一个值,这个值可以是任意类型.b.使程序返回到操作系统(即终止程序)2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句.但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型). a.如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句.b.如果函数没有返回值(即返回值类型为void ),则函数中return 语句(如果存在return语句!)的后面不能加任何的变量…
1. 最简单的情形 public void main(){ String s = test(); System.out.println("s=[" + s + "]"); } public String test(){ String s = ""; try{ System.out.println("In try"); s += "try," ; }catch(Exception ex){ System.ou…
我们知道return会结束此方法并返回指定值.以及在Try-catch-finally中无论try代码块中有没有异常finally中的代码时都会被执行的.但是如果return包含在try-catch-finally中的try或catch块中会怎样呢? 我们再做个试验: static int txt(){ try { @SuppressWarnings("unused") int a=5/0; } catch (Exception e) { System.out.println(&quo…
可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定会执行吗? 很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员.可惜并不像大多人所认为的那样,对于这个问题,答案当然是否定的,我们先来看下面这个例子. 清单 1. public class Test { public static void main(St…
以下这段代码的运行结果是如何的呢? [java] view plaincopyprint? publc int test(){ int x; try{ ; return x; }catch(Exception e){ ; return x; }finally{ ; } } 相信对Java比較熟悉的朋友立即会说出正确答案:正常返回1.异常返回2. 我第一次看到这段代码时,对于finally里面的x=3产生了疑惑,不确定最后返回的x是否变成了3.直到从<深入理解Java虚拟机>里面找到了这段代码的…
在Java开发时,异常处理是非常普遍的.先看这样一道关于异常处理的代码 public static int getNumer() { int a = 1; try { return a; } catch (Exception e) { a = -1; } finally { a = 30; System.out.println(a); } return a; } 当执行System.out.println(getNumer())返回的结果应该是多少?A 30 30B 30 1C 1 30答案是B…
public class TestReturn { public static void main(String args[]) { TestReturn t = new TestReturn(); t.test1(); System.out.println(t.test2()); int sum=getSum(4,6); System.out.println("sum="+sum); get(4,5); } public void test1() { System.out.print…
下面这段代码的执行结果是怎样的呢? publc int test(){ int x; try{ x = 1; return x; }catch(Exception e){ x = 2; return x; }finally{ x = 3; } } 相信对Java比较熟悉的朋友马上会说出正确答案:正常返回1,异常返回2.我第一次看到这段代码时,对于finally里面的x=3产生了疑惑,不确定最后返回的x是否变成了3,直到从<深入理解Java虚拟机>里面找到了这段代码的字节码,才明白其运行机制.下…
一:return语句总是用在方法中,有两个作用: 一个是返回方法指定类型的值(这个值总是确定的), 一个是结束方法的执行(仅仅一个return语句). 二:实例1 -- 返回一个String private String gets(){ String s = "qw789" ; return s ; } 实例2 -- 结束程序 private void gets(String s ){ if ( s == null ){ return ; } System.out.println( &…
编程语言大多是想通的,当然java也不例外,下面的在其他编程语言也是相同的道理. return与continue的区别 先看代码哦 class demo2 { public static void main(String[] args) { for(int i=1;i<15;i++){ if(i==5){ //当i等于5时,就跳出这一次循环 continue; //当i等于10时,就结束循环 }else if(i==10){ return; }else{ System.out.println(i…
例子一: public class A { public static void main(String[] args) { System.out.print(tt()); } public static int tt() { int b = 23; try { System.out.println("yes"); return b += 88; } catch (Exception e) { System.out.println("error:" + e); }…
1.return @Testpublic void testReturn(){ for (int j = 1; j < 3; j++) { for (int i = 1; i < 5; i++) { System.out.println("i:"+i); if (i==2){ return; } System.out.println("内层循环执行"); } System.out.println("外层循环,在内层循环结束之后执行")…
脑补一下基础的东西,return的用法. return的常用作用有以下两种第一种用法是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例: public string functionTest(){ String a = "abc"; return a; } 那么这个方法被调用之后就会返回一个值为abc的字符串,调用示例如下: string result = functionTest(); 主要是记住第二种用法: 第二种用法是,代码执行到此处终止.比如当代码…
JAVA中去掉空格经典整理 JAVA中去掉空格          1. String.trim() --------------trim()是去掉首尾空格           2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 String str = " hell o Wor d"; String str2 = str.replaceAll(" ", ""); System.ou…
Java中return的两个作用:   (1)返回方法指定类型的值(这个值总是确定的),也可以是对象   (2)方法的结束…
Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后.重复第一趟步骤,直至全部排序完成. 举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排序: 比较,6大于3,交换位置…
项目中一个消息推送需求,推送的用户数几百万,用户清单很简单就是一个txt文件,是由hadoop计算出来的.格式大概如下: uid caller 123456 12345678901 789101 12345678901 …… 现在要做的就是读取文件中的每一个用户然后给他推消息,具体的逻辑可能要复杂点,但今天关心的是如何遍历文件返回用户信息的问题. 之前用C#已经写过类似的代码,大致如下: /// <summary> /// 读取用户清单列表,返回用户信息. /// </summary&g…
Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有return语句的话,那么直接从finally中返回了,这也是不建议在finally中return的原因.下面来看这几种情况. 情况一(try中有return,finally中没有return): public class TryTest{ public static void main(String…
Java中的经典算法之选择排序(SelectionSort) 神话丿小王子的博客主页 a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕.也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录.基于此思想的算法主要有简单选择排序.树型选择排序和堆排序.(这里只介绍常用的简单选择排序) b) 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据}:第1趟排序,在待排序数据arr[1]~a…
1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间. 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作.但同时,它也加重了JVM的工作.因为,GC为了能够正确释放对象,GC必须监控每一个对象的运行状态,包括对象的申请.引用.被引用.赋值等,GC都需要进行监控. 2.什么叫java的内存泄露 在…
Java中,执行try-catch-finally语句需要注意: 第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回) 第二:finally里面不建议放return语句,根据需要,return语句可以放在try和catch里面和函数的最后.可行的做法有四种: 1)return语句只在方法最后出现一次. 2)return语句仅在try和catch里面都出现. 3)retur…
跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断. break 中断 continue 继续 return 返回 break的使用场景: 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 break的作用: 跳出单层循环 跳出多层…
如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在…
代码1测试 public static void main(String[] args) { aa(); } static int aa() { try { int a=4/0; } catch (Exception e) { e.printStackTrace(); return 1; }finally{ System.out.println("finally"); // return 2; return写在这里不规范,不是错误,但有感叹号 } return 2; } 输出结果如下:…
原文:http://kingj.iteye.com/blog/1436761 在Java中当try.finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家众说纷纭,有的说会执行,有的说不会执行,到底哪种说法正确,现在通过下面的例子加以说明: 第一种情况:try中包含return语句,finally中不包含 public class TestTry { static String s=""; public static void main(…
在这里看到了try >但有一点是可以肯定的,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有return语句的话,那么直接从finally中返回了,这也是不建议在finally中return的原因.下面来看这几种情况. 情况一(try中有return,finally中没有return): public class TryTest { public static void main(String[] args) { System.out.println(t…
Java中23种设计模式目录1. 设计模式 31.1 创建型模式 41.1.1 工厂方法 41.1.2 抽象工厂 61.1.3 建造者模式 101.1.4 单态模式 131.1.5 原型模式 151.2 结构型模式 171.2.1 适配器模式 171.2.2 桥接模式 191.2.3 组合模式 231.2.4 装饰模式 261.2.5 外观模式 291.2.6 享元模式 321.2.7 代理模式 341.3 行为型模式 371.3.1 责任链模式 371.3.2 命令模式 401.3.3 解释器…
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句).   在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中.而很少或没有介绍return语句在vodi返回值方法中的运用.   return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象.   下面通过一个简单…
java中,return和return null有什么区别吗? 最大的区别:return;方法的返回值必须是void!return null;方法的返回值必须不是 原始数据类型(封装类除过)和void! return 就是跳出方法...return null也是跳出方法并返回null.. 也就是说return null必须用在返回值不是void的方法里面..return可以用在任何方法里面 不要认为null就是没有值..null就是值..真正的没有值是..比如你String s;这个时候s是没有…