java基础学习笔记(一)
?
java開發環境搭建:JDK配置 + java 集成開發環境IDE(Integrated Development Environment) ==》Eclipse工具
1、官網下載后安裝elipse,注意:Eclipse 安裝時JDK位數和Eclpise位數必須保持一致,安裝過程中Switch Workspace?選擇存放項目java Project 的工作空間;
2、JDK安裝及環境配置、檢測:如下
第一步將jdk文件夾安裝到D盤根目錄,
在環境配置界面的系統變量中創建JAVA_HOME :D:\jdk
編輯系統變量Path,值得前端添加%JAVA_HOME%\bin;
檢測:DOS界面中使用命令java 、javac 、Java-version 能正常輸出信息即成功;
?
學習要點歸納:
1、如何使用命令行格式編譯和執行java程序??
在DOS命令界面中,Javac 命令能將java后綴文件編譯成class文件,java 命令可以執行class文件;
?
2、java理解:java是面向對象編程的語言,java文件實際在創建一個個類。
?
3、創建一個類:public class FirstClass{...} 其中public表示這是一個可以公開訪問的類、class表示這是一個類、FirstClass 表示類的名字,類名的每個單詞首字母必須大寫;public 前飾的類必須在獨立java文件中。
類的方法的使用:類的方法組成包括方法名、返回值、修飾詞和方法體。一般通過實例對象調用方法,成員變量。注意類方法可以直接使用類名調用。
????float?getArmor(/*Argument list*/){//float是調用方法后返回的數據類型。//Argument list:定義傳給方法的信息的類型和名稱 方法名和參數列表共同唯一地標識出某個方法。return?armor;}?
4、main方法的理解:public static void main(String[] args) 這是主方法,所有代碼的入口(可以理解為實例化類對象后會執行的代碼塊);
?
5、eclipse簡單實用技巧:代碼快捷智能編碼實用 “ ALT+ / ”, 如輸入“main”按快捷鍵后快速生成main()方法;快速生成system.out()方法;還可以在全選代碼后使用 "ctrl+shift+f "快捷鍵?格式化代碼 ;可以使用 [菜單]-> [Source ]?就可以看到快速生成set/get構造方法等;參考網址:http://how2j.cn/k/helloworld/helloworld-eclipse-tips/300.html
?
6、Class Not Found 異常的解決辦法??? 菜單-Project->勾選Build Automatically,并Problems頁面倘若有錯誤,那么項目也不會對.java文件進行自動編譯。
?
7、什么是面向過程編程???
面向過程編程就是分析出問題所需要的步驟,使用函數把這些步驟一步步實現,使用的時候一個個依次調用就可以了。強調的是功能行為,考慮的是實際的實現,面向過程是從上往下步步求精,所以面向過程重要的是模塊化的思想方法。程序規模不是很大的時,面向過程的方法還會體現出一種優勢,因為程序的模塊很清楚,按著模塊和函數的方法可以很好的組織。
8、什么是面向對象編程??
面向對象是將世間萬物抽象成一個個對象,對象具備狀態和行為,通過事件進行關聯,強調的是具備功能的對象。
面向對象具有三大特性:
封裝:將對象的方法和屬性具體隱藏起來,只提供調用方法的接口,即封裝。
繼承:將一個已有類中的屬性和方法保留,再加上自己特有的屬性和方法形成一個新類,即繼承。
多態:指同名但是不同的具體實現的多個方法存在一個程序中,有兩種方式:重載和覆蓋。
?
9、類和對象的理解:類是對一組具有相同屬性、操作和關系的同類事物的描述,是抽象的、概念上的定義。對象是實際存在的該類事物的每個個體,因而也稱實例(instance)。在java程序編碼中,類主要是由定義類的屬性變量、方法和關系;類就像是一個模板,通過模板可以創建一個個具體的對象;如創建一個p1對象:??Person p1 = new Person(“Tom”,0);的形式根據Person 類先實例化對象,再初始化對象參數;
?
10、java中有8種基本類型變量:分別是整形4種(btye、short、int、long)、字符型1種(char)、浮點型2種(floa、default)、布爾型1種(boolean)。注意:對象、數組都是引用類型,整形類型數據區分如下圖:
?
?
11、String是字符串對象類型,long a=30; int b=30; a=b;是可以轉換的;基本類型轉換可以從低精度向高精度轉換,但強制高精度向低精度轉換會存在風險;String類型是Immutable的,一旦創建就不能夠被改變(如String a="123";a="666";并沒有改變“123”字符值,只是改變了a的指向)。
?
12、Final修飾符的使用:final修飾變量則變量是常量,常量名命名所有字母必須是全大寫;常量聲明必須初始化,常量只有一次賦值的機會。Final修飾類、方法、基本類型變量、引用的時候有不同的意思。使用final修飾類的時候該類不能被繼承。被final修飾的方法不能被重寫。被final修飾基本變量只有一次賦值的機會(就是常量)。被final修飾的引用只有一次指向的機會。
?
13、static關鍵詞用來修飾類成員的(屬性和方法),在java類庫中有很多類成員都被聲明為static,可以讓用戶不需要實例化對象的情況下引用成員,比如Integer.parseInt(),Float.parseFloat()等用來把對象轉換為所需要的基本數據類型,還有Math.random()方法獲取隨機數。這樣的變量和方法我們又叫做類變量和類方法。 (類變量)類屬性又叫靜態屬性。被static修飾后的成員,在編譯時由內存分配一塊內存空間,直到程序停止運行才會釋放,那么就是說該類的所有對象都會共享這塊內存空間,即共享一個值。
類方法和實例方法的區別:一個類中的方法可以相互調用,實例方法可以調用類中的實例成員和類成員,而類方法只能操作類成員;實例方法必須通過實例化對象進行操作,而類方法可以直接類名調用。
?
14、給基本類型的變量賦值的方式叫做字面值
long a=123L; //已L結尾的字面值表示long 類型int b=23; //默認int型int c=0x1a; //16進制int d=023; //8進制int e=0b1101;//2進制float f=12.23f; //f結尾表示float浮點數字面值double g=232.11; //默認是double類型char h='c'; //字符字面值String j="china"; //字符串字面值char tab='\t'; //制表符,其中\表示轉義,可以將char carriageRturn ='\r'; //回車char newLine='\n'; //換行變量處于不同位置名稱不一樣的同時作用域也不一樣,聲明在類下面是屬性、成員變量,在方法括號里是參數變量,在方法體中是局部變量。
?
15、java的命名規則:
a、類屬性命名,屬性名一般小寫,多個單詞組合的屬性名使用駝峰法命名。首字母不能使用數字,命名中可以使用下劃線,不能使用“-減號或——破折號”;使用完整的單詞命名不能使用縮寫;不可以使用關鍵詞命名如class、super等,但可以包含關鍵字(關鍵字列表如下);中文名可以用來命名,詳細命名規則參照:http://how2j.cn/k/variable/variable-nameing/260.html
16、java算數操作符:%是取模(取余數);i++表示先取值運算再自增;
邏輯運算符:
? ? ?&長路與和&&短路與,;都為真時,才為真;任意為假,就為假。區別:1.長路與 兩側,都會被運算:2.短路與 只要第一個是false,第二個就不進行運算了。
? ? ? 長路或| 和短路||,任意為真,就為真。區別:1.長路或 兩側都會被運算;2.短路或 只要第一個是true的,第二個就不進行運算了。
? ? ? 異或^ :兩側不同則返回真,相同則返回假;
?
17、從控制臺獲取輸入數據的類Scanner的使用??
注意:使用需要先引用Scanner類,所以?import ?java.util.Scanner; 使用如下:
?
18、表達式的使用注意:表達式使用:if ( 表達式1 ){ 表達式2; }?如果表達式1的值是true,就執行表達式2,注意if (b); System.out.println("yes");會輸出“yes”,因為if后的分號也是一個表達式;
?
19、switch可以使用byte,short,int,char,String,enum,enum是枚舉類型。所有枚舉值都是public , static , final的。枚舉是一個特殊的類,使用枚舉可以很方便的定義常量,常用場合有swtich語句中使用枚舉進行判斷Season season = Season.SPRING;?以及遍歷枚舉如for?(Season s : Season.values()) {},枚舉使用參考網址:http://how2j.cn/k/class-object/class-object-enum/678.html??;參考網址https://www.jb51.net/article/89150.htm
?
20、Continue執行下一次循環,break跳出當前循環。使用boolean變量結束外部循環如下:
Boolean breakout=false; //判斷是否終止外部循環的標志for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {System.out.println(i+" : "+j);if(j%4==3) {breakout=true; //終止外部循環的標志設置為truebreak;}}if(breakout) { //判斷終止外部循環break;}}使用標簽結束外部循環:外部循環的前一行加上標簽?,在break的時候使用該標簽?即能達到結束外部循環的效果,如下
outloop: //標簽位置在需要退出的循環前for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {System.out.println(i+" : "+j);if(j%4==3) {break outloop; //通過break使用該標簽}}}21、JAVA 的debug應用和web的debug 調試應用,以及多控制臺顯示,參考網址http://how2j.cn/k/debug/debug-debug-eclipse-java/1337.
?
22、Javs數組的創建賦值如下
int[] a; //申明一個引用a=new int[5]; //創建一個長度為5的數組,并使用引用a指向這個數組int[] b=new int[5]; //聲明一個引用的同時指向長度為5的數組int[] c=new int[] {11,22,3,44,5}; //分配空間的同時賦值,指定了數組的內容就不能同時指定數組的長度int[] d= {11,22,3,44,5}; //可以省略new int[],效果一致d[0]=100; //修改數組值更多資源或實戰項目詳細可以了解:http://how2j.cn/k/interface-inheritance/interface-inheritance-practise/679.html?p=29570
總結
以上是生活随笔為你收集整理的java基础学习笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 方格取数问题
- 下一篇: [NOI2009] 植物大战僵尸