20145231第二周Java學習筆記

20145231 《Java程序設計》第2周學習總結

教材學習內容總結

本周的學習采用的依然是先看課本,再看視頻,然后實踐敲代碼,最后根據學習筆記總結完成博客。
第三章:基礎語法

知識點比較多比較零碎,整理的都是實際操作中可能會出錯的或是之前不太理解的。

1、1字節(byte)=8位(bit),1024字節=1kb,64位的操作系統代表字節是固定由八位二進制構成,字長為64位,每個字由八個字節構成;(思考:64位操作系統與32位操作系統在于構成字的字節數量不同,具體表現就是存儲空間不同)

2、負數的二進制表示:取反加一,最高位一定為一;

3、變量:將不確定的數據進行存儲;(在內存中開辟空間:名稱:變量名,空間類型:數據類型,數據)

4、輸入整數默認為int型,輸入小數默認為double型;

5、數據類型:基本數據類型和引用數據類型,其中前者又包括:數值型(byte、short、int、long、float、double)、字符型(char)、布爾型(boolean);

6、硬盤與CPU中緩存(緩沖存儲空間)越大,運算量越大,效率較高;

7、同一區間內(大括號)不能重復用同一變量名定義,應當在數據不確定,又需要對數據進行存儲時,定義變量;

8、運算過程中,不同類型之間不可進行運算,必要時可進行強制轉換,運算中出現多種數據類型時,以大為主,小向大提升,強制轉換時,可以去掉自動轉換時的多余部分,也可能丟失精度;

9、字符串數據和任何數據使用+都是表示相連接,最終都會變成字符串;

10、轉義字符:通過\來轉變后面字母或符號的含義:\n換行,\b退格,\r按下回車鍵,\t制表符,相當于tab鍵;

11、邏輯運算符:用于連接布爾類型表達式;

12、&&與&的區別:&&效率相對更高,當其左邊為假時即停止運算,同理||與|也一樣,其左邊為真即停止運算;

13、位運算:左移:移幾位就乘以2的幾次冪,右移:移幾位就除以2的幾次冪(帶符號右移,最高位補原來數據最高位值,若是>>>符號,最高位直接補0);

14、&、|、^也可以進行位運算(先轉換為二進制,按位運算后,再將二進制結果轉換為十進制);

15、一個數異或同一個數兩次結果還是原來的數;

16、利用右移可以進行進制轉換;

17、三元運算符:優點:可以簡化代碼;弊端:必須要給出結果(eg:用if語句可不顯示結果);

18、對比if語句和switch語句:值不多且滿足byte、int、short、char類型時可用switch語句適當提高效率,其他情況一般用if語句;

19、編寫代碼注重格式和規范化,在編寫代碼先注明需求、思路、解決步驟等;

20、char類型中寫中文是可以的,一個漢字為兩個字節,在范圍內。

教材學習中的問題和解決過程

問題一:
不理熟悉布爾類型表達式的輸出結果;

解決過程:
通過看書上邏輯運算部分理解了布爾類型表達式輸出只有兩種結果即:true、false,在Java語言中System.out.println(3>4)和System.out.printf("%b%n",3>4)顯示結果都是false即邏輯判斷的結果。

問題二:看視頻時思考的一個問題:用最有效率的方式計算2*8?

解決過程:要是直接計算的話需要轉換成二進制計算,2*8相當于2乘以2的三次方,即:2<<3,這樣就簡化了運算。

問題三:如何在不用第三個變量的情況下對兩個整數變量進行互換?

解決過程:定義兩個變量m、n,n=n+m;m=n-m;n=n-m;(eg:11=8+3;m=11-3;n=11-8;)

問題四:System.out.println("5+5="+5+5);//顯示"5+5=55",結果不是我們想要的怎么解決?

解決過程:System.out.println("5+5="+(5+5))//顯示"5+5=10",通過提高運算優先級來實現。

代碼調試中的問題和解決過程

首先,先是按照第一周的方法敲代碼并運行,然后下載安裝了IDEA,學習了簡單的使用方法,使得敲代碼及編譯過程變得容易。如圖:
888584-20160313194009710-1581544416.png
888584-20160313194336132-1179456944.png

然后對書上代碼進行了編譯,首次編譯出現了問題,原因是沒有定義SDK,后經設定SDK,可以成功編譯,且在代碼中含有println時,后面內容不能出現%n,否則就重復換行。大致操作及運行結果如圖:
888584-20160313194423257-1659825826.png
888584-20160313194438897-589452668.png

重新理解了遞加遞減運算中++i和i++的區別,如圖:
888584-20160313194548475-713749415.png
888584-20160313194602319-1251184673.png
888584-20160313194838085-418599657.png
888584-20160313194852710-407842676.png

通過打印九九乘法表了解了不同循環描述語句的寫法,同時第二種寫法可讀性不是很強,但相對簡練,利用了上一條知識點:++j與j++區別,結果如圖:
888584-20160313194633304-975102787.png
888584-20160313194652288-1656776137.png

888584-20160313194705850-424063108.png

其他(感悟、思考等,可選)

且學且珍惜。

學習進度條

代碼行數(新增/累積)博客量(新增/累積)學習時間(新增/累積)重要成長
目標5000行30篇400小時
第一周200/2002/220/20
第二周300/5002/421/41
第三周500/10000/000/00
第四周300/13000/000/00

參考資料

  • Java學習筆記(第8版)
  • 《Java學習筆記(第8版)》學習指導

  • [畢向東Java基礎教程視頻]

轉載于:https://www.cnblogs.com/xzh20145231/p/5272904.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373453.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373453.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373453.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaFX 2.0和Scala,像牛奶和餅干

JavaFX 2.0和Scala都是很好的技術&#xff0c;但是一起使用時效果會更好。 JavaFX 2.0是一種功能強大的富客戶端技術&#xff0c;具有先進的圖形&#xff0c;動畫和媒體功能。 Scala是一種簡單但功能強大的語言&#xff0c;具有用于編寫特定于域的語言&#xff08;DSL&#xff…

ASP.NET WebAPi之斷點續傳下載(上)

前言 之前一直感覺斷點續傳比較神秘&#xff0c;于是想去一探究竟&#xff0c;不知從何入手&#xff0c;以為就寫寫邏輯就行&#xff0c;結果搜索一番&#xff0c;還得了解相關http協議知識&#xff0c;又花了許久功夫去看http協議中有關斷點續傳知識&#xff0c;有時候發覺東西…

貪吃蛇(C++實現,VC6.0編譯,使用了EasyX圖形庫)

程序效果&#xff1a; 代碼&#xff1a; //main.cpp 1 #include <iostream>2 #include<fstream>3 #include <graphics.h>4 #include <conio.h>5 #include<ctime>6 #include<windows.h>7 #include<mmsystem.h>8 #pragma comment(lib…

3.0 C++遠征:is a

4-4is_a 0.派生類Soldier繼承自基類Person //Person.h class Person { public:Person(string name "Jim");~Person();void play(); protected:string m_strName; };//Soldier.h class Soldier : public Person { public:Soldier(string name "James", in…

python中sorted的用法append_python sorted()排序詳解

排序&#xff0c;在編程中經常遇到的算法&#xff0c;我也在幾篇文章中介紹了一些關于排序的算法。有的高級語言內置了一些排序函數。本文講述Python在這方面的工作。供使用內置函數sorted()/list.sort()的使用簡單應用python對list有一個內置函數&#xff1a;>>> a[5…

云上的播放框架變得簡單:Openshift模塊

僅僅幾年前&#xff0c;找到一個負擔得起的Java Web應用程序托管解決方案是一項艱巨的任務&#xff0c;而尋找免費的托管解決方案是一項不可能的任務。 更不用說甚至考慮自動縮放&#xff0c;單命令部署&#xff0c;持續集成等事情&#xff0c;這都是科幻小說。 去年見證了云計…

C#中的yield return與Unity中的Coroutine(協程)(下)

Unity中的Coroutine&#xff08;協程&#xff09; 估計熟悉Unity的人看過或者用過StartCoroutine() 假設我們在場景中有一個UGUI組件&#xff0c; Image&#xff1a; 將以下代碼綁定到Image 1 using UnityEngine;2 using System.Collections;3 using System.Threading;4 using …

字節流轉化為文件流_C#文件轉換為字節流及字節流轉換為文件

本文講解了C#實現文件轉換為字節流的方法。文件轉換為字節流的步驟如下1、通過文件流打開指定文件(FileStream fs)&#xff1b;2、定義字節流(byte[] fileBytenew byte[fs.Length])&#xff1b;3、把文件讀取到字節流(fs.Read(fileByte,0,fileByte.Length))&#xff1b;4、關閉…

Spring和JSF集成:導航

我希望這是有關我在Spring和JavaServer Faces之間提供深度集成的努力的一系列博客中的第一篇。 這里提到的所有內容都是“正在進行中的工作”&#xff0c;因此&#xff0c;如果您簽出代碼&#xff0c;請注意它是一個不斷變化的目標。 期待一些粗糙的邊緣&#xff0c;如果有時會…

【CSS3動畫】transform對文字及圖片的旋轉、縮放、傾斜和移動

前言&#xff1a;之前我有寫過CSS3的transform這一這特性&#xff0c;對于它的用法&#xff0c;還不是很透徹&#xff0c;今天補充補充&#xff0c;呵呵 你懂的&#xff0c;小司機準備開車了。 a)再提一提transform的四個屬性 ①旋轉--->rotate(參數a)&#xff0c;單位deg&a…

宏的用法與簡介

預處理指令&#xff1a;例如&#xff1a;#include<stdio.h> #include<stdlib.h> #define MAX 20 ............. 因為他們由預處理器解釋的&#xff0c;所以稱作預處理指令。預處理器讀取源代碼&#xff0c;然后對其修改&#xff0c;并把修改過的…

django 日志寫入mysql_如何將django orm模型 寫入數據庫

1、指定連接pymysql(python3.x)先配置_init_.pyimport pymysqlpymysql.install_as_MySQLdb()2、配置連接mysql文件信息settings.pyDATABASES {default: {ENGINE: django.db.backends.mysql,NAME: django_orm, #你的數據庫名稱USER: root, #你的數據庫用戶名PASSWORD: , #你的數…

ORM的問題第2部分–查詢

在我以前關于對象關系映射工具&#xff08;ORM&#xff09;的帖子中&#xff0c;我討論了在處理當今常見的ORM&#xff08;包括Hibernate&#xff09;時遇到的各種問題。 其中包括與從POJO生成架構有關的問題&#xff0c;實際性能和不斷出現的維護問題。 本質上&#xff0c;結論…

【轉】如何減少接口響應時間

Premature optimization is the root of all evil. — Donald Knuth 對于程序優化&#xff0c;我一直采取保守的態度&#xff0c;除非萬不得已。但是隨著業務的不斷發展&#xff0c;程序越來越復雜&#xff0c;代碼越寫越多&#xff0c;優化似乎是終有一天會到來的事情。 那么對…

數據庫行轉列在現實需求中的用法

select t.客戶姓名,sum(case when t.收款類型首款 then t.金額 else 0 end as 首款),sum(case when t.收款類型尾款 then t.金額 else 0 end as 尾款) from table t group by t.客戶姓名 這段sql的意思 是 查詢出所有客戶收款信息 然后按客戶分組 分組后 然后將這個客戶的所…

mysql生產環境加索引_【生產篇】_MySQL環境下如何查看基于表的索引定義

【引言】今天中午項目組來一需求&#xff0c;欲在MySQL環境的某張表下創建幾個BTREE索引。要創建索引&#xff0c;首先需要了解基表的表結構&#xff0c;以及已經包含的索引。Oracle的表結構大家都很熟悉&#xff0c;但MySQL表結構和已創建索引的查看怎么操作&#xff0c;本文將…

Hadoop模式介紹-獨立,偽分布式,分布式

了解了什么是Hadoop之后&#xff0c;讓我們在單機上啟動Hadoop&#xff1a; 這篇文章包含在ubuntu上安裝Hadoop的說明。 這是Hadoop安裝的快速分步教程。 在這里&#xff0c;您將獲得以獨立模式 &#xff08;單節點集群&#xff09;安裝Hadoop所需的所有命令及其說明&#xff0…

apk反編譯方式

一、Apk反編譯得到Java源代碼 下載上述反編譯工具包&#xff0c;打開apk2java目錄下的dex2jar-0.0.9.9文件夾&#xff0c;內含apk反編譯成java源碼工具&#xff0c;以及源碼查看工具。 apk反編譯工具dex2jar&#xff0c;是將apk中的classes.dex轉化成jar文件 源碼查看工具jdgui…

優化Hibernate所鼓勵的7大措施

優化Hibernate所鼓勵的7大措施&#xff1a; 1.盡量使用many-to-one&#xff0c;避免使用單項one-to-many2.靈活使用單向one-to-many3.不用一對一&#xff0c;使用多對一代替一對一4.配置對象緩存&#xff0c;不使用集合緩存5.一對多使用Bag 多對一使用Set6.繼承使用顯示多態 HQ…

如何用c 控制mysql數據庫_用C語言操作MySQL數據庫

函數描述mysql_affected_rows()返回上次UPDATE、DELETE或INSERT查詢更改&#xff0f;刪除&#xff0f;插入的行數。mysql_autocommit()切換autocommit模式&#xff0c;ON/OFFmysql_change_user()更改打開連接上的用戶和數據庫。mysql_charset_name()返回用于連接的默認字符集的…