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 ^ 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);
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三数
}
}