java運行環境

來源:互聯網
上載者:User

標籤:位元組   不用   ips   命令工具   int()   current   語句   效率   1.2   

1.Java開發環境:
1)java編譯運行過程:-----------常見面試題
1.1)編譯期:.java源檔案,經過編譯,產生.class位元組碼檔案
1.2)運行期:JVM載入.class並運行.class(0和1)
特點:跨平台、一次編程到處使用

 

2)名詞解釋:
2.1)JVM:java虛擬機器
載入.class並運行.class
2.2)JRE:java運行環境
除了包含JVM以外還包含了運行java程式所必須的環境
JRE=JVM+java系統類別庫
2.3)JDK:java開發套件
除了包含JRE以外還包含了開發java程式所必須的命令工具
JDK=JRE+編譯、運行等命令工具
說明:
1)運行java程式的最小環境為JRE
2)開發java程式的最小環境為JDK

3)配置環境變數:
3.1)JAVA_HOME:指向jdk的安裝目錄
3.2)CLASSPATH:表示類的搜尋路徑,一般簡寫為.
3.3)PATH:指向jdk下的bin目錄

 

2.eclipse:
1)IBM、開源的、免費的、不需要安裝僅需解壓即可
2)步驟:
2.1)建立Java項目/工程----------------
2.2)建立Java包--------------------
2.3)建立Java類--------------
3)注釋:解釋性文
3.1)單行注釋://
3.2)多行注釋:/* */
3.3)文檔注釋:/** */

 

 

 

變數:存數的,代詞,指代它所存的那個數
1)聲明:
int a; //聲明一個整型的變數,名為a
int b,c,d; //聲明三個整型的變數,名為b,c,d
2)初始化:第一次賦值
2.1)聲明同時初始化
int a = 100;
2.2)先聲明後初始化
int a;
a = 100;
3)使用:
3.1)對變數的使用就是對它所存的那個數的使用
int a = 5; //聲明整型變數a並賦值為5
int b = a+10; //取出a的值5,加10後,再賦值給整型變數b
System.out.println(b); //輸出變數b的值15
System.out.println("b"); //輸出b,雙引號中的原樣輸出
a = a+10; //取出a的值5,加10後,再賦值給a
//在a本身基礎之上增10
System.out.println(a); //輸出變數a的值15
3.2)變數的操作必須與資料類型匹配
int a = 3.14; //編譯錯誤,資料類型不匹配
3.3)變數在用之前必須聲明並初始化
System.out.println(m); //編譯錯誤,m未聲明
int m;
System.out.println(m); //編譯錯誤,m未初始化
4)命名:
4.1)只能包含字母、數字、_和$符,並且不能以數字開頭
4.2)嚴格區分大小寫
4.3)不能使用關鍵字
4.4)可以中文命名,但不建議
建議:"英文的見名知意"、"駝峰命名法"
2.基礎資料型別 (Elementary Data Type):
1)int:整型,4個位元組,-21個多億到21個多億
1.1)整數直接量預設為int型,但不能超範圍,超範圍則編譯錯誤
1.2)兩個整數相除,結果還是整數,小數位無條件捨棄
1.3)運算時超出範圍則發生溢出,溢出是需要避免的
2)long:長整型,8個位元組,很大很大很大
2.1)長整型的直接量,需在數字後加L或l
2.2)算術運算時若有可能溢出,建議在第1個數字加L
2.3)System.currentTimeMillis()用於擷取自
1970.1.1零時到此時此刻的毫秒數
3)double:浮點型,8個位元組,很大很大很大
3.1)浮點型直接量預設為double型,表示float時需在數字後加f或F
3.2)浮點型資料參與運算時,有可能會出現舍入誤差
4)boolean:布爾型,1個位元組
4.1)只能裝true和false
5)char:字元型,2個位元組
5.1)採用Unicode字元集編碼,每個字元都有一個對應的碼
表現形式為字元char,但實質上是碼int(0到65535之間)
(ASCII碼: ‘a‘--97 ‘A‘--65 ‘0‘--48 )
5.2)字元直接量必須放在單引號中,有且僅有一個
5.3)特殊符號需要通過\來轉義
3.基礎資料型別 (Elementary Data Type)間的轉換:
資料類型從小到大依次為:
byte,short,int,long,float,double
char,
1)兩種方式:
1.1)自動類型轉換:小類型到大類型
1.2)強制類型轉換:大類型到小類型
(要轉換成為的資料類型)變數
強轉有可能會溢出或精度丟失
2)兩點規則:
2.1)整數直接量可以直接賦值給byte,short,char,
但不能超出範圍
2.2)byte,short,char型資料參與運算時,
先一律轉換為int再運算
4.Scanner的用法:
1)在package下:
import java.util.Scanner;
2)在main()方法中:
Scanner scan = new Scanner(System.in);
3)在第2步之下:
System.out.println("請輸入年齡:");
int age = scan.nextInt();
System.out.println("請輸入價格:");
double price = scan.nextDouble();

 

 

 

 

 

 

運算子:
1)算術運算子:+-*/%,++,--
2)關係運算子:>,<,>=,<=,==,!= boolean
3)邏輯運算子:&&,||,! boolean
4)賦值運算子:=,+=,-=,*=,/=,%=
5)字串串連運算子:+
6)條件/三目運算子: boolean?數1:數2
2.分支結構:有條件的執行某語句
1)if:1條路
2)if...else:2條路


筆記:
1.分支結構:
1)if結構:1條路
2)if...else結構:2條路
3)if...else if結構:多條路
4)switch...case結構:多條路
優點:效率高、結構清晰
缺點:整數、相等
break:跳出switch
2.迴圈:
1)反覆執行一段相同或相似的代碼
2)迴圈三要素:
2.1)迴圈變數的初始化
2.2)迴圈的條件(以迴圈變數為基礎)
2.3)迴圈變數的改變(向著迴圈的結束變)
迴圈變數:在整個迴圈過程中所反覆改變的那個數
3)迴圈結構:
3.1)while:先判斷後執行,有可能一次都不執行
3.2)do...while:先執行後判斷,至少執行一次
要素1與要素3相同時,首選do...while

 

 

迴圈結構:
1)while:
2)do...while:
3)for:固定次數迴圈
2.break:跳出迴圈
continue:跳過迴圈體中剩餘語句而進入下一次迴圈
3.三種迴圈結構的更佳適用情況:
1)while:"當..."
2)do...while:"直到..."
要素1與要素3相同時,首選do...while
3)for:固定次數,應用率最高
4.嵌套迴圈:
1)迴圈中套迴圈,一般多行多列時使用,外層控制行,內層控制列
2)執行規則:外層迴圈走一次,內層迴圈走所有次
3)建議:迴圈層次越少越好,能用一層就不用兩層,能用兩層就不用三層
若你的需求必須得通過三層以上的迴圈才能解決,說明設計有問題
4)break只能跳出一層迴圈
6.程式=演算法+資料結構
1)演算法:解決問題的流程/步驟(順序、分支、迴圈)
2)資料結構:將資料按照某種特定的結構來儲存
設計合理的/良好的資料結構會導致好的演算法
7.數組:
1)相同資料類型元素的集合
2)數組是一種資料類型(參考型別)
3)數組的定義:
int[] arr = new int[10];
4)數組的初始化:
int[] arr = new int[3]; //0,0,0
int[] arr = {2,5,8}; //2,5,8
int[] arr = new int[]{2,5,8}; //2,5,8
int[] arr;
arr = {2,5,8}; //編譯錯誤
arr = new int[]{2,5,8}; //正確
5)數組的訪問:
5.1)通過(數組名.length)可以擷取數組的長度
int[] arr = new int[3];
System.out.println(arr.length); //3
5.2)通過下標/索引來訪問數組中的元素
下標從0開始,最大到(數組的長度-1)
int[] arr = new int[3];
arr[0] = 100; //給arr中的第1個元素賦值為100
arr[1] = 200; //給arr中的第2個元素賦值為200
arr[2] = 300; //給arr中的第3個元素賦值為300
//arr[3] = 400; //數組下標越界異常
System.out.println(arr[arr.length-1]); //輸出arr中最後一個元素的值
6)數組的遍曆:
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){
arr[i] = 100;
}
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
for(int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}

 

 

 

 

數組:
7)數組的複製:
7.1)System.arraycopy(a,1,a1,0,4); //靈活性好、效率高
7.2)int[] a1 = Arrays.copyOf(a,6); //靈活性差、效率低
a = Arrays.copyOf(a,a.length+1); //特殊用途(數組的擴容)
8)數組的排序:
8.1)Arrays.sort(arr); //升序排列
8.2)冒泡排序:---------------常見面試題
8.2.1)五個數冒四輪
8.2.2)每一輪都是從第1個元素開始冒
每一次都是和它的下一個元素比
8.2.3)冒出來的就不帶它玩了
2.方法:函數、過程
1)用於封裝一段特定的商務邏輯功能
2)儘可能的獨立,一個方法只幹一件事
3)方法可以被反覆多次調用
4)減少代碼重複、便於代碼的維護、有利於團隊的協作
3.方法的定義:
修飾詞 傳回值類型 方法名(參數列表){
方法體
}
4.方法的調用:
1)無傳回值: 方法名(有參傳參);
2)有傳回值: 資料類型 變數 = 方法名(有參傳參);
5.return的用法:
1)return 值; //1.1)結束方法的執行 1.2)返回結果給調用方
-------------------寫在有傳回值的方法中
2)return; //2.1)結束方法的執行
-------------------寫在無傳回值的方法中

 

java運行環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.