日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述

發布時間:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

1、面向對象的特征有哪些方面?

2、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?

3、float f=3.4;是否正確?

4、short s1 = 1; s1 = s1 + 1;有錯嗎? short s1 = 1; s1 += 1;有錯嗎?

5、int 和Integer 有什么區別?

6、Java 有沒有goto?

7、在Java 中,如何跳出當前的多重嵌套循環?

8、&和&&的區別?

9、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

10、當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞?


第一章、對象導論

1.1 抽象過程

面向對象編程:(OOP,Object Oriented Programming 面向對象的程序設計):

成功的面向對象的五個特性:

(1)萬物皆為對象;

(2)程序是對象的集合,他們通過發送消息來告知彼此所要做的;

(3)每個對象都可以擁有其他對象(has-a);

(4)每個對象(Instance)都有類型(Class);

(5)某一類型的所有對象都可以接收同樣消息(is-a)。

1.2 對象類型

類:具有相同的特性(數據元素)和行為(功能),實際上就是一個數據類型。包含:

基本數據類型:

抽象數據類型:比如容器(即JAVA類庫)

接口(interface):類似于定義了類的某些功能。

備注:Unified Modeling Language (UML)又稱統一建模語言或標準建模語言。

1.3 封裝

被隱藏的具體實現:

(1)不讓客戶端程序員訪問他們不應該訪問的部分;

(2)修改類內部而不用擔心影響到客戶端程序員;

1.4 復用

復用的具體實現方法(兩種):

組合(has-a)/聚合:建議優先采用此方式。

繼承(is-a):

備注:is-like-a : 派生類新增了methods或fileds。

1.5 多態

多態(也稱作動態綁定后期綁定運行時綁定)。

前期(編譯時)綁定&后期(運行時)綁定:

  • 方法重載(overload)實現的是編譯時的多態性(也稱為前綁定);
  • 方法重寫(override)實現的是運行時的多態性(也稱為后綁定)。

一個非面向對象語言在調用時會引起所謂的前期綁定,然而在OOP中,程序直到運行時才能確定代碼的地址,因此面向對象語言使用了后期綁定的概念。在java中,動態綁定是默認的。

1.6 單繼承

Java 特性(不同于C++):

單根繼承結構使垃圾回收器的實現變得容易得(?)。

Object是所有類的基類。

1.7 容器

List/Map/Set/Queue/Tree/Stack etc..

1.8 對象的創建和生命期

對象的創建:Java完全采用了動態內存分配方式(基本類型只是一種特例)。每當想要創建對象時,就要使用new關鍵字來構建對象的動態實例。

對象的生命期:jvm gc自動實現內存(垃圾)回收。

1.9 異常(Exception)&并發& C/S編程

Java內置Exception和并發機制,并擅長于 C/S編程領域。

第二章、一切皆對象

2.1 對象引用

String s = a; //借助對象引用,來操控對象

2.2 創建對象

String s = new String("abc");

2.3 基本數據類型(內存一致性):

Java的基本類型所占存儲空間大小不隨機器硬件架構的變化而變化。這種所占存儲空間大小的不變性是Java程序比用其他大多數語言編寫的程序更具可移植性的原因之一。

2.4 作用域(scope):

Java對象不具備和基本類型一樣的生命周期。當用new創建一個Java對象時,它可以存活于作用域之外。如:

{

String s = new String("a string");

} // End of scope

引用 s 在作用域終點就消失了。然而,s 指向的 String 對象仍繼續占據內存空間

2.5 import 關鍵字

import關鍵字指示編譯器導入一個包,也就是一個類庫(在其他語言中,一個庫不僅包含類,還可能包括方法和數據,但是Java中所有的代碼都必須寫在類里)。

備注:特定類 java.lang 會被自動導入到每一個Java文件中。

2.6 static 關鍵字

2.6.1 通過 static 關鍵字可以滿足以下兩方面情形的需要:

  • 只想為某一特定域分配單一存儲空間,而不去考慮空間要創建多少對象,甚至根本就不創建任何對象。
  • 希望某個方法不與包含它的類的任何對象關聯在一起。也就是說,即使沒有創建對象,也能夠調用這個方法

2.6.2 static 字段(類字段,單一存儲空間)

如創建兩個對象,st1.i 和 st2.i 指向同一存儲空間,共享同一個 i (static 字段),因此它們具有相同的值47。

2.6.3 static 方法(類方法)

a. static方法重要用法:在不創建任何對象的前提下就可以調用它。這一點對定義main()方法很重要(所以main()方法是一個 satic 方法),這個方法是運行一個應用時的入口點。

b. 關于static方法內部是否能調用非靜態方法:因為沒有this,就沒有對象,所以不能直接調用非靜態方法;但可以傳遞一個對象引用到靜態方法里,然后通過這個引用(和this效果相同)來調用非靜態方法和訪問非靜態數據成員。

c. 有些人認為static方法不是“面向對象”的,因為它們的確具有全局函數的語義;使用static方法時,由于不存在this,所以不是通過“向對象發送消息”的方式來完成的。

2.7 javadoc標簽

文檔注釋的一些標簽:

@see 引用其他類

@link package.class#member laber 與@see極其類似,只是它用于行內

@inheritDoc 繼承的注釋

@version 版本信息

@author 作者

@since 最早使用版本

@param 參數說明

@return 返回值

@throws 拋出異常

@deprecated 過時的 被@Deprecated取代

第三章、操作符

3.1 賦值

兩種賦值方式:

引用賦值:a = b; //a變化,b也會變化

方法參數賦值:func(a);//func()中的para a變化,方法調用處的a也會變化。

3.2 算術&關系&邏輯&按位運算符

邏輯運算的短路現象

3.3 類型轉換

窄化轉換:eg:double ->int 信息丟失(截尾),不安全的方式;

擴展轉換:eg:int->double 安全的方式;

備注:舍入:Math.round()來實現四舍五入。

3.4 sizeof()

Java沒有sizeof()操作符:Java不需要sizeof()操作符來滿足這方面的需要,因為所有數據類型在所有機器中的大小是相同的。我們不必考慮移植問題——它已經被設計在語言中了。

第四章、控制和執行流程

4.1 true 和 false

注意Java不允許我們將一個數字作為布爾值使用,這與C和C++ 不同(C/C++中,“真”是非零,而“假”是零)。如果將數字作為布爾表達式,Java編譯器會直接報錯。

4.2 迭代:

while(): 先檢查條件,再判斷是否執行;

do-while: 先執行,再判斷條件(同上區別:一定會執行一次);

for :

for-each:

4.3 返回

return/break/continue

關于執行跳轉:

  • java中沒有用到goto語法。
  • Java中跳出循環的實現方法:break TAG_A;或者continue TAG_B;

下章鏈接:

《JAVA編程思想》5分鐘速成:第5章(初始化和清理)

總結

以上是生活随笔為你收集整理的java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。