快捷鍵:
Ctrl + Shift + ESC : 工作管理員
解除安裝JDK
1.刪除java的安裝目錄
2.刪除JAVA_HOME
3.刪除path下關於java的目錄
4.java -version
安裝JDK
1.baidu搜尋JDK8,找到下載地址
2.同意協議
3.下載電腦對應的版本
4.雙擊安裝
5.記住安裝的路徑
6.配置環境變數
1.新增JAVA_HOME環境變數
2.配置path變數
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
7.測試JDK是否安裝成功
1.開啟cmd
2.執行java -version
HelloWorld
1.隨便新建一個資料夾,存放程式碼
2.新建一個java檔案
- 檔案字尾名為.java
- Hello.java
- 【注意點】系統沒顯示檔案字尾名,需要手動開啟
3.編寫程式碼
Hello.java
public class Hello {
public static void main(String[] args) {
System.out.print("Hello,World");
}
}
4.編譯javac java檔案,會生成一個class檔案
5.執行class檔案,java 檔名
注意
1.每個單詞的大小寫不能出現問題,java大小寫敏感。
2.儘量使用英文。
3.檔名和類名必須保持一致,並且首字母大寫。
4.符號也不能使用中文的。
java程式執行機制
-
編譯型
-
解釋型
-
程式執行機制
IDEA安裝
整合開發環境
https://www.jetbrains.com/ja-jp/
JetBrains 是捷克的一個公司。
快捷鍵:
psvm:public static void main(String[] args) {
sout:System.out.println();
IDEA最佳化
搜尋:IDEA最佳化
可以找到很多文章。
工欲善其事必先利其器。
註釋
java中註釋有三種:
- 單行註釋 //
- 多行註釋 /* 多行註釋 */
- 文件註釋 /** 文件註釋 */
有趣的程式碼註釋
網上去搜尋就能找到!
資料型別
java是一種強型別語言。
所有變數必須先定義再使用。
//整數
int num1=10;
byte num2=20;
short num3 = 30;
long num4=40L; //Long型別要在數字後面加個L
//小數:浮點數
float num5 = 50.1F; //float型別要在數字後面加個F
double num6=3.1415966;
//字元
char name = 'A';
//字串,String不是關鍵字,類
String name2 = "阿凡提";
資料型別擴充套件
整數擴充套件:
進位制 二進位制0b 十進位制 八進位制0 十六進位制0x
//整數擴充套件
//進位制 二進位制0b 十進位制 八進位制0 十六進位制0x
int i1=10;
int i2=010; //八進位制0
int i3=0x10;//十六進位制0x
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
浮點數擴充
float 有限 舍入誤差 接近但不等於
//最後完全使用浮點數進行比較
//________________________________
//浮點數擴充? 銀行業務怎麼表示?錢
//BigDecimal 數學工具類
//________________________________
//float
//double
float f = 0.1f; //0.1
double d = 1.0 / 10; //0.1
System.out.println(f == d); //false
System.out.println(f);
System.out.println(d);
float d1=23213131111111111111111111f;
float d2=d1+1;
System.out.println("d1=d1?" + (d1 == d2)); //true
字元擴充
所有的字元本質還是數字。
//________________________________
//字元擴充?
//________________________________
System.out.println("============");
char c1 = 'a';
char c2 = '中';
System.out.println(c1); //a
System.out.println((int)c1);//強制轉換 97
System.out.println(c2); //中
System.out.println((int)c2);//強制轉換 20013
//所有的字元本質還是數字。
//編碼 Unicode表:(97=a 65=A)2位元組 0~65536 Excle 2^16= 65536
// U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3); //a
跳脫字元
// \t 製表符
// \n 換行
// ......
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
物件 從記憶體分析
System.out.println("==================");
String sa = new String("hellow world");
String sb = new String("hellow world");
System.out.println(sa==sb); //false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //true
//物件 從記憶體分析
布林值擴充套件
//布林值擴充套件
boolean flag =true;
if (flag==true) { } //新手
if (flag) { } //老手
// Less is more! 程式碼要精簡易讀
型別轉換
//強制轉換 (型別)變數名 高 → 低
//自動轉換 低 → 高
注意:轉化的時候可能存在記憶體溢位,或者精度問題!
public class Demo02 {
public static void main(String[] args) {
int i = 128;
byte b=(byte)i; // 記憶體溢位
double b2 = i;
//強制轉換 (型別)變數名 高 → 低
//自動轉換 低 → 高
System.out.println(i);
System.out.println(b); //-128
System.out.println(b2);
/*
注意點:
1.不能對布林值進行轉換
2.不能把物件型別轉化為不相干的型別
3.把高容量轉化為低容量的時候,強制轉換
4.轉化的時候可能存在記憶體溢位,或者精度問題!
*/
System.out.println("======================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
System.out.println("======================");
char c = 'a';
int d = c + 1;
System.out.println(d); //98
System.out.println((char) d); //b
System.out.println("======================");
//常見的問題
//操作表達的數的時候,注意溢位問題
//JDK7新特性,數字之間可以用下劃線分割
//int money= 1000000000;
int money= 10_0000_0000;
int years = 20;
int total = money * years;//-1474836480 計算的時候溢位了
long total2 = money * years;//-1474836480 預設是int,轉換之前已經存在問題了
long total3 = money * ((long) years); //先把一個數轉換為long
long total4 = ((long) money) * years;
System.out.println(total); //-1474836480
System.out.println(total2); //-1474836480
System.out.println(total3); //20000000000
System.out.println(total4); //20000000000
}
}
變數,常量(final), 作用域
變數型別有:區域性變數,例項變數,類變數(static)。
修飾符,不存在先後順序
注意:
1.所有變數,方法,類名:見名知意
2.變數(類成員變數,區域性變數):首字母小寫和駝峰原則
eg:monthSalary
3.常量:大寫字母和下劃線:MAX_VALUE
4.類名:首字母大寫和駝峰原則
5.方法名:首字母小寫和駝峰原則
public class Demo04 {
//屬性:變數 static
static double salary = 2500;
//修飾符,不存在先後順序
static final double PI = 3.14;
//例項變數:從屬於物件;如果不自行初始化,這個型別的預設值 0 0.0
//布林型:預設是false
//除了基本型別,其餘的預設值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//區域性變數:必須宣告和初始化值
int i=10;
System.out.println(i);
//變數型別 變數名字= new Demo04();
Demo04 demo04=new Demo04();
System.out.println(demo04.name);
System.out.println(demo04.age);
//類變數 static
System.out.println(salary);
System.out.println(PI);
}
//其他方法
public void add() {
}
}