java基礎內容總結

快考試,總結下,自己前五章的內容吧,重點是自己沒掌握的,和集中一下以前博客記載的七零八落的知識點。

這次立下誓言,真的持續更新,不然就是小狗。。

第一章---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點這裏

main函數的解析

代碼塊

java繼承

super關鍵字

final關鍵字

抽象類

接口

單例設計模式(也就這有點蒙) 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++期中考試先複習。。

 

 

 

 

 

 

 

 

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