JAVA基礎語法練習(一)


一、基礎案例

1訓練案例1

1.1訓練描述

鍵盤錄入一個int類型的數據,使用三元運算符判斷這個數是奇數還是偶數

 

import java.util.Scanner;

 

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您輸入一個數");

        int i = sc.nextInt();

        String check = (i%2==0)?"您輸入的是偶數":"您輸入的是奇數";

        System.out.println(check);

 

    }

}

 

 

1.2操作步驟描述

1. 創建鍵盤錄入對象

2. 調用方法獲取輸入的數據

3. 將變量%2如果 == 0 是偶數,否則是奇數

4. 輸出結果

 

2訓練案例2

 

2.1訓練描述

鍵盤錄入一個學生成績(int類型),如果成績大於等於60輸出”及格”,如果成績小於60輸出”不及格

 

package study;

 

import java.sql.SQLOutput;

import java.util.Scanner;

 

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您輸入成績");

        int i = sc.nextInt();

        String check = (i > 60)?"您的成績及格,繼續努力":"您的成績不及格,繼續努力";

        System.out.println(check);

 

    }

}

 

 

2.2操作步驟描述

1. 創建鍵盤錄入對象

2. 調用方法獲取輸入的成績

3. 使用三元運算符如果成績大於等於60返回"及格",否則返回不"及格"

4. 輸出結果

 

3訓練案例3

 

3.1訓練描述

定義一個int類型的變量,初始化值為123,求這個數的個位,十位,百位分別是多少,輸出結果:123的個位是3,十位是2,百位是1

 

package study;

 

public class X20190813 {

    public static void main(String[] args) {

        int a = 123;

        int b = a%10;

        int c = (a/10)%10;

        int d = (a/100)%10;

        System.out.println(a+"的個位數是:"+b+",十位數是:"+c+",百位數是:"+d);

 

    }

}

 

 

3.2操作步驟描述

1. 定義變量初始化值為123

2. 模10獲取個位

3. 先除以10,再模10獲取到十位

4. 除以100獲取到百位

5. 輸出結果

 

4訓練案例4

 

4.1訓練描述

鍵盤錄入一個長方形的長和寬(長和寬為int類型),計算長方形的面積和周長

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您設置長方形的長");

        int i = sc.nextInt();

        System.out.println("請您設置長方形的寬");

        int n = sc.nextInt();

        int perimeter = (i + n) * 2;

        int area = i * n;

        System.out.println("長方形的周長為:"+perimeter);

        System.out.println("長方形的面積位:"+area);

    }

}

 

 

4.2操作步驟描述

1. 使用輸出語句提示用戶輸入長方形的長

2. 使用Scanner類錄入長方形的長

3. 使用輸出語句提示用戶輸入長方形的寬

4. 使用Scanner類錄入長方形的寬

5. 定義變量保存長方形的面積,面積=長*寬

6. 定義變量保存長方形的周長,周長=(長+寬)*2

7. 使用輸出語句輸出面和和周長

 

5訓練案例5

 

5.1訓練描述

定義int類型的變量a,定義int類型的變量b,使用三元運算符判斷如果a大於b返回a與b的和,否則返回a與b的乘積,打印結果

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您設置參數a");

        int a = sc.nextInt();

        System.out.println("請您設置參數b");

        int b = sc.nextInt();

        int c = a + b;

        int d = a * b;

        String check = (a > b)?"ab的和為:"+c:"ab的乘積為:"+d;

        System.out.println(check);

 

    }

}

 

 

5.2操作步驟描述

1. 定義變量a

2. 定義變量b

3. 使用三元運算符判斷

4. 打印結果

 

 6訓練案例6

 

6.1訓練考核知識點

講義1.3.2 if語句的第三種格式;

 

6.2訓練描述

鍵盤錄入學生考試成績,判斷學生等級:

90-100 優秀

80-90

70-80

60-70 及格

60以下 不及格

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您輸入學生的成績:");

        int i = sc.nextInt();

        if (100>i && i>90) {

            System.out.println("該學生成績優秀");

        }else if (90>i && i>80){

            System.out.println("該學生成績好");

        }else if (80>i && i>70){

            System.out.println("該學生成績良");

        }else if (70>i && i>60){

            System.out.println("該學生成績及格");

        }else if (60>i){

            System.out.println("該學生成績不及格");

        }

 

    }

}

 

 

6.3操作步驟描述

1.從鍵盤上錄入一個學生的考試成績:

2.使用if語句的第三種格式判斷考試成績屬於哪個范圍,然后確定成績的等級並打印

 

 

二、擴展案例

 

1訓練案例1

 

1.1訓練描述

1.小明左、右手中分別拿兩張紙牌(比如:黑桃10和紅桃8,數字10和8可通過鍵盤錄入),要求編寫代碼交換小明手中的牌

2.程序運行的結果如下:

 

請輸入小明左手中的紙牌:10

請輸入小明右手中的紙牌:8

 

互換前小明手中的紙牌:

左手中的紙牌:10

右手中的紙牌:8

 

互換后小明手中的紙牌:

左手中的紙牌:8

右手中的紙牌:10

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您給予小明左手的牌:");

        int left = sc.nextInt();

        System.out.println("請您給予小明右手的牌:");

        int right = sc.nextInt();

        System.out.println("互換前小明手中的牌:");

        System.out.println("小明左手的牌為:"+left);

        System.out.println("小明右手的牌為:"+right);

        int temp = left;

        int left_h = right;

        int right_h = temp;

        System.out.println("互換后小明手中的牌:");

        System.out.println("小明左手的牌為:"+left_h);

        System.out.println("小明右手的牌為:"+right_h);

 

    }

}

1.2操作步驟描述

1. 創建Scanner對象

2. 錄入第一個數據賦值給變量left

3. 錄入第二個數據賦值給變量right

4. 定義一個臨時變量temp,保存left的值

5. 將right的值賦值給left

6. 將臨時變量temp的值賦值給right

7. 按格式打印left和rigth中的值

 

2訓練案例2

2.1訓練描述

1.鍵盤錄入學員張浩的3門課程(Java、SQL、Web)的成績

2.編寫程序實現:

(1)Java課程和SQL課程的分數值差

(2)3門課程的平均分

3.程序運行格式:

 

請輸入Java的成績:100

請輸入SQL的成績:60

請輸入Web的成績:80

---------------------------

Java SQL Web

100 60 80

---------------------------

Java和SQL的成績差:40

三門課的平均分是:80.0

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您輸入張浩同學的JAVA成績:");

        int a = sc.nextInt();

        System.out.println("請您輸入張浩同學的SQL成績:");

        int b = sc.nextInt();

        System.out.println("請您輸入張浩同學的Web成績:");

        int c = sc.nextInt();

        int d = a - b;

        int e = b - a;

        int f = (a+b+c)/3;

        String check = (a>b)?"張浩同學的JAVA和SQL的成績差為:"+d:"張浩同學的JAVA和SQL的成績差為:"+e;

        System.out.println(check);

        System.out.println("張浩同學的三門成績平均分為:"+f);

 

 

 

    }

}

 

2.2操作步驟描述

1. 創建鍵盤錄入對象

2. 定義三個變量用於存儲三門課程的成績

3. 使用nextInt()方法給三門課程的變量賦值

4. 定義存儲差值及平均值的變量

5. 求差值和平均值

6. 打印最終結果

 

3訓練案例3

 

3.1訓練描述

1.商場推出幸運抽獎活動,抽獎規則如下:

(1)鍵盤錄入四位數字(1000-9999的數字),作為顧客的會員卡號

(2)該會員卡號(鍵盤錄入的四位數字)各位數字之和大於20,則為幸運客戶

 

2.打印格式:

請輸入4位會員卡號:3569

會員卡號3569各位之和:23

會員卡號3569是幸運客戶

 

請輸入4位會員卡號:1234

會員卡號3569各位之和:10

會員卡號3569不是幸運客戶

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請您輸入會員卡號:");

        int a = sc.nextInt();

        int b = a%10;

        int c = (a/10)%10;

        int d = (a/100)%10;

        int e = (a/1000)%10;

        int num = b + c + d +e;

        System.out.println("會員"+a+"各位卡號之和:"+num);

        String check = (num>20)?"會員"+a+"是幸運客戶":"會員"+a+"不是幸運客戶";

        System.out.println(check);

 

 

    }

}

 

 

3.2操作步驟描述

1.創建鍵盤錄入對象

2.定義int類型的變量(保存會員卡號),並通過鍵盤錄入給變量賦值

3.使用/和%求出個位、十位、百位、千位上的數字

4.定義int類型的變量sum

5.計算各位數字之和並復制給sum

6.按照格式打印

(1)打印各位數字之和

(2)打印是或者不是幸運客戶(是或者不是,可以通過三元運算符判斷sum的值獲取是或者不是)

4訓練案例4

 

4.1訓練描述

分析以下需求,並用代碼實現:

1.根據工齡(整數)給員工漲工資(整數),工齡和基本工資通過鍵盤錄入

2.漲工資的條件如下:

[10-15)     +5000

[5-10)      +2500

[3~5)       +1000

[1~3)       +500

[0~1)       +200

3.如果用戶輸入的工齡為10,基本工資為3000,程序運行后打印格式"您目前工作了10年,基本工資為 3000元, 應漲工資 5000元,漲后工資 8000元"

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請輸入您的工齡:");

        int a = sc.nextInt();

        System.out.println("請輸入您的基本工資:");

        int b = sc.nextInt();

        int c = 5000;

        int d = 2500;

        int e = 1000;

        int f = 500;

        int g = 200;

        int h = c + b;

        int i = d + b;

        int j = e + b;

        int k = f + b;

        int l = g + b;

        if (1>a && a>0){

            System.out.println("您目前工作了" + a + "年," + "基本工資為:" + b + "元," + "應漲工資" + g + "元," + "漲后工資為" + l + "元。");

        }else if (3>a && a>1){

            System.out.println("您目前工作了" + a + "年," + "基本工資為:" + b + "元," + "應漲工資" + f + "元," + "漲后工資為" + k + "元。");

        }else if (5>a && a>3){

            System.out.println("您目前工作了" + a + "年," + "基本工資為:" + b + "元," + "應漲工資" + e + "元," + "漲后工資為" + j + "元。");

        }else if (10>a && a>5){

            System.out.println("您目前工作了" + a + "年," + "基本工資為:" + b + "元," + "應漲工資" + d + "元," + "漲后工資為" + i + "元。");

        }else if (15>a && a>10){

            System.out.println("您目前工作了" + a + "年," + "基本工資為:" + b + "元," + "應漲工資" + c + "元," + "漲后工資為" + h + "元。");

        }

 

    }

}

 

 

4.2操作步驟描述

 

5訓練案例6

 

5.1訓練描述

分析以下需求,並用代碼實現:

1.功能描述:模擬計算器功能,對鍵盤錄入的兩個int類型的數據進行加、減、乘、除的運算,並打印運算結果

2.要求:

(1)鍵盤錄入三個整數,其中前兩個整數代表參加運算的數據,

第三個整數為要進行的運算(0:表示加法運算,1:表示減法運算,2:表示乘法運算,3:表示除法運算)

(2)使用今天所學知識完成功能

(3)演示格式如下:

請輸入第一個整數:30

請輸入第二個整數:40

請輸入您要進行的運算(0:表示加法運算,1:表示減法運算,2:表示乘法運算,3:表示除法運算):0

控制台輸出:30+40=70

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("請輸入第一個數");

        int a= sc.nextInt();

        System.out.println("請輸入第二個數");

        int b=sc.nextInt();

        System.out.println("請輸入運算   0:表示加法運算,1:表示減法運算,2:表示乘法運算,3:表示除法運算");

        int c=sc.nextInt();;

        if (c==0){

            System.out.println(a+b);

        }else if (c==1){

            System.out.println(a-b);

        }else if (c==2){

            System.out.println(a*b);

        }else if (c==3){

            System.out.println(a/b);

        }

    }

}

 

 5.2操作步驟描述

 

6訓練案例6

 

6.1訓練描述

根據變量x的值,計算出y的值

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("請輸入第一個數");

        int x= sc.nextInt();

        if (x<0){

            int y=-1;

            System.out.println(y);

        }else if(x==0){

            int y=0;

            System.out.println(y);

        }else if (x>0){

            int y=1;

            System.out.println(y);

        }

    }

}

 

6.2操作步驟描述

1.鍵盤錄入一個整數給變量x,輸出對應的變量y的值

2.x值和y值的對應關系如下:

x<0 y=-1

x=0 y=0

x>0 y=1

3.如果用戶輸入的x的值為2,程序運行后打印格式"x=2,y=1"

 

7訓練案例7

 

7.1訓練描述

對錄入的數字進行排序

 

7.2操作步驟描述

1.鍵盤錄入三個整數,按照從小到大的順序輸出

2.如果用戶輸入的是3 2 1,程序運行后打印格式"按照從小到大排序后的順序為:1 2 3"

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請輸入第一個整數:");

        int a = sc.nextInt();

        System.out.println("請輸入第二個整數:");

        int b = sc.nextInt();

        System.out.println("請輸入第三個整數:");

        int c = sc.nextInt();

        if (a>b){

            if (b>c) {

                System.out.println("按照從小到大排序的順序為:"+c+"<"+b+"<"+a);

            }else if (c>b){

                if (a>c){

                    System.out.println("按照從小到大排序的順序為:"+b+"<"+c+"<"+a);

                }else if (c>a){

                    System.out.println("按照從小到大排序的順序為:"+b+"<"+a+"<"+c);

                }

            }

        }else if (b>a){

            if (a>c){

                System.out.println("按照從小到大排序的順序為:"+c+"<"+a+"<"+b);

            }else if (c>a){

                if (b>c){

                    System.out.println("按照從小到大排序的順序為:"+a+"<"+c+"<"+b);

                }else if (c>b){

                    System.out.println("按照從小到大排序的順序為:"+a+"<"+b+"<"+c);

                }

            }

        }

    }

}

 

 

8訓練案例8

 

8.1訓練描述

鍵盤錄入月份,輸出對應的季節

 

package study;

import java.util.Scanner;

public class X20190813 {

    public static void main(String[] args) {

        Scanner sc = new Scanner((System.in));

        System.out.println("請輸入月份:");

        int a = sc.nextInt();

        if (5>=a && a>=3){

            System.out.println(a+"月份是春季");

        }else if (8>=a && a>=6){

            System.out.println(a+"月份是夏季");

        }else if (11>=a && a>=9){

            System.out.println(a+"月份是秋季");

        }else if (a==1 || a==2 || a==12){

            System.out.println(a+"月份是冬季");

        }

    }

}

 

 

 8.2操作步驟描述

(1)鍵盤錄入一個整數(代表月份,范圍1-12)

(2)輸出該月份對應的季節

3,4,5春季

6,7,8夏季

9,10,11秋季

12,1,2冬季

(3)演示格式如下:

請輸入一個月份:3

控制台輸出:3月份是春季

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM