国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JAVA程序員必讀:基礎篇(2.d)語言基礎

2019-11-18 11:54:06
字體:
來源:轉載
供稿:網友

  語言基礎
  3.4.5 異常處理語句
  java編程語言提供一個異常機制用來幫助程序報告和處理錯誤。當一個錯誤發生的時候,程序就產生一個異常。即正常的程序路程被中斷并且系統緩建想找到一個異常處理:一個能處理非凡類型錯誤的代碼塊。這個異常福利可以視圖恢復錯誤或者假如它決定了錯誤是不可修復的,它提供一個較好退出程序的方法。
  有三條語句可以處理異常:
  try語句,它可以在異常產生的地方識別語句塊。
  catch語句,它必須和try語句一起用,它可是識別可以處理特定異常錯誤的語句塊。這個語句是在假如有一個特定的異常發生在try塊中就被執行。
 ?。?)finally語句,它必須跟try語句一起用,它可以識別語句塊,這些語句塊是在不管在try塊中是否有錯誤發生被執行的。
  下面是這三個語句的語法格式:
  try {
  語句(參數)
  } catch (異常錯誤類型 名字) {
  語句(參數)
  } finally {
  語句(參數)
  }
  上面簡述了由JAVA編程語言提供的用來報告和處理錯誤的語句。但是,另外的因素和原因,比如運行和檢查異常之間的差異以及異常類的分級結構(代表異常的不同種類)在使用異常機制的時候起著重要的作用。
  3.4.6 分支語句
  JAVA編程語言支持下面的三種分支結構:
  break語句
  continue語句
  return語句
  下面逐個介紹:
 ?。?)break語句
  break語句有兩種形式:未標志的和標志的。你在前面就已經看過了未標志的break語句。一個未標志的break語句終止swtich語句,控制流程馬上轉到switch語句下方的語句。下面的例程BreakDemo,它包含了一個for循環查找數組中特定的數值:
  public class BreakDemo {
  public static void main(String[] args) {
  int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076,
  2000, 8, 622, 127 };
  int searchfor = 12;
  int i = 0;
  boolean foundIt = false;
  for ( ; i < arrayOfInts.length; i++) {
  if (arrayOfInts[i] == searchfor) {
  foundIt = true;
  break;
  }
  }
  if (foundIt) {
  System.out.  } else {
  System.out.println(searchfor + "not in the array");
  }
  }
  }
  當數值被找到的時候,這個break語句終止了for循環。控制流程就轉到for語句的下面的語句繼續執行。這個程序的輸出為: Found 12 at index 4
  3.4.6 分支語句
  未標志形式的break語句被用來終止內部的switch、for、while或者do-while。而標志形式的break語句終止一個外部的語句,它是通過在break語句中使用一個標志來實現的。下面的例程BreakWithLabelDemo跟前面的例子有點相似,只不過它是在一個兩維數組中搜索一個數值。利用兩個嵌套的for循環遍歷了整個數組。當數值被找到了,標志形式的break語句就終止標志的search語句,這個search語句是在for循環外部的:
  public class BreakWithLabelDemo {
  public static void main(String[] args) {
  int[][] arrayOfInts = { { 32, 87, 3, 589 },
  { 12, 1076, 2000, 8 },
  { 622, 127, 77, 955 }
  };
  int searchfor = 12;
  int i = 0;
  int j = 0;
  boolean foundIt = false;
  search:
  for ( ; i < arrayOfInts.length; i++) {
  for (j = 0; j < arrayOfInts[i].length; j++) {
  if (arrayOfInts[i][j] == searchfor) {
  foundIt = true;
  break search;
  }
  }
  }
  if (foundIt) {
  System.out.println("Found " + searchfor + " at " + i + ", " + j);
  } else {
  System.out.println(searchfor + "not in the array");
  }
  }
  }
  這個程序的輸出為:
  Found 12 at 1, 0
  這個語法看起來可能有點費解。break語句終止了標志語句,它不能將控制流程轉到這個標志處??刂屏鞒萄杆賹酥荆ńK止的)后面的語句。
 ?。?)continue語句
  你可以使用continue語句來跳過當前的for、while或者do-while循環。未標志形式跳到內部循環體的末尾處并且計算控制循環的boolean表達式,跳過循環的其它部分。下面的例程ContinueDemo遍歷字符串中的所有字母。假如當前字母不是一個p,contiue語句就忽略循環的其它部分并且處理下一個字符。假如它是一個p字母,程序就對
計數器增1,再將p轉換維大寫字母:
  public class ContinueDemo {
  public static void main(String[] args) {
  StringBuffer searchMe = new StringBuffer(
  "peter piper picked a peck of pickled peppers");
  int max = searchMe.length();
  int numPs = 0;
  for (int i = 0; i < max; i++)
  //interested only in p's
  if (searchMe.charAt(i) != 'p')
  continue;
  //process p's
  numPs++;
  searchMe.setCharAt(i, 'P');
  }
  System.out.println("Found " + numPs + " p's in the string.");
  System.out.println(searchMe);
  }
  }
  這個程序的輸出為:
  Found 9 p's in the string.
  Peter PiPer Picked a Peck of Pickled PePPers
  標志形式的continue語句將忽略外部給定標志的循環。下面的例程ContinueWithLabelDemo,它使用了一個嵌套的循環來搜索一個子字符串。程序如下:
  public class ContinueWithLabelDemo {
  public static void main(String[] args) {
  String searchMe = "Look for a substring in me";
  String substring = "sub";
  boolean foundIt = false;
  int max = searchMe.length() - substring.length();
  test:
  for (int i = 0; i <= max; i++) {
  int n = substring.length();
  int j = i;
  int k = 0;
  while (n-- != 0) {
  if (searchMe.charAt(j++) != substring.charAt(k++)) {
  continue test;
  }
  }
  foundIt = true;
  break test;
  }
  System.out.println(foundIt ? "Found it" : "Didn't find it");
  }
  }
  這個程序的輸出為:Found it
  (3)return 語句
  最后講講分支結構的最后一個return語句。你可以使用return 來退出當前的方法。控制流程返回到調用方法的下一個語句。這個return語句有兩種形式:一種是返回一個數值,另外一種沒有返回數值。為了返回一個數值,簡單地,可以將數值放置在return要害字后面即可。例如:
  return ++count;
  由return返回的數值類型必須匹配方法聲明返回的數值類型。當方法被聲明void,return的使用就不返回一個數值:
  return

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 英德市| 灌南县| 邹城市| 桐柏县| 兴业县| 甘南县| 睢宁县| 蓝田县| 嘉祥县| 靖边县| 浮山县| 南宁市| 比如县| 巴马| 唐海县| 兴安盟| 黄大仙区| 黄龙县| 蒙自县| 兴山县| 南城县| 长治市| 巴中市| 嵊泗县| 临高县| 内江市| 河北省| 会同县| 巩义市| 麻江县| 怀柔区| 涡阳县| 云浮市| 宁波市| 固镇县| 裕民县| 青浦区| 仙桃市| 平塘县| 元朗区| 茌平县|