1. 程式人生 > >Request的方法和數組

Request的方法和數組

array 發送 類型 檢查 col 和數 span req 數組定義

req.getHeader("referer")

[取得發送請求頁面對應的瀏覽器地址欄信息,可以使用這種方法實現防盜鏈等操作]

String name=new String(request.getparameter("username").getbytes("GBK"),"utf-8");

system.out.println("解決中亂碼":+name);

數組
1.數組的概念:數組屬於引用類型,數組的本質就是一個容器,存放一組相同數據類型變量的數據容器
2.數組的格式:數據類型[ ] 數組名; java
數據類型 數組名[ ]; C語言

特點:1.數組的本質就是一個引用類型的變量,既然是變量就必須滿足先聲明在賦值再使用
2.數組的初始化:a.聲明 b.賦值 c.使用
3.數組的內存分配
數據類型[ ]數組名=new 數據類型 [長度];
4.訪問數組的元素
arr[下標/索引]
java.lang.nullpointerexception
異常名稱:空指針異常
產生原因:對象沒有new就訪問了對象的成員
解決辦法:new
java.lang.arrayindexoutofboundsexception
異常名稱:數組越界
產生原因:訪問了不在數組定義範圍內的索引
解決辦法:檢查索引是否超出了數組定義的範圍
3.數組的初始化:
靜態初始化:數據類型[ ]數組名=new 數據類型[ ]{元素1,元素2,元素3.....}; 用作匿名對象
數據類型[ ]數組名={元素1,元素2,元素3.....}; 用作初始化
動態初始化:數據類型[ ]數組名=new 數據類型[長度];
二者區別:靜態初始化在初始化的同時會給每一個元素賦值,不需要指定數組的長度,
不需要指定數組的長度,系統會自動根據元素的個數去動態計算數組的長度。
動態初始化在初始化的同時由系統分配默認值,但是必須指定數組的長度
4.值傳遞和引用傳遞
1.值傳遞的本質傳遞的是數值本身,引用傳遞的本質傳遞的是地址
2.如果傳遞的是地址,那麽通過地址改變了堆區空間的數值,將會影響到所有指向該堆區的引用
5.數組的查找
基本查找:針對所有的數組都可以
二分法查找:針對有序的數組效率可以提高非常多
6.數組的排序
八大排序算法:冒泡 選擇 插入 快速 希爾 堆 歸並 基數
冒泡 規律:1.相鄰兩個數進行比較,大的數冒泡,交換兩個數的位置
2.一共比較了arr.length-1趟
3.每一趟比上一躺少比較一次
選擇 規律:1.每一趟初始比較的位置是上一躺位置+1
2.前面的元素依次和後面每一個元素進行比較,小的往前放
foreach遍歷數組
集合和數組專屬遍歷方式,底層還是使用普通for遍歷
格式:
for(數據類型 變量名:數組名/集合名){
}
普通for和foreach的區別:
1.簡化了遍歷 2.沒有索引
7.為什麽需要可變參數?
針對參數類型相同但是參數的個數不同的情況下非常方便
可變參數:是一種形參類型
格式:數據類型...參數名
註意事項:1.可變參數的本質是數組
2.可變參數的...可以放在參數類型和變量名中間的任意位置
3.可變參數必須出現在參數列表的最後面

Request的方法和數組