log4j2在mybatis下使用,以及log4j2配置檔案詳解
01、java入門
01、Java特性和優勢
簡單性、面向物件、可移植性、高效能、分散式、動態性、多執行緒、安全性、健壯性
02、java三大版本
JavaSE:標準版(桌面程式,控制檯開發...)
JavaME:嵌入式開發(手機,小家電…)
JavaEE:企業級開發(web端,伺服器開發...)
03、JDK、JRE、JVM
JDK: Java development kit
java開發者工具
JRE: Java Runtime environment
java執行時環境
JVM: Java Virtual machine
java虛擬機器
04、java開發環境搭建
JDK下載與安裝
配置環境變數
JDK目錄介紹
Helloworld及簡單語法規則
Notepad++安裝和使用
05、hello world編譯
- 建立一個資料夾,存放程式碼
- 新建一個java檔案
-
編寫程式碼
public class Hello{ public static void main(String[] args){ System.out.print("Hello World!"); } }
- 編譯javac java檔案,會生成一個class檔案
- 執行class檔案,java class檔案
可能遇到的問題
- 每個單詞的大小不能出現問題,java是大小寫敏感。
- 儘量使用英文。
- 檔名和類名必須保證一致,並且首字母大寫。
- 符號使用了中文。
06、編譯型和解釋型
程式執行機制
07、IDEA安裝
什麼是IDE
整合開發環境(IDE,Integrated Development Environment )是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具。
IDEA介紹
lntelliJ IDEA(簡稱 IDEA),是 Java 語言開發的整合環境,IDEA 在業界被公認為最好的 Java 開發工具之一,尤其在智慧程式碼助手、程式碼自動提示、重構、J2EE 支援、各類版本工具(Git、SVN、GitHub 等)、JUnit、CVS 整合、程式碼分析和創新的 GUI 設計等方面的功能都值得稱道。
IDEA官網https://www.jetbrains.com/
02、JAVA基礎
01、註釋
java中註釋有三種:
單行註釋(快捷鍵:)
//單行註釋
多行註釋(快捷鍵:)
/* 多行註釋 */
文件註釋(快捷鍵:)
/**
*文件註釋
*文件註釋
*/
02、識別符號和關鍵詞
關鍵詞
Java所有組成的部分都需要名字、類名、變數名以及方法名都被稱為識別符號
識別符號注意點
1、所有的識別符號都應該以字母(A-z或者a-z),美元符($$)、或者下劃線()開頭
2、首字元之後可以是字母(AZ或者a-z),美元符($)、下劃線()或數字的任何字元組合
3、不能使用關鍵字作為變數名或方法名
4、識別符號是大小寫敏感的
5、合法識別符號舉例:age、$salary、value、__1_value
6、非法識別符號舉例:123abc、-salary、#abc
public static void main(String[] args){
String 王者榮耀 = "最強王者";
System.out.println(王者榮耀);
}
7、可以使用中文命名,但是一般不建議這樣去使用,也不建議使用拼音,很Low
03、資料型別講解
強型別語言
要求變數的使用要求嚴格符合規定,所有變數都必須先定義後才能使用
弱型別語言
????
java的資料型別分為兩大類
基本型別(primitive type)
public class Demo01 {
public static void main(String[] args) {
//八大基本資料型別
//整數
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //Long型別要在數字後面加個L
//小數、浮點數
float num5 = 50.1F; //Lfloat型別要在數字後面加一個F
double num6 = 3.1415926535;
//字元
char name = 'A';
//字串,String不是關鍵字。類
String names = "青江";
//布林值
boolean flag = true;
//boolean flag = false;
}
}
引用型別(reference type)
面試題:(多看!)
public class Demo02 {
public static void main(String[] args) {
//整數拓展: 進位制 二進位制0b 十進位制 八進位制0 十六進位制0x
int i = 10;
int i2 = 010; //八進位制
int i3 = 0x10; //十六進位制 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//=====================================================================================
//浮點數拓展
//=====================================================================================
//float 有限 離散 舍入誤差 大約 接近但不等於
//double
//最好完成使用浮點數進行比較
//最好完成使用浮點數進行比較
//最好完成使用浮點數進行比較
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d);//false
float d1 = 23131312131231f;
float d2 = d1+1;
System.out.println(d1==d2);//true
//=====================================================================================
//字元拓展
//=====================================================================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//強制轉換
System.out.println(c2);
System.out.println((int)c2);//強制轉換
//所有的字元本質還是數字
//編碼 Unicode 2位元組 0~65536(2的16次方)
char c3 = '\u0061';
System.out.println(c3);
//=====================================================================================
//轉義字元
//=====================================================================================
// \t 製表符
// \n 換行
System.out.println("Hello\tWord");
//=====================================================================================
//布林值擴充套件
//=====================================================================================
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
}
}
## 04、型別轉換
由於java是強型別語言,所以要進行有些運算的時候,要用到型別轉換。
![](D:\Program Files\Typora\leanote:\file\getImage?fileId=616ff5c1b6d7a15d7f000000)
運算中,不同型別的資料型別先轉化為同一型別,然後再進行運算在java程式碼中分為強制型別轉換和自動型別轉換
public class Demo03 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //記憶體溢位
System.out.println(i);
System.out.println(b);
//強制轉換 (型別)變數名 高--低
int j = 128;
double k = j; //記憶體溢位
//自動轉換 低--高
System.out.println(j);
System.out.println(k);
/*
注意點:
1、不能布林值進行轉換
2、不能把物件型別轉換為不相干的型別
3、在把高容量轉換到低容量的時候,強轉換
4、轉換的時候可能存在記憶體溢位,或出現精度問題
*/
System.out.println("==================================================");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("==================================================");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
}
}
public class Demo04 {
public static void main(String[] args) {
//操作比較大的數的時候,注意溢位問題
//JDK7新特性,數字之間可以用下劃線分割
int money = 10_0000_0000;
int years = 20 ;
int total = money*years;//-1474836480,計算的時候溢位了
long total2 = money*years;//預設是int,轉換之前已經存在問題了
long total3 = money*((long)years);//先把一個數轉換為Long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}