1.Java開發環境,2.eclipse,1.變量:存數的,代詞,指代的就是它所存的那個數,1. 數組(包括一維數組,二維數組,多維數組)

1.Java開發環境:

1)java編譯運行過程:------------常見面試題
1.1)編譯期:.java源文件,經過編譯,生成.class字節碼文件
1.2)運行期:JVM加載.class並運行.class
特點:跨平臺、一次編程到處使用
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)文檔註釋:/
* */------------API時講

1.變量:存數的,代詞,指代的就是它所存的那個數

1)聲明:
int a; //聲明一個整型的變量,名爲a
int b,c,d; //聲明三個整型的變量,名爲b,c,d
2)初始化:第一次賦值
int a = 250; //聲明整型變量a並賦值爲250
int a; //聲明整型變量a
a = 250; //給變量a賦值爲250
a = 360; //修改變量a的值爲360
3)使用:
3.1)對變量的操作就是對它所存的那個數的操作
int 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); //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.基本數據類型(byte,short,int,long,float,double,char,boolear)
* btye (1個字節, )
* short (2個字節, )
* int 整型(4個字節, 範圍是-21個多億到21個多億)

  • long 長整型(8個字節, 範圍是很大)
  • float (4個字節, 有效數字長度最長爲7位,有效數字長度包括了整數和小數)
  • double 浮點型(8個字節, 有效數字最長爲15位,和float一樣)
  • char 字符型(2個字節, 範圍是)
  • boolean 布爾型(1個字節, 範圍是)
    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)double與float在運算時,有可能會出現舍入誤差,精確運算場合不能使用
    4)boolean:布爾型,1個字節
    4.1)只能賦值爲true或false
    5)char:字符型,2個字節
    5.1)採用Unicode字符集編碼,一個字符對應一個碼
    表現的形式是字符char,但本質上是碼int(0到65535之間)
    (‘a’–97 ‘A’–65 ‘0’–48)
    5.2)字符型直接量需放在單引號中,並且只能有一個
    5.3)特殊符號需通過\來轉義
    3.基本類型間的轉換:
    基本類型從小到大依次爲:
    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.運算符:
    1)算術:+,-,,/,%,++,–
    2)關係:>,<,>=,<=,==,!= boolean
    3)邏輯:&&,||,! boolean
    4)賦值:=,+=,-=,
    =,/=,%=
    5)字符串連接運算符:+
    6)條件/三目運算符: boolean?數1:數2

1.分支結構:
3)if…else if結構:多條路
4)switch…case結構:多條路
優點:效率高、結構清晰
缺點:整數、相等
break:跳出switch
2.循環:反覆多次執行一段相同或相似的代碼
3.循環三要素:
1)循環變量的初始化
2)循環的條件(以循環變量爲基礎)
3)循環變量的改變(向着循環的結束變)
循環變量:在整個循環過程中所反覆改變的那個數
4.循環結構:
1)while:先判斷後執行,有可能一次都不執行
2)do…while:先執行後判斷,至少執行一次
要素1與要素3相同時,首選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跳出一層循環
5.程序=算法+數據結構-------------瞭解
1)算法:解決問題的流程/步驟(順序、分支、循環)
2)數據結構:將數據按照某種特定的結構來保存數怎麼存
設計合理的/良好的數據結構會導致好的算法

1. 數組(包括一維數組,二維數組,多維數組)

1.1) 一維數組
1).數組:
 是一種數據類型(引用類型)
 相同數據類型元素的集合
 數組的定義:int[] arr = new int[10];
2)數組的初始化:
 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}; //正確
3)數組的訪問:
 通過(數組名.length)可以獲取數組的長度(元素的個數)
 int[] arr = new int[3];
 System.out.println(arr.length); //3
 通過下標/索引來訪問數組中的元素下標從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]); //輸出最後一個元素的值
4)數組的遍歷:
 int[] arr = new int[10];
 for(int i=0;i<arr.length;i++){
 arr[i] = (int)(Math.random()*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]);
 }
特殊遍歷法: System.out.println(Arrays.toString(數組名));
5)數組的複製:
 System.arraycopy(a,1,a1,0,4);數組的複製
 int[] a1 ={10,20,30,40,52};
 int[] a2 = new int[6];
 System.out.println(“數組a1:”+Arrays.toString(a1));
 System.arraycopy(a1, 0, a2, 1, a2.length-1);
 System.out.println(“數組a2:”+Arrays.toString(a2));
 Arrays.copyOf(a,a.length+1); //數組的擴容
 int[] b = {10,20,30,40,50};
 b = Arrays.copyOf(b,b.length+1);//數組的擴容
 System.out.println(“數組b:”+Arrays.toString(b));
6)數組的排序:
 Arrays.sort(arr); //升序
 冒泡排序:
 五個數冒四輪
 每一輪都從第1個元素開始冒, 每一次都是和它的下一個元素比
 冒出來的就不帶它玩了
1.2) 二位數組
 定義格式:
 數據類型[][] 數組名 = new 數據類型[二維數組的長度/包含的一維數組的個數][每個一維數組的長度];
 int[][] arr = new int[3][5];—定義了一個整型的二維數組,其中包含3個一維數組,每個一維數組可以存儲5個整數
 數組遍歷:—倆重for循環
 for(int i = 0; i < arr.length; i++){ //遍歷二維數組,遍歷出來的每一個元素是一個一維數組
 for(int j = 0; j < arr[i].length; j++){ //遍歷對應位置上的一維數組
 System.out.println(arr[i][j]);
 }
 }
 二維數組的長度:數組名.length —每個一維數組:數組名[下標].length
2.方法:
1)封裝一段特定的業務邏輯功能實現
2)儘可能的獨立,一個方法只幹一件事
3)可以被反覆調用多次
4)可以減少代碼重複,有利於代碼維護,有利於團隊的協作
3.方法的定義:
修飾詞 返回值類型 方法名(參數列表){
方法體
}
Public Static int ordZ(int num){
}
4.方法的調用:
1)無返回值: 方法名(有參傳參);
2)有返回值: 數據類型 變量 = 方法名(有參傳參);
5.return:
1)return 值; // 1.1)結束方法的執行 1.2)返回結果給調用方
2)return; //2.1)結束方法的執行
猜字符小遊戲:
3.設計算法:方法體
Scanner scan = new Scanner(System.in);
String str = “abc”;
1)將字符串轉換爲字符數組:
char[] input = str.toCharArray();
2)將字符串轉換爲大寫字母:
str = scan.toUpperCase();
將字符串轉換爲小寫字母:
str = scan toLowerCase();
3)判斷字符串內容是否相等:
if(str.equals(“EXIT”)){ }
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章