這是一個簡單的筆記 java
涉及到常量、變量;流程控制語句、數組;類與對象、封裝、構造方法;Scanner類、Random類、Arraylist類;數組
一、pubic class static void
二、標識符應用場景L:類的名字、方法的名字、變量的名字
標識符包含的內容:數字、字母、下劃線、美圓符號、
不能以數字開頭
標識符不能是關鍵字
命名規範
類名 首字母大寫,後面每一個單詞首字母大寫(大駝峯式)
方法名:首字母小寫,後面每一個單詞首字母大寫(小駝峯式)
變量名:所有小寫
三、基本數據類型:byte short int long double float char boolen
引用類型:類、數組、接口
變量名稱:在同一個大括號內,變量名字不能夠相同
變量賦值:定義的變量,不賦值不能使用
變量類型轉換,調用的是ASC編碼
四、方法
方法必須定義在一個類中方法外
方法不能定義在另一個方法裏面
五、流程控制語句
5.1.1 判斷語句--if
if(關係式){
語句體;
}
5.1.2 判斷語句--if。。。else
if(關係式){
//知足
語句體1;
} else{
//不知足
語句體2;
}
5.1.3 判斷語句 --if。。。else if。。。else
if (判斷條件1){
執行語句1;
}else if (判斷條件2){
執行語句2;
} else if (判斷條件n){
執行語句n;
} else {
執行語句n+1;
}
5.2 選擇語句
switch (表達式){
case 常量1:
語句體1;
break;
case 常量2 ;
語句體2;
break;
...
default :
語句體n+1;
break;
}
首先計算出表達式的值 其次,和case依次比較,
一旦有對應的值,就會執行相應的語句,在執行的過程當中,遇到break就會結束。
最後,若是全部的case都和表達式的值不匹配,就會執行default語句體部分,而後程序結束掉
在switch語句中,若是case的後面不寫break,將出現穿透現象,也就是不會在判斷下一個case的值,直接向後運 行,直到遇到break,
或者總體switch結束
5.3循環
5.3.1循環語句 --for
for (初始化表達式;布爾表達式;步進表達式){
循環體
}
練習:使用循環求100之內的偶數和
5.3.2 --while
初始化表達式;
while (布爾表達式){
循環體;
步進表達式;
}
練習:while循環輸出10次hello world
5.3.4 --do while循環
初始化表達式;
do{
循環體;
步進表達式;
} while(布爾表達式);
循環語句的區別:
for 和 while 的區別
控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還能夠繼 續使用,
若是你想繼續使用,就用while,不然推薦使用for。緣由是for循環結束,該變量就從內存中消 失,可以提升內存的使用效率。
在已知循環次數的時候使用推薦使用for,循環次數未知的時推薦使用while
5.4 跳轉語句
5.4.1 break語句
使用場景:終止switch或者終止
5.4.2 continue
使用場景:結束本次循環,繼續下一次循環
六、調用方法三種形式
直接調用 、賦值調用、輸出語句調用
七、方法重載
指在同一個類中,容許存在一個以上的同名方法,只要他們的
參數列表不一樣便可,與修飾符和返回類型無關
參數列表:個數不一樣、數據類型不一樣、順序不一樣
8 、數組
8.1數組的定義
方式1 int[] arr = new int[3]//數組的長度一旦指定,就不能改變
方式2 int[] arr = new int []{1,2,3,4,}
方式3 int[] arr = {1,2,3,4}
8.2數組的常見操做
一、數組越界異常:在開發中,數組越界異常是不能出現的,一旦出現了,就必須修改咱們的編碼
二、數組空指針異常:同上
三、數組的遍歷:
public static void mian(...) {
int[] arr = new {1,2,3,4,5};
for (int i =0;i < arr.lenegth;i++){
syso(arr[i]);
}
}
四、數組獲取最大值元素
實現思路:
定義變量,保存數組0索引上的元素
遍歷數組,獲取出數組中的每一個元素
將遍歷到的元素和保存數組0索引上值的變量進行比較
若是數組元素的值大於了變量的值,變量記錄住新的值
數組循環遍歷結束,變量保存的就是數組中的最大值
psvm{
int[] arr = new {5,13,15,200,3300};
//定義變量,保存數組0索引上的元素
int max = arr [0];
//遍歷數組,獲取出數組中的每一個元素
for (int i=0;i<arr.length;i++){
//遍歷到的元素和變量比較
//若是數組大於max
if (arr[i]>max){
max =arr[i];
}
}
syso ("數組的最大值爲"+max);
}
五、數組的反轉
數組的反轉: 數組中的元素顛倒順序,例如原始數組爲1,2,3,4,5,反轉後的數組爲5,4,3,2,1
實現思想:數組最遠端的元素互換位置。
實現反轉,就須要將數組最遠端元素位置交換
定義兩個變量,保存數組的最小索引和最大索引
兩個索引上的元素交換位置
最小索引++,最大索引--,再次交換位置 最小索引超過了最大索引,數組反轉操做結
練習
public static void main(String[] args){
int[] arr = {1,2,3,4,5};
/*
循環中定義變量min=0最小索引
max=arr.length-1最大索引
min--,max ++;
*/
for (int min =0,max = length-1;min < max ;min --,max ++){
//利用第三方變量完成數組中元素交換
int tepm =arr[min];
arr[min]=arr[max];
arr[max ]=temp;
}
//反轉後,遍歷數組
for(int i=0;i<arr.length-1;i++){
System.out.println(arr[i]);
}
}
第四章 數組做爲方法參數和返回值 4.1 數組做爲方法參數
之前的方法中咱們學習了方法的參數和返回值,可是使用的都是基本數據類型。那麼做爲引用類型的數組可否做爲 方法的參數進行傳遞呢,固然是能夠的。
數組做爲方法參數傳遞,傳遞的參數是數組內存的地址。
數組能夠做爲方法參數、數組能夠做爲返回類型
方法的參數類型區別
方法的參數爲基本類型時,傳遞的是數據值,方法的參數爲引用類型時,傳遞的是地址
應深刻理解對象內存圖 章節、類與對象
在類中的位置不一樣 重點
成員變量:類中,方法外
局部變量:方法中或者方法聲明上(形式參數)
做用範圍不同 重點
成員變量:類中
局部變量:方法中
初始化值的不一樣 重點
成員變量:有默認值
局部變量:沒有默認值。必須先定義,賦值,最後使用
在內存中的位置不一樣 瞭解
成員變量:堆內存
局部變量:棧內存
生命週期不一樣 瞭解
成員變量:隨着對象的建立而存在,隨着對象的消失而消失
局部變量:隨着方法的調用而存在,隨着方法的調用完畢而消失
Scanner 類與random類
system.in 表示鍵盤錄入的數據
.nextInt表示錄入的整數
練習:
鍵盤錄入三個數據並獲取最大值,代碼以下:
import Scanner
public class TestScanner{
psvm {
//建立對象
Scanner sc = new Scanner(system.in );
//接收數據
System.out.println("請輸入第一個數據:");
int a = sc.nextInt();
System.out.println("請輸入第二個數據:");
int b = sc.nextInt();
System.out.println("請輸入第三個數據:");
int c = sc.nextInt();
//獲取三個數據的最大值
int temp = (a>b?a:b);
int max =(temp>c?temp :c);
syso("max :"+max );
}
}
random 類
練習 遊戲開始時,會隨機生成一個1-100之間的整數 number 。
玩家猜想一個數字 guessNumber ,會與 number 做比 較,
系統提示大了或者小了,直到玩家猜中,遊戲結束
//導包
import java.util.Random;
public class Test02Random {
public static void main(String[] args) {
// 系統產生一個隨機數1‐100之間的。
Random r = new Random();
int number = r.nextInt(100) + 1;
while(true){
// 鍵盤錄入咱們要猜的數據
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你要猜的數字(1‐100):");
int guessNumber = sc.nextInt();
// 比較這兩個數據(用if語句)
if (guessNumber > number) {
System.out.println("你猜的數據" + guessNumber + "大了");
} else if (guessNumber < number) {
System.out.println("你猜的數據" + guessNumber + "小了");
} else {
System.out.println("恭喜你,猜中了");
break;
}
}
}
ArryList
經常使用方法和遍歷
對於元素的操做,基本體如今——增、刪、查。經常使用的方法有:
public boolean add(E e) :將指定的元素添加到此集合的尾部。
public E remove(int index) :移除此集合中指定位置上的元素。返回被刪除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回獲取的元素。
public int size() :返回此集合中的元素數。遍歷集合時,能夠控制索引範圍,防止越界
ArrayList對象不能存儲基本類型,只能存儲引用類型的數據。
相似 <int> 不能寫,可是存儲基本數據類型對應的包裝類型是能夠的。
因此,想要存儲基本類型數據, <> 中的數據類型,必須轉換後才能編寫
練習:
生成6個1~33之間的隨機整數,添加到集合,並遍歷
public class Test01ArrayList {
public static void main(String[] args) {
//建立Random對象
Random random = new Random();
//建立Arrylist對象
ArrayList<Integer> list = new ArrayList<>();
//獲取隨機整數添加到集合
for (int i= 0;i<6;i++){
int r = random.nextInt(33)+1;
list.add(r);
}
//遍歷籍集合輸出
for(int i= 0;i<list.size ;i++){
syso (list.get(i));
}
}
}
¥¥¥¥¥¥明天必定要回來看一下以前的筆記
################僞隨機數,數組 最後的一個綜合練習還沒作,明天必定要回來作作了
dom