摘要:緣起這是語(yǔ)言程序設(shè)計(jì)的,計(jì)劃之前全部整理完。產(chǎn)生隨機(jī)數(shù)的方法。復(fù)習(xí)題雙分支語(yǔ)句復(fù)習(xí)題嵌套的語(yǔ)句和多分支語(yǔ)句復(fù)習(xí)題常見錯(cuò)誤和陷阱常見錯(cuò)誤兩個(gè)浮點(diǎn)數(shù)值的相等測(cè)試復(fù)習(xí)題產(chǎn)生隨機(jī)數(shù)產(chǎn)生一個(gè)到之間的隨機(jī)值,不包括。
緣起
這是《Java語(yǔ)言程序設(shè)計(jì)(10th)》的Part1,計(jì)劃2017-12-31之前全部整理完。
2017-12-23開始想看這本書的,并同時(shí)開始實(shí)踐起Java來(lái)的。
Part的內(nèi)容包含(chap1-chap8)【L(12/679】
內(nèi)容 chap1 計(jì)算機(jī)、程序和Java概述 1(24/679)2017-12-23自己用JDK+Eclipse搭建了一個(gè)開發(fā)環(huán)境。
chap3 選擇 64(87/679)2017-12-25開始學(xué)習(xí)的。
3.2 boolean數(shù)據(jù)類型
六種關(guān)系操作符(relational operator)或者叫(comparison operator)
true和false都是直接量,就像10這樣的數(shù)字。它們被當(dāng)作保留字一樣,不能用做程序中的標(biāo)識(shí)符。但他們應(yīng)該不是關(guān)鍵字或保留字。
[AdditionQuiz.java]()
import java.util.Scanner以及Scanner input = new Scanner(System.in) 類似C里的scan()。
創(chuàng)建Scanner對(duì)象何時(shí)釋放的問題,代碼里沒寫,但Eclipse里提示了。
產(chǎn)生隨機(jī)數(shù)的方法System.currentTimeMillis()。
復(fù)習(xí)題 66(89/679)
3.3 至少在java里int類型和boolean類型無(wú)法強(qiáng)制轉(zhuǎn)換 int i = 1; boolean b =(boolean)i 這種IDE會(huì)報(bào)錯(cuò)。
3.3 if語(yǔ)句
[SimpleIfDemo.java]
在Eclipse里輸入sysout就是相當(dāng)于System.out.println();
同樣Alt+/組合鍵
input.nextInt()是取得用戶輸入的一個(gè)int值,如果不是int值報(bào)錯(cuò)。
復(fù)習(xí)題 68(91/679)
3.4 雙分支if-else語(yǔ)句
復(fù)習(xí)題 69(92/679)
3.5 嵌套的if語(yǔ)句和多分支if-else語(yǔ)句
復(fù)習(xí)題 70(93/679)
3.8-3.10
3.6 常見錯(cuò)誤和陷阱 71(94/679)
常見錯(cuò)誤5:兩個(gè)浮點(diǎn)數(shù)值的相等測(cè)試
復(fù)習(xí)題 73(96/679)
3.11 - 3.14
3.7 產(chǎn)生隨機(jī)數(shù)
Math.random()產(chǎn)生一個(gè)0.0到1.0之間的隨機(jī)double值,不包括1.0。
[SubtractionQuiz.java]() 75(98/679)
復(fù)習(xí)題 75(98/679)
3.8
3.9
3.10 邏輯操作符
3.11
3.12
3.13 switch語(yǔ)句
3-9[ChineseZodiac.java]()
switch相對(duì)用得較少一些,都不太記得語(yǔ)法結(jié)構(gòu)了
復(fù)習(xí)題 88(111/679)
3.29 - 3.32
3.14 條件表達(dá)式
復(fù)習(xí)題 89(112/679)
3.33 - 3.36
3.15 操作符的優(yōu)先級(jí)
復(fù)習(xí)題 90(113/679)
3.37 - 3.40
3.16 調(diào)試
JDK包含了一個(gè)命令行調(diào)試器jdb。
本章小結(jié) 91(114/679)
編程練習(xí)題 92(115/679)
chap4 數(shù)學(xué)函數(shù)、字符和字符串 100(123/679)
4.2 常用數(shù)學(xué)函數(shù)
Math.PI和Math.E
三角函數(shù)方法
指數(shù)函數(shù)方法
[ComputeAngles]()
復(fù)習(xí)題 104(127/679)
4.1 - 4.7
4.3 字符數(shù)據(jù)類型和操作
復(fù)習(xí)題 108(131/679)
4.8 - 4.15
4.4 String類型
String實(shí)際上與System類和Scanner類一樣,都是Java庫(kù)中一個(gè)預(yù)定義的類。String類型不是基本類型,而是引用類型(reference type)。
length()
charAt(index)從字符串中獲取字符
注意越界,每一個(gè)字符的下標(biāo)值是0。
concat()連接字符串
toLowerCase()和toUpperCase()字符串的轉(zhuǎn)換
Scanner對(duì)象上的next()方法,從控制臺(tái)讀取字符串
Scanner對(duì)象上的nextLine()方法,從控制臺(tái)讀取字符串
字符串比較
[OrderTwoCities]()
substring()獲得子字符串
indexOf()和lastIndexOf()獲取字符串中的字符或子串
Integer.parseInt()和Double.parseDouble()字符串和數(shù)字間的轉(zhuǎn)換
復(fù)習(xí)題 116(139/679)
4.16 - 4.20
4.5 示例學(xué)習(xí)
[GuessBirthday]()
[HexDigit2Dec]()
[LotteryUsingStrings]()
4.7 格式化控制臺(tái)輸出
System.out.printf()
[FormatDemo]()
chap5 循環(huán) 133(156/679) chap6 方法 171(194/679)
6.2 定義方法
本章的所有方法都使用靜態(tài)修飾符static,但原因在chap9描述了,那是不是每個(gè)方法都要有static呢?
定義(指被定義的條目是什么)與聲明(指為被聲明的條目分配內(nèi)存來(lái)存儲(chǔ)數(shù)據(jù))的區(qū)別。
6.3 調(diào)用方法
[601TestMax.java]()
main()方法在于它由Java虛擬機(jī)調(diào)用的。
每當(dāng)調(diào)用一個(gè)方法時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)活動(dòng)記錄(也稱為活動(dòng)框架),用于保存方法中的參數(shù)和變量?;顒?dòng)記錄置于一個(gè)內(nèi)存區(qū)域中,稱為調(diào)用堆棧(call stack)。175(198/679)
6.4 void方法示例
[602TestVoidMethod.java]()
[603TestReturnGradeMethod.java]()
復(fù)習(xí)題 177(200/679)
6.1 - 6.10
6.5 通過傳值進(jìn)行參數(shù)傳遞
[604Increment.java]()
[605TestPassByValue.java]()
復(fù)習(xí)題 180(203/679)
6.11 - 6.14
6.6 模塊化代碼
[606GreatestCommonDivisorMethod.java]()
[607PrimeNumberMethod.java]()
6.7 示例代碼
[608Hex2Dec.java]()
6.8 重載方法
[609TestMethodOverloading.java]()
復(fù)習(xí)題 187(210/679)
6.15 - 6.17
6.9 變量的作用域
局部變量
6.10 示例學(xué)習(xí)
[610RandomCharacter.java]()
[611TestRandomCharacter.java]()
6.11 方法抽象和逐步求精
方法抽象(method abstraction)是通過將方法的使用和它的實(shí)現(xiàn)分離來(lái)實(shí)現(xiàn)的。
“分治”(divid-and-conquer)策略,也稱為逐步求精(stepwise refinement)。
自頂向下的設(shè)計(jì)、實(shí)現(xiàn)
待完善方法(stub)是方法的一個(gè)簡(jiǎn)單但不完整的版本。
[612PrintCalendar.java]()
逐步求精的優(yōu)勢(shì)
更簡(jiǎn)單的程序
重用方法
易于開發(fā)、調(diào)試和測(cè)試
更方便團(tuán)隊(duì)合作
編程練習(xí)題 197(220/679)
chap7 一維數(shù)組 207(230/679) chap8 多維數(shù)組 242(265/679)8.2 二維數(shù)組的基礎(chǔ)知識(shí)
8.3 處理二維數(shù)組
8.4
[801PassTwoDimensionalArray]()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71156.html
摘要:偶然間在朋友圈發(fā)現(xiàn)有人在看一本兩周自制腳本語(yǔ)言,覺得寫個(gè)腳本語(yǔ)言挺不錯(cuò)的,方便自己對(duì)語(yǔ)言本身進(jìn)一步了解。,不過同樣,該教程采用的也不是。在這里寫出代碼方便自己查找,同時(shí)也希望一些對(duì)解釋器感興趣的朋友一同學(xué)習(xí)。 偶然間在朋友圈發(fā)現(xiàn)有人在看一本《兩周自制腳本語(yǔ)言》,覺得寫個(gè)腳本語(yǔ)言挺不錯(cuò)的,方便自己對(duì)語(yǔ)言本身進(jìn)一步了解。于是乎,買了下來(lái)看了看,寫的挺通俗易懂,但是不便的是,采用的語(yǔ)言是Ja...
摘要:在,我們使用作為事件流架構(gòu)的一部分。在源斷和端,它使非常容易建立以及丟棄的。因此,第一步就是創(chuàng)建一個(gè)預(yù)安裝了的鏡像。一個(gè)基礎(chǔ)的拓?fù)湟粋€(gè)拓?fù)溆山M成,它有個(gè)核心概念和。 注:該文的原文為 Using Docker with Apache Flume - Part 1,由 Alex Wilson 編寫。 在 Unruly ,我們使用 Apache Flume 作為事件流架構(gòu)的一部分...
摘要:在,我們使用作為事件流架構(gòu)的一部分。在源斷和端,它使非常容易建立以及丟棄的。因此,第一步就是創(chuàng)建一個(gè)預(yù)安裝了的鏡像。一個(gè)基礎(chǔ)的拓?fù)湟粋€(gè)拓?fù)溆山M成,它有個(gè)核心概念和。 注:該文的原文為 Using Docker with Apache Flume - Part 1,由 Alex Wilson 編寫。 在 Unruly ,我們使用 Apache Flume 作為事件流架構(gòu)的一部分...
摘要:所以這情況下,當(dāng)線程操作變量的時(shí)候,變量并不對(duì)線程可見。總結(jié),緩存引發(fā)的可見性問題,切換線程帶來(lái)的原子性問題,編譯帶來(lái)的有序性問題深刻理解這些前因后果,可以診斷大部分并發(fā)的問題 背景介紹 如何解決并發(fā)問題,首先要理解并發(fā)問題的實(shí)際源頭怎么發(fā)生的。 現(xiàn)代計(jì)算機(jī)的不同硬件的運(yùn)行速度是差異很大的,這個(gè)大家應(yīng)該都是知道的。 計(jì)算機(jī)數(shù)據(jù)傳輸運(yùn)行速度上的快慢比較: CPU > 緩存 > I/O ...
摘要:汽車本身就是復(fù)雜產(chǎn)品對(duì)象,其制造過程可以形象的表示建造者模式。另一輛法拉利,。法拉利具體建造者代碼如下構(gòu)造法拉利的第一部分。咻咻法拉利已造好三建造者模式的優(yōu)缺點(diǎn)優(yōu)點(diǎn)降低代碼耦合度。 在未上大學(xué)之前,一直有個(gè)夢(mèng)想I have a dream!,就是能成為一位汽車工程師,一直幻想著開著自己設(shè)計(jì)的汽車飛奔在公路上,迷倒了萬(wàn)千少女??瓤葉~雖然現(xiàn)在沒實(shí)現(xiàn)我的dream,但夢(mèng)想還是得有的。 說到...
閱讀 1395·2021-11-24 09:39
閱讀 1380·2021-11-04 16:12
閱讀 2722·2021-09-24 09:47
閱讀 3368·2021-09-01 10:50
閱讀 1508·2019-08-30 15:55
閱讀 1452·2019-08-30 15:43
閱讀 675·2019-08-30 11:08
閱讀 3609·2019-08-23 18:33