一、基礎案例
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)?"a與b的和為:"+c:"a與b的乘積為:"+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月份是春季