Java學習第一階段

qq_45850095發表於2020-12-01

Java筆記

02

Java學習第二天:資料型別和運算子
今日目標:
1.變數
2.資料型別
3.簡單的人機互動(Scanner的使用)
4.運算子:
賦值運算子
算術運算子
關係運算子
邏輯運算子
條件運算子
5.運算子的優先順序
1.變數:
1.什麼是變數:可以變化的量
2.你心中如何理解變數:一個用於裝資料的容器。
思考:
A.計算機如何儲存資料呢?
記憶體條,機械硬碟
B.硬碟和記憶體如何分工?
編輯的文件在沒有儲存時,臨時儲存在記憶體中,儲存後,永久儲存在硬碟上。
3.記憶體和硬碟又是如何儲存資料的呢?
二進位制檔案的形式儲存。
簡述二進位制 010 2 0 10110100 01011010 01011010 01011010
計算機中最小的二進位制位數是8位
1byte(位元組)=8bit(8位二進位制)
1KB=1024byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
4.命名口訣:字 下 美 人 數 駱駝
取名要有意義
不能使用關鍵字

2.資料型別:
在這裡插入圖片描述
在這裡插入圖片描述

public class Hello1 {
    public static void main(String[] args) {
        //1.宣告一個變數並賦值:變數型別 變數名=變數值;
        int a1=12;
        //2.拆開:宣告和賦值
        int a2;
        a2=15;
        //3.同時宣告多個變數
        int a3,a4,a5;
        //4.宣告多個變數的同時賦值
        int b1=10,b2=2,b3=2;
        // 變數如果沒有賦值,它有值嗎?沒有值
        //System.out.println(a3);(程式會顯錯誤)
    }
}

基本資料型別4類8種:
1.整數(4種):
Byte: 位元組型 ,1個位元組 -128~127
Short:短整型,2個位元組 範圍:
Int : 整型(預設),4個位元組 範圍:正負21億左右
long :長整型,8個位元組 63 31 -21億 21億2~21億 21億2
在這裡插入圖片描述

在這裡插入圖片描述

2.浮點數(小數2種):
float :單精度 :4個位元組 1符號位 8指數位 23
Double:雙精度:8個位元組
採用科學計數法
3字元型:
char: 2個位元組 a d f ab 3 4 你
4.布林型
boolean :true false
引用資料型別:String 陣列 類 介面
3.資料型別轉換
1.自動型別轉換條件:
型別相容:整數型和整數型 非整數型和非整數型 整數型和非整數型
目標型別大於源型別:小的向大的轉換
2.強制型別轉換:目標型別小於源型別
案例:張三餘額寶有100元,過了一天,收益0.1元,問:現在餘額寶有多少?
在這裡插入圖片描述

用二進位制解釋int到byte的強制型別轉換
轉換規律:
1.數值型別之間轉換:
小到大,正常轉換
大到小,強制轉換
2.整數 和char之間的轉換
在這裡插入圖片描述
在這裡插入圖片描述

public class Hello3 {
    public static void main(String[] args) {
        //大到小,強制型別轉換
        short s=12,s1=12;
        int i=13,i1=13;
        s= (short) i;
        i1=s1;
        System.out.println("s="+s+" "+"i1="+i1);
        byte b=1,b1=1;
        long l=2,l1=2;
        l=b;
        b1= (byte) l1;
        //不同型別 正常型別
        //1.int(4) -floor(4)
        int a1=12;
        float f1=12.1f;
//        a1= (int) f1;
        f1=a1;
        //2.int 4 double 8  byte -float
        //不同型別 2 --非正常型
        //int char
        int a=97;
        char c='a';
        a=c;
        System.out.println(a);
        c= (char) a;
        System.out.println(c);
        System.out.println(a);
        c=98;
        System.out.println(c);
        System.out.println((char)70);
    }
}

在這裡插入圖片描述

4.變數使用案例:
1.變數的定義格式: 資料型別 變數名=變數值;
如: int a=88;含義是:將88這個數值賦給a這個整型變數。通俗來說,變數是一個容器,在記憶體中會開闢一個小空間用來儲存資料。
打個比方:有一個房間,房間號是a,房間裡面住的客人是c
Char a=’c’.

2.輸出張三的姓名,年齡,部門,地址,等相關資訊。
現公司出現人員變動,將張三換成李四,出現程式碼改動量大的問題。變數幫我們解決。

public class Hello4 {
    public static void main(String[] args) {
        //輸出張三的姓名,年齡,部門,地址,等相關資訊。
        //現公司出現人員變動,將張三換成李四,出現程式碼改動量大的問題。變數幫我們解決。
        //String helloString = new String(helloArray);
        String name1="張三";
        String age="20";
        String bumen="行政部";
        String dizhi="湖北";
        System.out.println("姓名:"+name1+"\n年齡:"+age+"\n部門:"+bumen+"\n地址:"+dizhi);
        name1="李四";
        System.out.println("姓名:"+name1+"\n年齡:"+age+"\n部門:"+bumen+"\n地址:"+dizhi);
    }
}

在這裡插入圖片描述

5.程式如何同使用者互動:(Scanner)
1.思考:打遊戲時,控制英雄的運動和技能是如何實現的?
在鍵盤上輸入的上下左右,遊戲程式如何知道?
2.分析:程式中必然有一個裝置來接收鍵盤按鍵的值。
3.Scanner的使用
分析,記事本上打字的過程:系統接收鍵盤上的按鍵對應的字母,然後傳入到搜狗輸入法,合成相應的文字,然後在電腦螢幕上顯示。
4.思考:java程式如何接收鍵盤輸入的內容呢?
Jdk中封裝了一個類Scanner,該類的職責就是接收鍵盤的輸入值,並儲存到程式的變數中,體現了程式和使用者的互動功能。
使用步驟:案例演示(String,int,double,boolean輸入)
1.導包(別人寫的類,作為當前類的引用)
2.建立物件(是否需要建立物件,取決於呼叫的方法是否為static靜態的)
3.物件呼叫方法來接收輸入值

6.賦值運算子:
1.賦值:往變數對應的記憶體空間裡面塞一個值。
2.書寫格式: int a = 8; 往往在定義一個變數的時候會為其賦值。
3.賦值特點:新值會覆蓋原來的舊值
第一次給變數賦值稱為“初始化”。
4.案例:
如何藉助賦值運算子實現兩個數的交換。
7.算術運算子:
1.基本算術運算:+ - * / % ++i i—

重點:++ – 在變數的前面還是後面
2.複合算術運算:+= -= *= /= %=
3.案例:
使用者輸入自己的會員卡號(3位數),程式取出會員卡號的各個位數,並列印結果。
8.關係運算子
== != < > >= <=
關係運算子的結果是布林值
1<i<3 i<3&&i>1
9.邏輯運算子:
參與邏輯運算子的表示式必須是布林型別

邏輯與 & 邏輯或 |
短路與 && 短路或 ||
在這裡插入圖片描述

如何理解短路:電路圖中的短路是:電流繞過某段電器,從導線走。
1.&&運算中,第一個條件為false,整個語句結果必然為false,所以程式忽略第二個條件, 此為短路與
2.||運算中,第一個條件為true,整個語句結果必然為true,所以程式忽略第二個條件, 此為短路或
3.優先順序:! > && > ||

10.條件運算子
1.書寫格式:
在這裡插入圖片描述

也稱三元(三目)運算子
2.使用場景:當一個變數的取值有兩種可能時,用條件運算子來為變數賦值。
3.案例:使用者輸入考試成績,判斷是否及格,並列印結果。
4.課堂小案例:輸入自己的遊戲得分,大於100是王者,否則是青銅,並列印結果。
11.運算子的優先順序
**加粗樣式**

12.補充:位運算子 & |
案例:6&3 =2 6|3=7 轉換成二進位制 110 和011 每個位上0代表假,1代表真
110
011 &
01 0
作業:
1.小明在銀行存了100元,年利率是5%,存了三年,用程式算出並列印三年後的存款是多 少?
2.使用者依次根據程式的提示,輸入自己的姓名,年齡,餘額寶金額。利用不同資料型別的 變數一次性列印以上資訊。

3.使用變數儲存資料,實現個人簡歷資訊的輸出
效果圖:
在這裡插入圖片描述

4、接受使用者輸入的兩個數,分別求這兩個數的和,差,積,商,模

5、根據天數(由使用者輸入)計算這些天數中有幾周和剩餘的天數,例如:使用者輸入的是45
,輸出結果為:45天是6周餘3天

6、商場為員工提供了基本工資(3000元)、物價津貼及房租津貼,其中物價津貼為基本工資的40%,房租津貼為基本工資的25%。程式設計計算實領工資
編寫程式,定義變數分別存放一本圖書的資訊,圖書的資訊包括:書名(bookName)、作者(bookAuthor)、單價(bookPrice)、庫存量(bookStock)、是否為熱售圖書(isHot),要求圖書的資訊由使用者輸入

1.計算結果x+a%3*(int)(x+y)%2/4 a=7(int) x=2.5 y=4.7(double)
2.計算結果(float)(a+b)/2+(int)x%(int)y a=2 b=3 x=3.5 y=2.5

3.使用條件運算子實現求兩個數中的較大值並將最大值輸出,這兩個數是由使用者從控制檯輸入的
4.讓使用者輸入矩形的兩個邊長(int資料型別),用條件表示式判斷:如果兩個邊長相等,則為正方形,不等為長方形,最後並將其面積輸出。
例如:使用者輸入的長和寬是:4和5,則輸出結果是:該圖形是長方形,面積是20
5.用JAVA程式碼實現一個數字加密器,加密規則是:加密結果 = (整數*10+5)/2 + 3.14159加密結果仍為一整數,其中用到的引數整數是由使用者輸入的,例如:使用者輸入的是:5,則加密後輸出的結果是:30(注意:加密後的結果一定是整數,資料型別轉換)
6、輸入一個數,判斷該數是不是3的倍數,並將結果輸出

7、題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
8、題目:利用條件運算子的巢狀來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。

9.使用者輸入自己的隨機四位數卡號,編寫程式輸出提示資訊是否中獎。中獎規則,個位數字+十位數字+百位數字+千位數字 之和>18則中獎。
提示資訊分別是:“恭喜您,中獎啦!”“很遺憾,沒有中獎!”

10.張三公交卡有72.5元,李四公交卡有26.3元,讓他二人交換公交卡,編寫程式輸出交換前和交換後,兩人手上公交卡的金額。

11.題目:使用者輸入一個數,判斷是否是"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
下次課程預習內容:
主要知識點:if 和switch以及相關變形選擇結構

相關文章