久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java學習筆記總結(jié)

時間:2019-05-12 15:18:37下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《java學習筆記總結(jié)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java學習筆記總結(jié)》。

第一篇:java學習筆記總結(jié)

java 學習筆記總結(jié)

1.Java是什么呢?

Java不僅是一門語言,而且是一個完整的平臺,有一個龐大的庫,其中包含了很多可重用的代碼和一個提供安全性、跨操作系統(tǒng)的可移植性以及自動垃圾收集等服務(wù)的執(zhí)行環(huán)境。

2.JDK 和 JRE 是什么?

JDK:全稱是 Java Development Kit,這是我們編寫java程序的開發(fā)人員需要的。我們首先要下載和安裝JDK,然后設(shè)置環(huán)境變量,具體操作可以加我扣:七零五叁零六久久久

JRE:全稱是 Java Runtime Environment,它包含虛擬機但不包含編譯器,這是運行java程序的用戶需要的環(huán)境

3.來個Hello World看看吧?

照例先創(chuàng)建一個類HelloWorld.java,源代碼如下: /** * @author 老孫

*/ public class HelloWorld {

public static void main(String[] args){

System.out.println(“Hello World”);

} } Java類名一般是以大寫字母開頭的名詞,多個單詞的話每個單詞首字母都應(yīng)該大寫。Java源代碼以.java作為擴展名,而且文件名必須和文件里的公共類同名。

4.怎么用命令行運行java程序?

比如上面我們編寫了一個類叫做HelloWorld.java,首先打開一個終端;

? 然后進入到HelloWorld.java類所在的目錄; ? 輸入命令 javac HelloWorld.java。javac是一個java編譯器,注意該命令需要的是文件名,也就是要帶著.java后綴。? 輸入命令 java HelloWorld。java啟動Java虛擬機,該命令只需要類名,不需要帶著.java或者.class等后綴。?

5.Java代碼怎么加注釋?

// 單行注釋 和 /*{……}*/ 長篇注釋,這兩種方式很多語言都一樣,沒什么特別強調(diào)的。

另外還有一種注釋可以方便的生成java doc文檔,以/** 開頭,以*/結(jié)束。

6.Java的幾種基本數(shù)據(jù)類型是?

4種整型:byte(1字節(jié)),short(2字節(jié)),int(4字節(jié)),long(4字節(jié))。(PS:Java沒有無符號整型)? 2種浮點型:float(4字節(jié)),double(8字節(jié))? 字符類型:char ? 布爾類型:boolean

在Java種每個類型占用幾個字節(jié)是固定的,與運行java的機器無關(guān),這點與C#不同,這也是Java具有可移植性的關(guān)鍵點。

浮點類型一般double比float常用,而且浮點型存在四舍五入的情況,如果用在對精確度要求高的商業(yè)場景,就得使用java.math.BigDecimal類型了。我們寫個demo看看: ?

/** * @author 老孫

*/ public class DemoDouble { public static void main(String[] args){

double d1=0.05;

double d2=0.01;

double result=d1+d2;

System.out.println(result);//結(jié)果:0.***005

BigDecimal bd1=new BigDecimal(“0.05”);

BigDecimal bd2=new BigDecimal(Double.valueOf(“0.01”));

double result2=bd1.add(bd2).doubleValue();

System.out.println(result2);//結(jié)果:0.06

} }

7.Java怎么定義常量?

使用關(guān)鍵字final定義常量,之前C#用的是const關(guān)鍵字,這一點不同要注意一下。命名規(guī)則上,常量一般使用大寫字母,中間用下劃線分隔。例如: private static final Integer MAX_SIZE=100;

8.String字符串怎么截取子串?

Substring(beginIndex,endIndex):返回子字符串,從beginIndex到endIndex-1。String s=“你好,今天是2018年1月5日,圣誕快樂!” String date = s.substring(6,17);System.out.println(date);// 輸出:2018年1月5日

注意:該方法的返回結(jié)果不包含最后一個位置的字符。如果有問題就問我:七零五叁零六久久久 9.Java字符串怎么拼接?

①最簡單的拼接方式就是使用+符號。

②String.join(char,str1,str2….strN):靜態(tài)方法拼接字符串,用字符char分隔,將字符串進行拼接。//拼接

String s2=String.join(“、”,“JAVA核心技術(shù)”,“JAVA編程思想”,“SpringBoot”);System.out.println(s2);//輸出:JAVA核心技術(shù)、JAVA編程思想、SpringBoot

③當有大量字符串拼接操作的時候使用StringBuilder,這跟C#基本相同。

10.怎么判斷兩個Java字符串是否相等?

equals方法判斷兩個字符串內(nèi)容是否相等。而==判斷兩個字符串是否指向內(nèi)存中同一位置。//比較

String s3=“abc”;String s4=“abc”;String s5=new String(“abc”);String s6=new String(“abc”);System.out.println(s3==s4);//true System.out.println(s3.equals(s4));//true System.out.println(s5==s6);//false System.out.println(s5.equals(s6));//true 這個demo中s3==s4返回true,因為在Java中字符串是不可修改的,編譯器有一些優(yōu)化機制讓字符串共享,所以s3和s4實際上指向了內(nèi)存中同一位置 11.Java數(shù)組有哪些常用操作?

①foreach循環(huán)數(shù)組

//foreach循環(huán)數(shù)組 int[] arr={1,3,5,7,9};for(int item:arr){ System.out.println(item);} ②打印數(shù)組元素

Arrays.toString(a):返回字符串,數(shù)組元素包含在方括號中,以逗號分隔。Arrays.deepToString(arr):用來打印多維數(shù)組。//打印數(shù)組

System.out.println(Arrays.toString(arr));//輸出 [1, 3, 5, 7, 9] int[][] arrM={{1,2,3},{11,12,13},{21,22,23}};System.out.println(Arrays.deepToString(arrM));//[[1, 2, 3], [11, 12, 13], [21, 22, 23]] ③拷貝數(shù)組元素

靜態(tài)方法Arrays.copyOf(originalArray,length):第一個參數(shù)是要拷貝的源數(shù)組,第二個元素是新數(shù)組的長度,如果第二個大于原數(shù)組長度,則自動填充默認值。//拷貝數(shù)組元素

int[] arr2=Arrays.copyOf(arr,arr.length);System.out.println(Arrays.toString(arr2));//輸出 [1, 3, 5, 7, 9] int[] arr3=Arrays.copyOf(arr,arr.length/2);System.out.println(Arrays.toString(arr3));//輸出 [1, 3] int[] arr4=Arrays.copyOf(arr,arr.length*2);System.out.println(Arrays.toString(arr4));//輸出 [1, 3, 5, 7, 9, 0, 0, 0, 0, 0] ④排序

靜態(tài)方法Arrays.sort()方法采用優(yōu)化后的快速排序算法對數(shù)組元素進行排序。//排序

int[] arr6={12,4,53,78,21,943,3};Arrays.sort(arr6);System.out.println(Arrays.toString(arr6));//輸出 [3, 4, 12, 21, 53, 78, 943]

⑤查找

靜態(tài)方法Arrays.binarySearch(arr, valueToFind):二分查找,第一個參數(shù)是要查找的數(shù)組,第二個參數(shù)是要查找的目標元素。該方法有個前提是數(shù)組必須是有序的。//查找

int index=Arrays.binarySearch(arr6,12);//輸出 2 System.out.println(index);

⑥填充數(shù)組元素

靜態(tài)方法Arrays.fill(arr,item):將數(shù)組arr每個元素都填充為item.//填充數(shù)組元素

String[] arr7=new String[5];Arrays.fill(arr7,“*”);System.out.println(Arrays.toString(arr7));//[*, *, *, *, *]

⑦比較數(shù)組

注意要使用Arrays.equals(arr1,arr2)比較數(shù)組,如果兩個數(shù)組元素全部相同,則返回true。//比較數(shù)組元素

String[] arr8={“*”,“*”,“*”,“*”,“*”,};System.out.println(arr7.equals(arr8));//false System.out.println(Arrays.equals(arr7,arr8));//true

12.日期對象LocalDate ①獲取當前日期時間 //當前日期

LocalDate today=LocalDate.now();

System.out.println(today);//2017-12-26

//當前時間

LocalTime currentTime=LocalTime.now();

System.out.println(currentTime);//12:23:09.054

//當前日期時間

LocalDateTime dateTime=LocalDateTime.now();

System.out.println(dateTime);//2017-12-26T12:23:09.054

②構(gòu)造某個指定日期

//構(gòu)造指定日期

LocalDate newYear=LocalDate.of(2018,1,1);System.out.println(newYear);//2018-01-01

③解析日期字符串,如果不合法會拋出異常。

//解析日期字符串

LocalDate date1=LocalDate.parse(“2018-12-31”);System.out.println(date1);//2018-12-31//LocalDate.parse(“2018-11-31”);//拋出異常

④獲取若干天后的某個日期 //15天后

LocalDate date15=today.plusDays(15);System.out.println(date15);//2018-01-10

⑤獲取年份、月份、日期

//獲取年、月、日

System.out.println(date15.getYear());//2018 System.out.println(date15.getMonth());//JANUARY System.out.println(date15.getMonthValue());//1 System.out.println(date15.getDayOfMonth());//10 System.out.println(date15.getDayOfWeek());//WEDNESDAY System.out.println(date15.getDayOfYear());//10 注意:使用Date對象的getYear()方法,不能獲取當前的年份

System.out.println(new Date().getYear());//117,不是我們想要的結(jié)果2018 我們看一下該方法的源碼,計算的是當前年份和1900年的差值

public int getYear(){ return normalize().getYear()-1900;}

大家在學習的過程中遇到任何的問題都可以咨詢我(QQ:705306999,奔跑de蝸牛)

也可以加入到我們的免費學習交流群: 579016988(職坐標java編程交流群2)玩微信的朋友也可以加老孫的個人微信公眾號:微信右上角點擊加號--添加朋友--公眾號--搜索:我是老孫(如下圖),也會不定期發(fā)送技術(shù)文章,娛樂八卦,吃喝玩樂,房產(chǎn)頭條,心靈雞湯等信息!

加圖片說明文字

注意:添加時請注明微博

移除點擊此處添如果大家想看老孫的直播學習,可以加入咱們的免費公開課進行學習!騰訊課程地址:https://ke.qq.com/course/92963#tuin=2a0a2177

有的人會這樣說:“我只是在業(yè)余時間打盹而已,業(yè)余時間干嗎把自己弄得那么緊張?”

愛因斯坦就曾提出:“人的差異在于業(yè)余時間?!?/p>

一位在哈佛任教的朋友說,只要知道一個青年怎樣度過他的業(yè)余時間,就能預(yù)言出這個青年的前程怎樣。記得點贊和轉(zhuǎn)發(fā)哦!

片說明文字

移除點擊此處添加圖

第二篇:java學習筆記

jdk(java development kit)

有如下公司或組織開發(fā)jdk

sun jdk

ibm jdk

bea jrocket

gun jdk

其中ibm的jdk包含的jvm(java virtual machine)運行效率要比sun jdk包含的jvm高出許多。而專門運行在x86平臺的jrocket在服務(wù)端運行效率也要比sun jdk好很多。但不管怎么說,我們還是需要先把sun jdk掌握好。

1、jdk的下載和安裝

jdk又叫做j2se(java2 sdk standard edition),可以從sun的java網(wǎng)站上下載到,http://java.sun.com/j2se/downloads.html,jdk當前最新的版本是j2sdk1.4.2,建議下載該版本的jdk,下載頁面在這里:http://java.sun.com/j2se/1.4.2/download.html。

下載好的jdk是一個可執(zhí)行安裝程序,默認安裝完畢后會在c:program filesjava目錄下安裝一套jre(供瀏覽器來使用),在c:j2sdk1.4.2下安裝一套jdk(也包括一套jre)。然后我們需要在環(huán)境變量path的最前面增加java的路徑c:j2sdk1.4.2bin。這樣jdk就安裝好了。

2、java documentation

java編程手冊,java核心所在3、java 應(yīng)用服務(wù)器

a、tomcat

b、ibm webshpere

c、bea weblogic

d、免費 jboss4、java應(yīng)用的運行環(huán)境

應(yīng)用服務(wù)器(app server)

app server是運行java企業(yè)組件的平臺,構(gòu)成了應(yīng)用軟件的主要運行環(huán)境。當前主流的app server是bea公司的weblogic server和ibm公司的websphere以及免費的jboss,選擇其中一個進行學習就可以了,個人推薦weblogic,因為它的體系結(jié)構(gòu)更加干凈,開發(fā)和部署更加方便,是java企業(yè)軟件開發(fā)人員首選的開發(fā)平臺。下面簡要介紹幾種常用的app server:

1、tomcat

tomcat嚴格意義上并不是一個真正的app server,它只是一個可以支持運行serlvet/jsp的web容器,不過tomcat也擴展了一些app server的功能,如jndi,數(shù)據(jù)庫連接池,用戶事務(wù)處理等等。tomcat被非常廣泛的應(yīng)用在中小規(guī)模的java web應(yīng)用中,因此本文做一點下載、安裝和配置tomcat的介紹:

tomcat是apache組織下jakarta項目下的一個子項目,它的主網(wǎng)站是:http://jakarta.apache.org/tomcat/,tomcat最新版本是tomcat4.1.27,軟件下載的連接是:http://

在啟用這兩個管理工具之前,先需要手工配置一下管理員用戶和口令。用一個文本工具打開catalina_homeconftomcat-users.xml這個文件,加入如下幾行:

這樣用戶“robbin”就具備了超級管理員權(quán)限。重新啟動tomcat以后,你就可以使用該用戶來登陸如上的兩個管理工具,通過web方式進行tomcat的配置和管理了。

2、bea weblogic

weblogic可以到bea的網(wǎng)站上免費注冊之后下載到最新的weblogic8.1企業(yè)版,license可以免費使用1年時間,其實這已經(jīng)完全足夠了。weblogic的下載連接:http://commerce.bea.com/index.jsp,.../edocs.bea.com/。

3、ibm webshpere

websphere同樣可以下載到免費的試用版本,到ibm的developerworks網(wǎng)站可以看到websphere試用產(chǎn)品的下載和相關(guān)的websphere的資料,developerworks中文網(wǎng)站的連接是:http://。

4、jboss

jboss是免費開源的app server,可以免費的從jboss網(wǎng)站下載:http://,然...n.com/idea.html

四、java應(yīng)用的運行環(huán)境

java的應(yīng)用可以簡單分為以下幾個方面:

1、java的桌面應(yīng)用

桌面應(yīng)用一般僅僅需要jre的支持就足夠了。

2、java web應(yīng)用

java的web應(yīng)用至少需要安裝jdk和一個web容器(例如tomcat),以及一個多用戶數(shù)據(jù)庫,web應(yīng)用至少分為三層:

browser層:瀏覽器顯示用戶頁面

web層:運行servlet/jsp

db層:后端數(shù)據(jù)庫,向java程序提供數(shù)據(jù)訪問服務(wù)

3、java企業(yè)級應(yīng)用

企業(yè)級應(yīng)用比較復(fù)雜,可以擴展到n層,最簡單情況會分為4層:

browser層:瀏覽器顯示用戶頁面

client層:java客戶端圖形程序(或者嵌入式設(shè)備的程序)直接和web層或者ejb層交互

web層:運行servlet/jsp

ejb層:運行ejb,完成業(yè)務(wù)邏輯運算

db層:后端數(shù)據(jù)庫,向java程序提供數(shù)據(jù)訪問服務(wù)

4、java嵌入式應(yīng)用

java嵌入式應(yīng)用是一個方興未艾的領(lǐng)域,從事嵌入式開發(fā),需要從sun下載j2me開發(fā)包,j2me包含了嵌入式設(shè)備專用虛擬機kvm,和普通的jdk中包含的jvm有所不同。另外還需要到特定的嵌入式廠商那里下載模擬器。

第三篇:Java筆記總結(jié)

1、Java是一種可以編譯 跨平臺、面向?qū)ο蟮母呒売嬎銠C語言。

2、Java語言的特點:簡單、安全、跨平臺、面向?qū)ο?、支持多線程。

3、Java的三個技術(shù)平臺分別是 JavaSE、JavaEE、JavaME。

4、Java程序的運行環(huán)境簡稱為 JDK。

5、編譯Java程序需要使用 javac 命令。

6、javac.exe和java.exe這兩個可執(zhí)行程序存放在JDK安裝目錄的bin目錄下。

7、PATH環(huán)境變量用來存儲Java的編譯和運行工具所在的路徑;CLASSPATH環(huán)境變量 則用來保存Java虛擬機要運行的“.calss”文件。

8、.class文件在 java.exe 文件啟動的JVM中運行。

9、JRE與JDK之間的區(qū)別:

a)JRE(Java Runtime Environment)提供java程序運行所需要的基本條件(如JVM)和許多基礎(chǔ)類。

b)JDK(Java Development Kit)是Java程序開發(fā)工具包——包含編譯工具、解釋工具、打包工具等開發(fā)工具。

10、JVM——Java虛擬機,相當于一個虛擬的操作系統(tǒng),負責運行javac.exe生成的 字節(jié)碼(二進制)文件。java.exe執(zhí)行”.class”,就是java.exe啟動JVM運行”.class”文件。

11、標識符命名規(guī)則:

a)包名所有字母一律小寫。

b)類名和接口名每個單詞首字母大寫。

c)常量名所有字母都大寫,單詞之間用下劃線分開。

d)變量名和方法名的第一個單詞小寫,之后的每個單詞首字母大寫。

12、強制類型轉(zhuǎn)換:

a)格式:目標類型 變量名 =(目標類型)值

b)int類型轉(zhuǎn)換成byte類型 很容易造成 精度丟失。因為int類型變量是32位,byte類型只有8位,所以在轉(zhuǎn)換過程中會丟失int類型的高3位字節(jié)。

c)在用”雙字符“型運算符(+=、-=之類的)運算時,強制類型會自動完成,不用程序顯示的聲明。

13、三元運算符:判斷條件?表達式1:表達式2;——若條件成立,執(zhí)行表達式1,否則執(zhí)行表達式2。

14、跳轉(zhuǎn)語句:

a)break:

i.用于switch語句,終止某case并跳出switch結(jié)構(gòu)。ii.用于循環(huán)語句,跳出循環(huán)語句,執(zhí)行后面的程序。

b)continue——只用于循環(huán)語句中:終止本次循環(huán),執(zhí)行下一次循環(huán)。

15、方法重載:

a)2個條件:方法名相同、參數(shù)個數(shù)或參數(shù)類型不同。b)與返回值類型無關(guān)。

16、數(shù)組:

a)定義數(shù)組:

i.類型[ ] 數(shù)組名 = new 類型[ 數(shù)組長度 ] //這種定義方式只指定了長度,元素的初值由系統(tǒng)自動賦0。(動態(tài)初始化)

ii.類型[ ] 數(shù)組名 = new 類型[ ]{元素,元素,......} iii.類型[ ] 數(shù)組名 = {元素,元素,......} //這2種稱為 靜態(tài)初始化。

17、冒泡排序:

a)若有n個元素,則進行n-1輪排序(n-1次外循環(huán))

b)第1輪排序,元素之間進行n-1次比較;第2輪排序進行n-2次排序......最后1輪只進行1次比較。c)外循環(huán)條件:i < arr.length d)內(nèi)循環(huán)條件:j < arr.length1

18、二維數(shù)組:

a)定義方式1:類型[ ][ ] 變量名 = new 類型[ 幾行 ][ 幾列 ];b)可理解為數(shù)組的 數(shù)組——例arr[0][1]-->數(shù)組名arr[0],第二個元素[1];c)二維數(shù)組的 長度 由”[ 幾行 ]“確定!

d)定義方式2:類型[ ][ ] 變量名 = new 類型[ 幾行 ][ ];//行數(shù)確定,列數(shù)不確定——每行可以隨便 賦值。

e)定義方式3:類型[ ][ ] 變量名 = { { ,...,...,...},{ },{ },......} //這種行數(shù)、列數(shù)都不確定。大括號 內(nèi)的每個 大括號 代表 一行 的元素,每行有多少個元素 取決于 內(nèi)大括號 中元素的個數(shù)。

19、面向?qū)ο蟮奶攸c:封裝性、繼承性、多態(tài)性。

20、在創(chuàng)建變量后,JVM運行程序時,會自動初始化變量。引用型變量 為 null。

21、垃圾對象——沒有變量引用的對象。

22、類的封裝:將類中的屬性 私有化。外界訪問私有屬性時 只能通過該屬性的 getxxx()方法。

a)//擇Generate getter and setter--> 自動生成

set和get方法。

23、構(gòu)造方法:實例化對象。

a)可以用 帶參數(shù)的構(gòu)造方法 在實例化對象時就 給私有屬性 賦值。b)好的程序員 應(yīng)該為每個類 寫一個 無參構(gòu)造方法。c)定義構(gòu)造方法的條件:

i.方法名與類名相同。ii.沒有返回值的 聲明。

iii.方法中 不能有return 返回值。

24、this關(guān)鍵字

a)this指代 該類實例化的 對象。所以可以用 this.xx的方式調(diào)用 成員。b)在成員方法中使用this關(guān)鍵字,避免參數(shù)名與屬性名相同。c)用this關(guān)鍵字調(diào)用 構(gòu)造方法

i.只能在構(gòu)造方法中 用this調(diào)用其他構(gòu)造方法; ii.此時this語句必須位于第1行,并且只能出現(xiàn)一次 iii.不能在一個類的兩個構(gòu)造方法中互相調(diào)用。

25、static關(guān)鍵字

a)靜態(tài)變量:

i.用static修飾的變量 ii.靜態(tài)變量被所有實例共享

iii.可以使用“類名.變量名”的形式來訪問。iv.只能修飾 成員變量 b)靜態(tài)方法

i.希望在不創(chuàng)建對象的情況下也能條用 類中的 某個方法,那就用static關(guān)鍵字休息這個方法 ii.靜態(tài)方法 只能訪問 靜態(tài)成員!

//因為非靜態(tài)成員 必須先創(chuàng)建對象才能訪問,而靜態(tài)方法在被調(diào)用的時候可以 不創(chuàng)建對象——那么就沒有非靜態(tài)成員可供訪用。

c)靜態(tài)代碼塊

i.當類被加載時,靜態(tài)代碼會執(zhí)行一次。而類只會被加載一次,所以靜態(tài)代碼塊只會被執(zhí)行一次。

ii.通常會用靜態(tài)代碼塊對類的成員變量進行初始化。d)單例模式

i.private static 類名 INSTANCE = new 類名();量——自己創(chuàng)建一個對象。private 類名(){};

//私有的 構(gòu)造方法,只能內(nèi)部訪問

}

//私有成員變public static 類名 getInstance(){ return INSTANCE;//定義靜態(tài)方法,返回自己的實例對象。ii.第二種單例模式創(chuàng)建方法。

1.Private 類名(){} 調(diào)用。

2.public static fianl 類名 INSTANCE = new 類名();的不能被修改的 靜態(tài)成員對象。

26、內(nèi)部類——定義在類里面的 類

a)成員內(nèi)部類

i.相當于成員方法,可以訪問外部類的所有成員;

ii.因為成員內(nèi)部類相當于 成員方法,所以想要創(chuàng)建內(nèi)部類對象時,必須得用外部類的對象 去創(chuàng)建內(nèi)部類對象:

1.外部類名.內(nèi)部類名 變量名 = new 外部類名().new 內(nèi)部類名();b)靜態(tài)內(nèi)部類

i.用static修飾的成員內(nèi)部類,也相當于靜態(tài)方法。只能訪問外部類的靜態(tài)成員。

ii.因為靜態(tài),所以在創(chuàng)建內(nèi)部類對象時,可以不用先創(chuàng)建外部類對象:

1.外部類名.內(nèi)部類名 變量名 = new 外部類名.內(nèi)部類名();iii.靜態(tài)內(nèi)部類中 可以定義靜態(tài)成員,非靜態(tài)內(nèi)部類則不可。c)方法內(nèi)部類

i.在方法中定義的類,只能在當前方法中被使用。

27、當一個對象被當成垃圾從內(nèi)存中釋放時,它的 finalize()方法會被自動調(diào)用。

//公有

//私有的 構(gòu)造方法,只能在類的內(nèi)部被

28、繼承

a)繼承關(guān)鍵字:extends。b)格式:Class A extends B{} c)單繼承——一個類只能有一個直接父類。

29、重寫父類方法

a)條件:方法名、參數(shù)、返回值類型 3個都相同。

b)重寫之后,子類調(diào)用被重寫的方法時,就是調(diào)用自己寫的方法。c)重寫應(yīng)用:

i.應(yīng)用對象 是父類的 公有方法。重載 應(yīng)用的對象是 類本身的 方法。ii.重寫父類 不適合子類的 方法 iii.實現(xiàn)接口。

30、super關(guān)鍵字

a)調(diào)用父類成員變量和成員方法:

i.super.成員變量;ii.super.成員方法(參數(shù)1,參數(shù)2,...);b)調(diào)用父類的構(gòu)造方法

i.super(參數(shù)1,參數(shù)2,...);ii.必須位于子類的構(gòu)造方法的第一行,且只能出現(xiàn)一次。

iii.在實例化子類時,系統(tǒng)會在 子類的構(gòu)造方法中 調(diào)用

父類的構(gòu)造方法——如果子類的構(gòu)造方法中 沒有調(diào)用 父類的構(gòu)造方法,系統(tǒng)會自動調(diào)用父類的無參構(gòu)造方法。所以 每個類的 無參構(gòu)造方法 一定不要漏了!子類也可以顯示的調(diào)用 父類的有參或無參構(gòu)造法方法。c)解決 重寫了父類方法之后,不能調(diào)用父類方法的問題。

31、final關(guān)鍵字

a)final修飾的類 不能被繼承 b)final修飾的方法 不能被子類重寫

c)final修飾的變量 是常量,不能被修改,且必須在定義時 為變量賦值。

32、抽象類

a)關(guān)鍵字 abstract b)抽象方法:abstract void shout(){};——沒有方法體。

c)包含抽象方法的類必須聲明為 abstract類:abstract class Animal{} d)抽象類可以 不包含任何抽象方法,只需用abstract修飾。e)抽象方法不能直接實例化,只能讓 子類實例化。

33、接口

a)定義關(guān)鍵字:interface——interface Animal{} b)接口中的方法 被默認修飾為:public abstract——抽象方法。c)接口中的變量 被默認修飾為 :public static final —— 全局常量

i.所以變量最好用

全大寫

表示。

d)因為方法都是抽象的,所以必須定義一個類 來實現(xiàn)(implements)接口——Class A implements B{} e)接口之間可以繼承——interface C extends B{} f)一個類可以實現(xiàn)多個接口,接口直接間用逗號隔開。g)一個類可以在繼承一個類的同時,實現(xiàn)其它的接口。

h)如果一個類去實現(xiàn)接口的話,那么這個類必須實現(xiàn)接口中所有的方法。

34、多態(tài)

a)方法上的多態(tài)

i.類內(nèi)部方法的重載 ii.子類對父類方法的重寫 b)對象上的多態(tài)性

i.假設(shè)父類:A;子類B B b = new B();ii.對象的自動向上轉(zhuǎn)型:A a = b;//子類對象,變成了父類對象。

1.雖然a指向A的對象,但是如果B重寫了A的方法,那a調(diào)用的還是B中的方法。

iii.對象的強制向下轉(zhuǎn)型

1.若 A a = new A();2.B b =(B)a;

//父類對象變成了 子類對象。3.這時對象b調(diào)用的是 子類的重寫的方法。

4.注意:對象發(fā)生強制向下轉(zhuǎn)型之前,必須保證已經(jīng)發(fā)生了向上轉(zhuǎn)型,否則會出異常。

35、異常

a)異常類分為:編譯時異常、運行時異常 b)異常處理機制: i.try...catch...finally 1.try代碼包含可能發(fā)生異常的Java語句,catch塊中包含針對一場進行處理的代碼。

2.當發(fā)生異常時,系統(tǒng)將異常信息封裝成一個異常對象傳遞給catch代碼塊。所以catch需要定義1個對應(yīng)的異常類 變量。3.finally代碼塊包含,無論發(fā)生什么異常都要執(zhí)行的代碼。常用于關(guān)閉系統(tǒng)資源。

ii.throws關(guān)鍵字聲明拋出異常,調(diào)用者對其處理。這種方法能通過編譯,但是發(fā)生異常后就會終止運行。

c)自定義異常

i.首先定義 一個繼承Exception異常的 異常類;異常類中 編寫一個無參構(gòu)造方法(調(diào)用父類無參構(gòu)造方法),再編寫一個 帶String參數(shù)的構(gòu)造方法(也調(diào)用父類的帶Stirng參數(shù)的構(gòu)造方法)。ii.再定義一個 測試類,定義要調(diào)用的方法,并在此方法后面用 throws關(guān)鍵字 聲明拋出自定義異常;再在 方法體 內(nèi)判斷什么時候 用throw new 自定義異常(“要打印的信息”)。//聲明自定義異常對象。

iii.最后在 測試類的main 方法中,iv.try{...}

catch(...){ System.out.printlan(e.getMessage)}

finally{...}

36、線程的創(chuàng)建: a)繼承Thread類,并重寫run()方法。然后new Thread().start;開啟線程。

b)實現(xiàn)Runnable接口,重寫run()方法。然后new Thread(new myRunnable).start開啟線程。

37、兩種實現(xiàn)多線程的比較——實現(xiàn)Runnable接口的方法更好

a)可以讓多個線程共享資源?!燮毕到y(tǒng)需要。b)避免單繼承。38、36、

第四篇:java學習筆記(更新)

1.JSP內(nèi)置對象分類

與Servlet有關(guān)的隱含對象

page、config

與Input/Output有關(guān)的隱含對象

out、request、response

JSP執(zhí)行時,提供有關(guān)Context的隱含對象

session、application、pageContext 與Error有關(guān)的隱含對象

exception

2.get與post區(qū)別

get方式:將表單內(nèi)容經(jīng)過編碼之后,通過URL發(fā)送,使用get方式發(fā)送時有255個字符的限制(可以在地址欄里看到方式和地點)

post方式:將表單的內(nèi)容通過http發(fā)送,post沒有字符長度的限制(在地址欄里看不到表單提交的信息

3.forward與sendredirect區(qū)別 服務(wù)器端跳轉(zhuǎn)

地址欄不改變的跳轉(zhuǎn)執(zhí)行到跳轉(zhuǎn)語句后,無條件立刻跳轉(zhuǎn),之后的代碼不再執(zhí)行

使用跳轉(zhuǎn)前一定要釋放掉全部的資源使用時,request設(shè)置的屬性依然能保留在下一個頁面

使用服務(wù)器端跳轉(zhuǎn),可以通過來傳遞參數(shù) 客戶端跳轉(zhuǎn)

response.sendRedirect(“uri”);地址欄改變的跳轉(zhuǎn)

所有代碼執(zhí)行完畢之后再跳轉(zhuǎn)

使用response時,不能保存request屬性

使用客戶端跳轉(zhuǎn),可以通過重寫URL的方式來傳遞參數(shù) 4.JSP內(nèi)置對象session

session對象用來存儲有關(guān)用戶會話的所有信息直到它的生命周期超時或被人為釋放掉為止。

設(shè)置session session.setAttribute(“name”, “admin”);根據(jù)名稱去獲取session中存放對象的值

String name =(String)session.getAttribute(“name”);根據(jù)名稱去刪除session中存放對象的值 session.removeAttribute(“name”);用戶注銷功能的實現(xiàn) session.invalidate();5.JDBC API JDBC API可做三件事:與數(shù)據(jù)庫建立連接、執(zhí)行SQL語句、處理結(jié)果 DriverManager :依據(jù)數(shù)據(jù)庫的不同,管理JDBC驅(qū)動 Connection :負責連接數(shù)據(jù)庫并擔任傳送數(shù)據(jù)的任務(wù)

Statement(PreparedStatement):由 Connection 產(chǎn)生、負責執(zhí)行SQL語句 ResultSet:負責保存Statement執(zhí)行后所產(chǎn)生的查詢結(jié)果

JDBC應(yīng)用開始->裝入JDBC驅(qū)動程序

->創(chuàng)建與數(shù)據(jù)庫的連接->創(chuàng)建語句對象——Statement或PreparedStatement->利用語句對象執(zhí)行SQL語句,得到結(jié)果

->處理結(jié)果 JDBC應(yīng)用結(jié)束 6.MVC設(shè)計模式

模型(Model)JavaBean 代表應(yīng)用程序狀態(tài)和業(yè)務(wù)邏輯

視圖(View)JSP 提供可交互的客戶界面,向客戶顯示模型數(shù)據(jù)

控制器(Controller)Servlet 根據(jù)客戶的請求來操縱模型,并把結(jié)果經(jīng)由視圖展現(xiàn)給客戶

Model I設(shè)計模式

JSP+JavaBean(View + Model)

Model II設(shè)計模式

JSP+JavaBean+servlet(View + Model+controller)

Model I和Model II的對比

Model I缺少控制器(Controller),不易維護和擴展 Model I開發(fā)速度快,適用于開發(fā)中、小型項目

Model II 代碼的重用性 有利于開發(fā)的分工

各司其職、互不干涉 7.EL表達式

由于jsp標準動作的局限,一般是操作JavaBean的屬性

JavaBean的屬性只能為基本數(shù)據(jù)類型不能進行邏輯操作,而el卻可以精確的訪問存儲對象,Bean屬性的簡略記法,空值取代錯誤消息 優(yōu)點

代替復(fù)雜代碼,省去條件判斷 訪問Bean的屬性 Bean屬性的簡略記法

以輸出MVC中的內(nèi)容,代碼簡單 8.EL隱式對象

pageScope:范圍和JSP的page相同,只限于當前頁面 requestScope:范圍和JSP的page相同,范圍限于一次請求 sessionScope:范圍和JSP的session相同,范圍為一次會話

applicationScope:從服務(wù)器一開始執(zhí)行服務(wù),到服務(wù)器關(guān)閉為止 9.jsp中動態(tài)include和靜態(tài)的include 區(qū)別

動態(tài)INCLUDE總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)。

靜態(tài)include偽碼實現(xiàn),不會檢查所含文件的變化,適用于包含靜態(tài)頁面 10.Servlet和JSP的關(guān)系

Servlet是JSP的早期版本,在JSP中,更加注重頁面的表現(xiàn),而在Servlet中則更注重業(yè)務(wù)邏輯的實現(xiàn)。

同時,JSP只能處理瀏覽器的請求,而Servlet則可以處理一個客戶端的應(yīng)用程序請求。因此,Servlet加強了Web服務(wù)器的功能。10.Servlet的生命周期

Servlet是服務(wù)器端運行的。Servlet是javax.servlet包中HttpServlet類的子類,由服務(wù)器完成該子類的創(chuàng)建和初始化。

Servlet的生命周期主要由3個過程組成。

1、init()方法:服務(wù)器初始化Servlet。

2、service()方法:初始化完畢,Servlet對象調(diào)用該方法相應(yīng)客戶的請求。

3、destroy()方法:調(diào)用該方法消滅Servlet對象。其中,init()方法只在Servlet第一次被請求加載的時候被調(diào)用一次,當有客戶再請求Servlet服務(wù)時,Web服務(wù)器將啟動一個新的線程,在該線程中,調(diào)用service方法相應(yīng)客戶的請求。11.JSP 6種基本動作

jsp:include:在頁面被請求的時候引入一個文件。jsp:useBean:尋找或者實例化一個JavaBean。jsp:setProperty:設(shè)置JavaBean的屬性。jsp:getProperty:輸出某個JavaBean的屬性。jsp:forward:把請求轉(zhuǎn)到一個新的頁面。

jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標記

12.Request對象的主要方法:

setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值 getAttribute(String name):返回由name指定的屬性值

getAttributeNames():返回request對象所有屬性的名字集合,結(jié)果是一個枚舉的實例 getCookies():返回客戶端的所有Cookie對象,結(jié)果是一個Cookie數(shù)組 getCharacterEncoding():返回請求中的字符編碼方式 getContentLength():返回請求的Body的長度

getHeader(String name):獲得HTTP協(xié)議定義的文件頭信息

getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個枚舉的實例

getHeaderNames():返回所以request Header的名字,結(jié)果是一個枚舉的實例 getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù) getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法

getParameter(String name):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值 getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個枚舉的實例

getParameterValues(String name):獲得有name指定的參數(shù)的所有值 getProtocol():獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱 getQueryString():獲得查詢字符串

getRequestURI():獲取發(fā)出請求字符串的客戶端地址 getRemoteAddr():獲取客戶端的IP地址 getRemoteHost():獲取客戶端的名字

getSession([Boolean create]):返回和請求相關(guān)Session getServerName():獲取服務(wù)器的名字

getServletPath():獲取客戶端所請求的腳本文件的路徑 getServerPort():獲取服務(wù)器的端口號

removeAttribute(String name):刪除請求中的一個屬性 13.會話跟蹤技術(shù)

Session 隱藏表單域 URL重寫 Cookie使用 14.cookie的使用

cookie是一段字符串,由HTTP支持,在客戶端可以永久保存.寫入(硬盤).每次請求,響應(yīng)中都會為cookie留有空間.Cookie cookie=new Cookie(“name”,cookie);//必須指定cookie的鍵與值,且必須為字符串.response.addcookie(cookie);

cookie.setMaxAge(3600);//以秒為單位.讀取客戶端發(fā)送過來的cookie,返回值類型為: cookie數(shù)組

request.getCookies();循環(huán)讀取鍵與值.小常識:(1).一個網(wǎng)站最多向一個客戶端寫20個cookie.(2).一個客戶端最多接收300個cookie.

第五篇:java學習筆記(部分)

作業(yè):

a.登陸驗證,SSJ 通過MySQL進行數(shù)據(jù)校驗,如果成功轉(zhuǎn)向到main.jsp 失敗則返回。

b.登陸用戶信息存放session

Maven 搭建環(huán)境的步驟: 1).新建Maven Project

錯誤解決 :是因為沒有web.xml,再webapp中新建一個即可

引入spring環(huán)境 修改pom中的依賴 spring-context

引入spring MVC模塊

spring webmvc

配置文件:springmvc-servlet.xml

加載 spring 上下文

Web.xmlContextLoaderListener struts-servlet.xml

配置springmvc前端控制器 Web.xml

配置掃描包:

錯誤:The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path通過引入servlet-api 模塊

配置jetty插件

org.mortbay.jetty jetty-maven-plugin

80

運行程序

測試訪問:http://localhost/list

至此,springmvc的環(huán)境就搭建成功了

完成作業(yè)

因為要通過數(shù)據(jù)庫驗證,則需要引入jdbc/druid組件 spring-jdbc/druid/mysql connector j

配置數(shù)據(jù)源:

配置JDBCTemplete組件

一/深入了解spring MVC

@RequestMappging注解

可以指定處理的請求是什么類型的

@RequestMapping注解可以放在類上面,標識一個父路徑相當于struts2 @NameSpace

正式的寫法:

二/SSJ集成

下載java學習筆記總結(jié)word格式文檔
下載java學習筆記總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    Java總結(jié)筆記(推薦五篇)

    ========== 學習Java總結(jié)筆記 ========== 1. 關(guān)于動態(tài)加載機制?? 學習Java比C++更容易理解OOP的思想,畢竟C++還混合了不少面向過程的成分。很多人都能背出來Java語言的特點......

    java基礎(chǔ)總結(jié)大全(筆記)

    一、基礎(chǔ)知識: 1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機,用于保證java的跨平臺的特性。 java語言是跨平臺,jvm不是跨平臺的。JRE(Java Runtime Environmen......

    java學習方法筆記總結(jié).

    本人親自總結(jié)了多年學習JAVA的筆記總結(jié),多年心血都在此了,速來下載!下面簡單列舉一下大家學習java的一個系統(tǒng)知識點的一些介紹(按照TTS6上面的順序來的): 一:java基礎(chǔ)部分:java基......

    java學習心得筆記

    j2ee學習筆記 注:框架可以用word菜單中的 “視圖/文檔結(jié)構(gòu)圖” 看到j(luò)2ee模式 value object(值對象)用于把數(shù)據(jù)從某個對象/層傳遞到其他對象/層的任意java對象。 通常不包含任......

    java學習總結(jié)

    第三周學習總結(jié)這周從HTML學到了mysql: 1. HTML:Hypertext Markup Language超文本標記語言 后綴名為.html或.htm 由兩部分組成:head和body 2.body屬性:bgcolor、background、bgp......

    Java學習總結(jié)

    剖析該問題前請看如下代碼 public static String bytes2HexString(byte b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexStrin......

    JAVA學習總結(jié)

    Java學習總結(jié)在學習了三周的Java基礎(chǔ)編程語言之后,我對Java有了一定的了解。Java是由Sun公司推出的一種面向?qū)ο蟮某绦蛟O(shè)計語言,現(xiàn)在被廣泛應(yīng)用于很多領(lǐng)域。最讓我關(guān)注的一......

    JAVA學習總結(jié)

    ==========Java學習總結(jié)========= 從3月8號開班以來我們已經(jīng)學習Java 有3個多月了,主要學習了Java基礎(chǔ)知識、OOP(面向?qū)ο?、JavaSE、ORACLE(數(shù)據(jù)庫)、JDBC WebBasic、JQUER......

主站蜘蛛池模板: 午夜福利视频合集| 无遮挡激情视频国产在线观看| 中文字幕久久久久人妻中出| 欧美z0zo人禽交免费观看99| 日本在线播放| 青草青草久热精品视频在线播放| 国产精品无码专区久久久| 无码毛片内射白浆视频| 成 人 网 站 免 费 av| 人妻熟女一区二区三区app下载| 久久精品国产久精国产果冻传媒| 狼人大香伊蕉国产www亚洲| 无码精品尤物一区二区三区| 丰满少妇被猛烈进入毛片| 欧美深性狂猛ⅹxxx深喉| 国产高清在线精品一区二区三区| 国产无套一区二区三区浪潮| 久久97超碰色中文字幕蜜芽| 曰本无码人妻丰满熟妇啪啪| 国内精品久久久久久久电影视| 国产综合内射日韩久| 亚洲精品一区二区三区在线观看| 无码aⅴ免费中文字幕久久| 久久精品国产一区二区三区肥胖| 无码少妇一区二区| 人妻饥渴偷公乱中文字幕| 群交射精白浆视频| 亚洲大成色www永久网站注册| 巨胸喷奶水视频www免费网站| 亚洲精品国产摄像头| 欧美一性一乱一交一视频| 久久国内精品自在自线图片| 一本大道东京热无码| 国产午夜精品一区二区三区漫画| 国产精品亚洲玖玖玖在线观看| 亚洲国产成人va在线观看天堂| 久久婷婷五月综合色d啪| 成人无码精品1区2区3区免费看| 久久综合九色综合欧洲98| 人妻丰满熟妇岳av无码区hd| 亚洲色大成网站www在线|