菜鸟教程中Java语法(Java教程+Java面向对象)
生活随笔
收集整理的這篇文章主要介紹了
菜鸟教程中Java语法(Java教程+Java面向对象)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java基本數據類型
Java變量類型
Java運算符
Java循環語句
Java條件語句
Java switch case
Java Number & Math類
Java Character類
String類:
菜鳥教程中提到不要使用stringbuffer,直接使用stringbuilder,
[1]中提到如何驗證stringbuilder是線程不安全的
?
下面涉及:
Java數組
Java正則
Java方法
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test {public static void main(String args[]) {double[] myList = {1.9, 2.9, 3.4, 3.5};// 打印所有數組元素for (int i = 0; i < myList.length; i++) {System.out.println(myList[i] + " ");}// 計算所有元素的總和double total = 0;for (int i = 0; i < myList.length; i++) {total += myList[i];}System.out.println("Total is " + total);// 查找最大元素double max = myList[0];for (int i = 1; i < myList.length; i++) {if (myList[i] > max) max = myList[i];}System.out.println("Max is " + max);// 按指定模式在字符串查找String line = "This order was placed for QT3000! OK?";String pattern = "(\\D*)(\\d+)(.*)";// 創建 Pattern 對象Pattern r = Pattern.compile(pattern);// 現在創建 matcher 對象Matcher m = r.matcher(line);System.out.println("---------------下面是輸出結果----------------------------------\n");System.out.println(m);System.out.println("---------------下面是輸出結果----------------------------------\n");if (m.find( )) {System.out.println("Found value: " + m.group(0) );System.out.println("Found value: " + m.group(1) );System.out.println("Found value: " + m.group(2) );System.out.println("Found value: " + m.group(3) );} else {System.out.println("NO MATCH");}System.out.println("---------------Java 方法----------------------------------\n");int num1 = 1;int num2 = 2;System.out.println("交換前 num1 的值為:" +num1 + " ,num2 的值為:" + num2);// 調用swap方法swap(num1, num2);System.out.println("交換后 num1 的值為:" +num1 + " ,num2 的值為:" + num2);}/** 交換兩個變量的方法 */public static void swap(int n1, int n2) {System.out.println("\t進入 swap 方法");System.out.println("\t\t交換前 n1 的值為:" + n1+ ",n2 的值:" + n2);// 交換 n1 與 n2的值int temp = n1;n1 = n2;n2 = temp;System.out.println("\t\t交換后 n1 的值為 " + n1+ ",n2 的值:" + n2);}}?
OutputStream以及InputStream的使用:
import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; public class Test {public static void main(String args[]) throws IOException {// 下面是stream // // char c; // // 使用 System.in 創建 BufferedReader // BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // System.out.println("輸入字符, 按下 'q' 鍵退出。"); // // 讀取字符 // do { // c = (char) br.read(); // System.out.println(c); // } while (c != 'q');System.out.println("-----------------------------FileOutputStream(先寫入文件)--------------------------------------\n");File f = new File("a.txt");FileOutputStream fop = new FileOutputStream(f);// 構建FileOutputStream對象,文件不存在會自動新建OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");// 構建OutputStreamWriter對象,參數可以指定編碼,默認為操作系統默認編碼,windows上是gbkwriter.append("中文輸入");// 寫入到緩沖區writer.append("\r\n");// 換行writer.append("English");// 刷新緩存沖,寫入到文件,如果下面已經沒有寫入的內容了,直接close也會寫入writer.close();// 關閉寫入流,同時會把緩沖區內容寫入文件,所以上面的注釋掉fop.close();// 關閉輸出流,釋放系統資源System.out.println("-----------------------------FileInputStream(從文件讀取)--------------------------------------\n");FileInputStream fip = new FileInputStream(f);// 構建FileInputStream對象InputStreamReader reader = new InputStreamReader(fip, "UTF-8");// 構建InputStreamReader對象,編碼與寫入相同StringBuffer sb = new StringBuffer();while (reader.ready()) {sb.append((char) reader.read());// 轉成char加到StringBuffer對象中}System.out.println(sb.toString());reader.close();// 關閉讀取流fip.close();// 關閉輸入流,釋放系統資源}}?
?
?
?
下面是Scanner-nextLine/nextInt/nextDouble的用法
import java.util.Scanner; import java.io.*; public class Test {public static void main(String args[]) throws IOException {// System.out.println("-------------------下面是nextline的使用-----------------"); // // Scanner scan = new Scanner(System.in); // // 從鍵盤接收數據 // // // nextLine方式接收字符串 // System.out.println("nextLine方式接收:"); // // 判斷是否還有輸入 // if (scan.hasNextLine()) { // String str2 = scan.nextLine(); // System.out.println("輸入的數據為:" + str2); // } // scan.close();// System.out.println("-------------------下面是nextInt的使用-----------------"); // Scanner scan = new Scanner(System.in); // // 從鍵盤接收數據 // int i = 0; // float f = 0.0f; // System.out.print("輸入整數:"); // if (scan.hasNextInt()) { // // 判斷輸入的是否是整數 // i = scan.nextInt(); // // 接收整數 // System.out.println("整數數據:" + i); // } else { // // 輸入錯誤的信息 // System.out.println("輸入的不是整數!"); // } // System.out.print("輸入小數:"); // if (scan.hasNextFloat()) { // // 判斷輸入的是否是小數 // f = scan.nextFloat(); // // 接收小數 // System.out.println("小數數據:" + f); // } else { // // 輸入錯誤的信息 // System.out.println("輸入的不是小數!"); // } // scan.close();System.out.println("-------------------下面是nextDouble的使用-----------------");System.out.println("-------------------控制臺會一直讀取數據直到你輸入非數字的字符串為止-----------------");Scanner scan = new Scanner(System.in);double sum = 0;int m = 0;while (scan.hasNextDouble()) {double x = scan.nextDouble();m = m + 1;sum = sum + x;}System.out.println(m + "個數的和為" + sum);System.out.println(m + "個數的平均值是" + (sum / m));scan.close();}}?
#----------------------------------------------------------下面是Java面向對象-------------------------------------------------------------------------
super 與 this 關鍵字
注意區分多繼承 和多重繼承
下面這個是多重繼承(super 與 this 關鍵字):
class Animal {void eat() {System.out.println("animal : eat");} }class Dog extends Animal {void eat() {System.out.println("dog : eat");}void eatTest() {this.eat(); // this 調用自己的方法super.eat(); // super 調用父類方法} }public class Test {public static void main(String[] args) {Animal a = new Animal();a.eat();Dog d = new Dog();d.eatTest();} }?
?
重寫與重載之間的區別
| 參數列表 | 必須修改 | 一定不能修改 |
| 返回類型 | 可以修改 | 一定不能修改 |
| 異常 | 可以修改 | 可以減少或刪除,一定不能拋出新的或者更廣的異常 |
| 訪問 | 可以修改 | 一定不能做更嚴格的限制(可以降低限制) |
?
接口與類相似點:
- 一個接口可以有多個方法。
- 接口文件保存在 .java 結尾的文件中,文件名使用接口名。
- 接口的字節碼文件保存在 .class 結尾的文件中。
- 接口相應的字節碼文件必須在與包名稱相匹配的目錄結構中。
接口與類的區別:
- 接口不能用于實例化對象。
- 接口沒有構造方法。
- 接口中所有的方法必須是抽象方法。
- 接口不能包含成員變量,除了 static 和 final 變量。
- 接口不是被類繼承了,而是要被類實現。
- 接口支持多繼承。
枚舉:
public class Test {enum Color{RED, GREEN, BLUE;}// 執行輸出結果public static void main(String[] args){Color c1 = Color.RED;System.out.println(c1);} }上述教程來自[2]
?
Reference:
[1]怎么驗證StringBuilder是非線程安全的
[2]Java 教程
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的菜鸟教程中Java语法(Java教程+Java面向对象)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iamond operator is n
- 下一篇: java美元兑换,(Java实现) 美元