Java基础语法编程题
一、初识Java
无答案。
二、变量、数据类型和运算符
1.使用变量存储以下MP3信息,并打印输出
品牌(brand):爱国者F928
重量(weight):12.4
电池类型(type):内置锂电池
价格(price):499
public class Test01 {public static void main(String[] args) {String brand = "爱国者F928";double weight = 12.8;String type = "内置锂电池";int price = 499;System.out.println("品牌:" + brand);System.out.println("重量:" + weight);System.out.println("类型:" + type);System.out.println("价格:" + price);}
}
2.使用Scanner做出如下输出
import java.util.Scanner;public class Test01 {public static void main(String[] args) {// 创建Scanner对象Scanner input = new Scanner(System.in);System.out.print("请输入姓名:");input.next();System.out.print("请输入年龄:");input.nextInt();System.out.print("请输入爱好:");input.next();}
}
3.从控制台输入学员王浩3门课程成绩,编写程序实现
(1)Java课和SQL课的分数之差
(2)3门课的平均分
(3)数学类中有一个绝对值的方法:Math.abs(java-sql);
import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("STB的成绩是:");int stb = input.nextInt();System.out.print("Java的成绩是:");int java = input.nextInt();System.out.print("SQL的成绩是:");int sql = input.nextInt();System.out.println("----------------------");System.out.println("STB\tJava\tSQL");System.out.println(stb + "\t" + java + "\t" + sql);System.out.println("----------------------");int cha = Math.abs(java - sql);//数学类中求绝对值的方法System.out.println("Java和SQL的成绩差:" + cha);double avg = (stb + java + sql) / 3.0;System.out.println("三门课程的平均成绩是:" + avg);}
}
4.实现购物金额
用户可以享受购物8折的优惠,请计算实际消费金额
消费总额 = 各商品的消费金额之和 * 折扣
实现思路:创建类,声明变量存储信息,计算总金额
public class Test01 {public static void main(String[] args) {double money = 1380;//原价money *= 0.8;//打8折System.out.println("消费总金额:" + money);}
}
5.打印购物小票
结算时打印购物小票
计算此次购物获得的会员积分
首先,分别使用变量存储三件商品的单价、个数和金额
积分 = 消费金额 / 100 * 3 ,对其结果取整
public class Test01 {public static void main(String[] args) {// 三件商品的单价int tShirt = 245;int shose = 570;int pai = 320;// 三件商品的购买数量int tPrice = 2;int sPrice = 1;int pPrice = 1;// 三件商品的消费金额int tMoney = tShirt * tPrice;int sMoney = shose * sPrice;int pMoney = pai * pPrice;System.out.println("**************消费单**************");System.out.println("购买物品" + "\t" + "单价" + "\t" + "数量" + "\t" + "金额");System.out.println("T恤" + "\t" + "¥" + tShirt + "\t" + tPrice + "\t¥" + tMoney);System.out.println("网球鞋" + "\t" + "¥" + shose + "\t" + sPrice + "\t¥" + sMoney);System.out.println("网球拍" + "\t" + "¥" + pai + "\t" + pPrice + "\t¥" + pMoney);System.out.println("\n折扣:\t\t8折");double zheKou = 0.8;// 商品折扣// 消费金额double money = (tMoney + sMoney + pMoney) * zheKou;// 实交int shiJiao = 1500;// 找零double zhaoLing = shiJiao - money;// 计算积分double jifen = money / 100 * 3;System.out.println("消费总金额\t\t¥" + money);System.out.println("实际缴费\t\t¥" + shiJiao);System.out.println("找钱\t\t¥" + zhaoLing);System.out.println("本次消费所得积分是:" + (int) jifen);}
}
6.模拟幸运抽奖(不允许使用选择结构判断结果)
抽奖规则:顾客的四位会员卡号的各位数字之和大于20,则为幸运顾客
import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入4位会员卡号:");int vip = input.nextInt();int ge = vip % 10;int shi = vip / 10 % 10;int bai = vip / 100 % 10;int qian = vip / 1000;int sum = ge + shi + bai + qian;System.out.println("会员卡号" + vip + "各位之和是:" + sum);System.out.println("是幸运客户吗?" + (sum > 20));}
}
7.判断折扣价格(不允许使用选择结构判断结果)
A.声明变量存储商品价格信息
B.从键盘接收折扣,并保存
C.计算商品享受折扣后的价格
D.输出商品折扣后价是否低于100
package cn.kgc.test1;import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入折扣:");double zhe = input.nextDouble();// 定义三个商品的原价double tShirt = 299;double shose = 1999;double pai = 99;// 打折完后的价格tShirt = tShirt * zhe;// 表达式的展开写法shose *= zhe;// 综合写法pai *= zhe;// 综合写法System.out.println("T恤的折后价低于100吗?" + (tShirt < 100));System.out.println("网球鞋的折后价低于100吗?" + (shose < 100));System.out.println("网球拍的折后价低于100吗?" + (pai < 100));}
}
8.小明左、右手中分别拿两张纸牌:黑桃 10 和红桃 8,现在交换手中的牌。 用程序模拟这一过程:两个整数分别保存在两个变量中,将这两个变量的值互换, 并输出互换后的结果。 (提示:定义第一个第三方的变量完成互换)
方式一:使用第三方变量(开发中使用)
public class Test01 {public static void main(String[] args) {int a = 10;int b = 8;System.out.println("输出互换前手中的纸牌:");System.out.println("左手中的纸牌:" + a);System.out.println("右手中的纸牌:" + b);//提示:定义第一个第三方的变量完成互换int temp = a;a = b;b = temp;System.out.println("\n输出互换后手中的纸牌:");System.out.println("左手中的纸牌:" + a);System.out.println("右手中的纸牌:" + b);}
}
方式二:用异或实现(面试用)
public class Test01 {public static void main(String[] args) {int a = 10;int b = 8;System.out.println("原来是:a=" + a + ",b=" + b);// =左边:a、b、a// =右边:a ^ ba = a ^ b;b = a ^ b;a = a ^ b;System.out.println("交换后:a=" + a + ",b=" + b);}
}
方式三:使用变量相加的做法
public class Test01 {public static void main(String[] args) {int a = 10;int b = 8;System.out.println("原来是:a=" + a + ",b=" + b);a = a + b;b = a - b;a = a - b;System.out.println("交换后:a=" + a + ",b=" + b);}
}
方式四:一句话搞定
public class Test01 {public static void main(String[] args) {int a = 10;int b = 8;System.out.println("原来是:a=" + a + ",b=" + b);b = (a + b) - (a = b);System.out.println("交换后:a=" + a + ",b=" + b);}
}
9.输入电视机的价格(double)及数量(int),计算这些电视机总价值是多少。
import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入电视机的价格:");double tvPirce = input.nextDouble();System.out.println("请输入电视机的数量:");int tvNumber = input.nextInt();double tvSum = tvPirce * tvNumber;System.out.println("这些电视机总价值是:" + tvSum);}
}
10.定义一个变量记录天数=10天,计算10天共有多少小时、多少分钟。
public class Test01 {public static void main(String[] args) {int day = 10;int hours = 24;int minutes = 60;int tempHours, tempMinutes;System.out.println("天数\t小时\t分钟");tempHours = day * hours;tempMinutes = tempHours * minutes;System.out.println(day + "\t" + tempHours + "\t" + tempMinutes);}
}
11.定义一个变量记录硬盘的大小,如1GB,计算这个硬盘有多少MB、有多少KB、有多少Byte。
public class Test01 {public static void main(String[] args) {int GB = 1;int MB = 1024;int KB = 1024;int BB = 1024;System.out.println("GB MB KB Byte");int tempMB, tempKB, tempBB;tempMB = GB * MB;tempKB = tempMB * KB;tempBB = tempKB * BB;System.out.println(GB + " " + tempMB + " " + tempKB + " " + tempBB);}
}
12.输入一个四位数的整数,要求编程将这个四位数中的个位,十位,百位,千位分别输出。
import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);// 同时声明5个变量int number, gewei, shiwei, baiwei, qianwei;System.out.println("请输入一个四位数:");number = input.nextInt();gewei = (number % 100) % 10;shiwei = (number / 10) % 10;baiwei = (number % 1000) / 100;qianwei = number / 1000;System.out.println("个位:" + gewei + " 十位:" + shiwei + " " + " 百位:" + baiwei + " 千位:" + qianwei);}
}
13.小明买了一双鞋,价值58元,买了3件衣服,每件30元,买了5个包,每个包55.8元。小明共交了500元,问还要找回多少元。
public class Test01 {public static void main(String[] args) {double shoes = 58; // 鞋子的单价double clothes = 30; // 衣服的单价double bag = 55.8; // 包包的单价double sum = 500; // 实交double temp = sum - (shoes + (3 * clothes) + (5 * bag));System.out.println(temp + "元");}
}
14.从控制台任意输入3个数字,将其由小到大输出。(使用变量+if实现)
import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner input = new Scanner(System.in); // 使用Scanner键盘输入System.out.println("请输入3个整数");int x = input.nextInt();int y = input.nextInt();int z = input.nextInt();input.close(); // 使用完键盘输入后关闭int temp = 0;if (x > y) {// 如果x>y那么x,y需要交换位置temp = x;// 借助temp变量,将二者间的大数x存在temp中x = y;// 让小数y到x的位置y = temp;// 让大数x(即此时的temp)到y的位置,这时x y中的数就是从小到大的顺序}if (x > z) {temp = x;x = z;z = temp;}if (y > z) {temp = y;y = z;z = temp;}System.out.println(x + " " + y + " " + z);// 输出由小到大排序后的xyz三数}
}