Java基礎知識筆記(詳細)

集成開發環境

IDEA是一個專門針對Java的集成開發工具(IDE),由Java語言編寫。所以,需要有JRE運行環境並配置好環境變量。它可以極大地提升我們的開發效率。可以自動編譯,檢查錯誤。

創建項目

創建項目-創建模塊-創建包-創建類
(1)創建一個工程
在這裏插入圖片描述
(2)jdk版本我這裏是1.7的
在這裏插入圖片描述
(3)我命名爲java_Web
在這裏插入圖片描述
(4)創建一個Module
在這裏插入圖片描述
我命名爲day01
在這裏插入圖片描述
(5)創建包和類
在這裏插入圖片描述

編寫程序

Java第一個程序

package com.baidu.demo01;
public class Hello {
    public static void main(String[] args) {
        System.out.println("HelloWorld");
    }
}

在這裏插入圖片描述

運算符

1,算數運算符
+,-,*,/,%,++,–。

package com.baidu.yunsuanfu;
public class Demo {
    public static void main(String[] args) {
        int a=10;
        System.out.println("a:"+a);
        int b=++a;
        int c=a++;
        System.out.println(b);
        System.out.println(c);
    }
}

2,關係運算符
!=,+=,-=,*=,/=,==,>,<,>=,<=

package com.baidu.yunsuanfu;
public class Demo {
    public static void main(String[] args) {
        int a=10;
        a+=20;
        System.out.println(a);
        System.out.println("------------------------------");
        short b=5;
        b+=5;
        System.out.println(b);
        System.out.println("------------------------------");
        int d=10;
        int c=20;
        System.out.println(d = c);
        System.out.println("------------------------------");
        int x=10;
        int y=20;
        int z=30;
        System.out.println(x == y);
        System.out.println(x >= y);
        System.out.println(x <= y);
    }
}

3,邏輯運算符
& ,| ,&& ,^,!

package com.baidu.yunsuanfu;
public class Demo {
    public static void main(String[] args) {
        int a=3;
        int b=4;
        int c=5;
        //&結果中有false 則false
        System.out.println(a>b&(a>c));//false & false
        System.out.println("-------------------------");
        //|只有結果有true 則true
        System.out.println((a>b)|(a>c));//false | false
        System.out.println("-------------------------");
        //^相同爲false, 不同爲true
        System.out.println((a>b)^(a>c));//false ^ false
        System.out.println("-------------------------");
        //!取反
        System.out.println((a>b));//false ---->  true
        System.out.println("-------------------------");
        //&&有false則false  有短路效果
        System.out.println((a>b)&&(a>c));//false && false
        System.out.println("-------------------------");
        //||有true則true
        System.out.println((a>b)||(a>c));//false && false
    }
}

4,三元運算符
關係表達式?表達式1:表達式2

package com.baidu.yunsuanfu;

public class Demo {
    public static void main(String[] args) {
        int a=2;
        int b=3;
        int max=(a>b)?a:b;
        System.out.println("a和b之間的最大值是:"+max);
    }
}

5,小練習
int a=10,b=9;計算(–a!=b++)?–a:++b;的值

package com.baidu.yunsuanfu;
public class Demo {
    public static void main(String[] args) {
        int a=10,b=9;
        int c=(--a!=b++)?--a:++b;
        System.out.println(c);
    }
}

控制檯輸入

1,導包
在類的上面添加 import java.util.Scanner;
2,創建對象
Scanner sc=new Scanner(System.in);
3,接受數據
int x = sc.nextInt();
double d = sc.nextDouble();
String s = sc.next()
4,小練習
從控制檯輸入一個數,判斷這個數是偶數還是奇數,輸出結果。

package com.baidu.yunsuanfu;
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        //創建鍵盤錄入對象
        Scanner sc =new Scanner(System.in);
        System.out.println("請輸入一個數");
        int a=sc.nextInt();
        String s=a%2==0?"偶數":"奇數";
        System.out.println(s);
    }
}

在這裏插入圖片描述

IDEA的常用快捷鍵

Alt+Enter導入包,自動慘正代碼
Ctrl+Y刪除光標所在行
Ctrl+D複製光標所在行的內容,插入光標位置下面
ctrl+Alt+L格式化代碼
Ctr1+/單行註釋
Ctrl+Shift+/選中代碼註釋,多行註釋,再按取消註釋
Alt+Ins自動生成代碼, toString。get。set等方法
Alt+Shift+.上下箭頭移動當前代碼行
Alt+l 打開或關閉項目菜單
ctrl + alt + insert創建包創建類
ctrl + shift +回車切換到代碼中

流程控制語句

1,流程控制語句概述
在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。所以,我們必須清楚每條語句的執行流程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。
2,流程控制語句分類
(1) 順序結構
(2)選擇結構
(3)循環結構

順序結構

1,順序結構概述
是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先後順序,依次執行,程序中大多數的代碼都是這樣執行的。
2,執行流程圖
在這裏插入圖片描述

選擇結構

1,選擇結構,也被稱爲分支結構。
2,Java中的兩種選擇結構語句
(1) if語句
( 2)switch語句

if語句

1,if語句的格式有三種
(1)if語句第一種格式:

if(關係表達式) {
		語句體;
	}

a,執行流程
首先判斷關係表達式看其結果是true還是false,如果是true就執行語句體,如果是false就不執行語句體。
b,執行流程圖
在這裏插入圖片描述
(2)if語句第二種格式:

if(關係表達式) {
語句體1;
}else {
	語句體2;
}

a,執行流程
首先判斷關係表達式看其結果是true還是false,如果是true就執行語句體1,如果是false就執行語句體2。
b,執行流程圖
在這裏插入圖片描述
(3),if語句第三種格式:

if(關係表達式1) {
語句體1;
}else  if (關係表達式2) {
語句體2;
}
……….
else {
語句體n+1;
}

a,執行流程
首先判斷關係表達式1看其結果是true還是false,如果是true就執行語句體1,如果是false就繼續判斷關係表達式2看其結果是true還是false,如果是true就執行語句體2,如果是false就繼續判斷關係表達式…看其結果是true還是false如果…,沒有任何關係表達式爲true,就執行語句體n+1。
b,執行流程圖
在這裏插入圖片描述

小練習

根據分數輸出對應級別
90-100 優秀
80-90 好
70-80 良
60-70 及格
60以下 不及格

package com.baidu.Demo;
import java.util.Scanner;
public class IfTest {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("請輸入分數");
        int score=sc.nextInt();
        if(score>=90&&score<=100){
            System.out.println("優秀");
        }else if (score>=80&&score<=90){
            System.out.println("好");
        }else if(score>=70&&score<=80){
            System.out.println("良");
        }else if(score>=60&&score<=70){
            System.out.println("及格");
        }else if(score<0||score>100){
            System.out.println("成績不合法");
        }else {
            System.out.println("不及格");
        }
    }
}

switch語句

1,switch語句格式:

switch(表達式) {
case1:
		語句體1;
		break;
case2:
		語句體2;
		break;
		……….
		default:	
	     語句體n+1;
		break;
 }

2,執行流程
首先計算出表達式的值其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。 最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。
3,,執行流程圖
在這裏插入圖片描述

循環結構

1,循環語句的組成
a,初始化語句:一條或者多條語句,這些語句完成一些初始化操作。
b,判斷條件語句:boolean 表達式,這個表達式能決定是否執行循環體。
c,循環體語句:這個部分是循環體語句,也就是我們要多次做的事情。
d,控制條件語句:這個部分在一次循環體結束後,下一次循環判斷條件執行前執行。通過用於控制循環條件中的變量,使得循環在合適的時候結束。
2,Java提供了三種循環結構語句:
for,while,do…while

for循環語句

1,for循環語句格式:

for(初始化語句;判斷條件語句;控制條件語句) {
         循環體語句;
    }

2,執行流程
執行初始化語句,執行判斷條件語句,看其結果是true還是false,如果是false,循環結束。如果是true,繼續執行。執行循環體語句,執行控制條件語句,回到B繼續。
3,執行流程圖
在這裏插入圖片描述

小練習

在控制檯輸出所有的”水仙花數”
水仙花數是一個三位數,(個位個位個位)+(十位十位十位)+(百位百位百位)=這個數本身,舉例:153 = (111)+(555)+(333) 153這個數就是典型的水仙花數

package com.baidu.Demo;
public class ForDemo {
    public static void main(String[] args) {
        int x,y,z,num=0;
        for(int i=1;i<999;i++){
            x=i/100;
            y=i/10%10;
            z=i%10;
            if(i==(x*x*x)+(y*y*y)+(z*z*z)) {
                System.out.println(+i);
            }
        }
    }
}

while循環語句

1,while循環語句格式

while(判斷條件語句) {
         循環體語句;
   }

2,執行流程圖
在這裏插入圖片描述

小練習

使用while循環求出1-100數據之和

package com.baidu.Demo;

public class While {
    public static void main(String[] args) {
        int i=1;
        int sum=0;
        while (i<=100){
            sum+=i;
            i++;
        }
        System.out.println("1-100的數據和:"+sum);
    }
}

do…while循環語句

1.do…while循環語句格式:
1.1基本格式

do {
   	循環體語句;
   }while((判斷條件語句);

2,執行流程圖
在這裏插入圖片描述

break和continue

1,break的使用場景:
(1)在選擇結構switch語句中
(2)在循環語句中
(3)break的作用:跳出單層循環
2,continue的使用場景:
(1)在循環語句中
(2)continue的作用: 退出本次循環

三種循環的區別

do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候纔會去執行循環體
for循環語句和while循環語句的區別:
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。
原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。

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