快考試,總結下,自己前五章的內容吧,重點是自己沒掌握的,和集中一下以前博客記載的七零八落的知識點。
這次立下誓言,真的持續更新,不然就是小狗。。。
第一章---Java的概述
JVM、JRE和JDK的區別?
環境變量path和classpath的作用是什麼?
JAVA語言的三種技術架構?
什麼是java跨平臺性?
GC是什麼? 爲什麼要有GC?
一個".java"源文件中是否可以包括多個類(不是內部類)?有什麼限制?
垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
雖然懂得會配環境變量和重要,但是這個java環境變量自動配置工具你也一樣值得擁有。
https://blog.csdn.net/weixin_44146025/article/details/102556011
第二章---Java的基本語法
第二章沒啥,主要知識點爲,條件語句,循環語句,和數組,和一些數據類型的理解,想簡單過一遍的話可以看一下菜鳥教程: 第一階段的內容·https://www.runoob.com/java/java-tutorial.html唯一費點腦的就是,最後是三個關於排序與查找算法的視頻,我試着把代碼再打一下。
插入排序,冒泡排序,二分搜索。
前面十大排序函數也沒有更新,都是懶惰惹得禍。。。
package 第一次考試複習;
public class 排序 {
public static void main(String[] args){
int[] arry = {1,4,2,5,3,6,9,8,7};
selectSort(arry);
System.out.println(" ");
beleetSort(arry);
System.out.println(" ");
int dex = halfSearch(arry, 5);
System.out.println("找到了5在第"+dex+"位");
}
//二分搜索
public static int halfSearch(int[ ] arry, int index){
int min = 0;
int max = arry.length-1;
int mid = (max + min) / 2;
while(index != mid)
{
if( index > arry[mid]){
min = mid + 1;
mid = (max + min) / 2;
}
if(index <arry[mid]){
max = min - 1;
mid = (max + min) / 2;
}
if(index == arry[mid]){
return mid;
}
}
return -1;
}
//選擇排序
public static void selectSort(int[ ] arry){
//這種簡單的排序,一般都是兩個循壞開始
for(int i =0;i<arry.length-1;i++){
for(int j = i+1; j<arry.length; j++){
if(arry[i] > arry[j]){
Swap(arry,i,j);
}
}
}
print(arry);
}
//冒泡排序
public static void beleetSort(int[] arry){
for(int i =arry.length-1 ; i >= 0; i--){
for(int j = 0; j < i; j++){//這裏要記住,j< i
if(arry[j] > arry[j+1]){
Swap(arry, j, j+1 );
}
}
}
print(arry);
}
//方便老寫
public static void Swap(int[] arry, int i ,int j){
int temp = arry[i];
arry[i] = arry[j];
arry[j] = temp;
}
//和上面寫的原因一樣
public static void print(int[] arry){
for(int i = 0;i<arry.length;i++){
System.out.println(arry[i]);
}
}
}
運行結果爲:
應該是成功了,ps:acm的算法要比這難得多得 多得多。。。
其中有些講得太淺了,這是一些補充:
Java運算符詳講就是這裏;
java的位運算在這裏講得也比較清楚;
https://blog.csdn.net/weixin_44146025/article/details/101397229
Java的輸入輸出這裏也簡單補充一下,都是些基礎的:
https://blog.csdn.net/weixin_44146025/article/details/101442991
Java中經典的四則運算這裏也試了一下:
https://blog.csdn.net/weixin_44146025/article/details/101538147
做習題,有些深奧點的關於JAVA 中 labeled break 語句的一部分:(現在也似懂非懂。估計不考)
https://blog.csdn.net/weixin_44146025/article/details/102494479
第三章---JAVA面向對象上
什麼是類,啥子又是對象呢?
https://blog.csdn.net/weixin_44146025/article/details/102555855
成員變量和局部變量有什麼區別?
成員變量和局部變量的區別:
1.位置不一樣:
成員變量:類中,方法外;局部變量:方法中,或者方法聲明上(形參)
2.在內存中的位置不一樣
成員變量:堆內存; 局部變量:棧內存
3.生命週期不一樣:
成員變量:隨着對象的 創建而存在,隨着對象的消失而消失。 局部變量:隨着方法的調用而存在,隨着方法的調用完畢而消失
4.初始化值得問題
成員變量:有默認值。String null, dobule 0.0 int 0。 局部變量: 沒有默認值,必須先定義,再賦值,然後纔可以使用
再一個就是Java的封裝和後面的this指針。
https://blog.csdn.net/weixin_44146025/article/details/101946523
其中還有個小的知識點
類名作爲方法的返回值,或者作爲形參。參考一般的就可以。
第四章- 面向對象中
這章反正好多好多關鍵字,知識點巨多,慢慢搞唄;
下面每個關鍵字都可以點哦。
java構造函數(比c++的簡單一點)
this關鍵字 (和後面的super比較着理解)
常用的幾個修飾符總結;default、private 、public、protected點這裏
單例設計模式(也就這有點蒙) and static關鍵字,子類實例化沒總結,看的是一朋友總結的,最後把鏈接放下面
需要的自取,但是看得點贊啊。
第五章---面對對象下
內部類;https://blog.csdn.net/weiii_/article/details/102532973
object類自己也就瞭解了一下
主要記住那幾個函數就行,明白,父類的“父類”是object類。
包裝類自己掌握的也不太好,見下面:
https://blog.csdn.net/weixin_44146025/article/details/102746575
最後給大家分享一個更加全的博客,總感覺這麼好的博客不分享有點藏私。
https://blog.csdn.net/weixin_43691058/article/details/97960755
目前掌握不太好的,爲單例設計模式,包裝類,匿名內部類,幾種變換形式,週五在搞,明天考c++期中考試先複習。。