习题

1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由
A. ILoveJava 正确
B. 20正确C.learn@java@不属于标识符命名规则字母、数字、下划线、20 正确 C. learn@java @ 不属于标识符命名规则 字母、数字、下划线、20正确C.learn@java@不属于标识符命名规则字母、数字、下划线、
D. antony.lee 错误 . 不属于标识符 E:正确 F:正确
E. Hello_World 正确
F. 2tigers 正确

2.(if 语句)读入一个整数,判断其是奇数还是偶数

     System.out.println("请输入一个整数:");    int x = sc.nextInt();if (x % 2 == 0) {System.out.println(x + "是偶数");} else {System.out.println(x + "是奇数");}

3.(操作符)有如下代码:
int a = 5;
int b = (a++) + (–a) +(++a);
问执行完之后,b 的结果是多少?

    a = 5b = (a++) + (--a) + (++a) 5 + 5+ 6 = 16 //b的结果为16

4.(基本类型的运算)一家商场在举行打折促销,所有商品都进行8 折优惠。一位程序员把这个逻辑写成:
short price = …; // 先计算出原价
short realPrice = price * 8 / 10; //再计算出打折之后的价格
问:这段代码是否正确?如果正确,假设price 为100,那计算之后的realPrice值为多少?如果不正确,应该怎么改正?

/*
不正确,price的价格为int类型,int类型的数据如果过大,则不能转换成short类型的数据,会造成溢出
price * 8 /10结果为int类型变量,不能转换为shor类型 如果price的价格不大,不用更改 如果过大 ,需要改为int
realPrice的数据类型更改为float
*/

5.(操作符)请说明>>与>>>之间的区别

/*
>> : 按位右移运算符。左操作数按位右移右操作数指定的位数。A = 60 A >> 2  60的二进制111100 右移两位 1111=15
>>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充A >>> 2 111100 得到15 00001111
/

6.(操作符)有如下代码:
a = (a>b)?a:b;
请问这段代码完成了什么功能。

/*
如果 a大于 b
输出a,否则输出b
*/int a = 0,b = 0;if(a>b){System.out.println(a);}else{System.out.println(b);}

7.(if 语句)读入一个整数,表示一个人的年龄。如果小于6 岁,则输出“儿童” ,6 岁到13 岁,输出“少儿” ;14 岁到18 岁,输出“青少年” ;18 岁到35 岁,输出“青年” ;35 岁到50 岁,输出“中年” ;50 岁以上输出“中老年” 。

    System.out.println("请输入一个人的年龄:");int m = sc.nextInt();if(m<6){System.out.println("儿童");}else if(m<=13){System.out.println("少儿");}else if(m<=18){System.out.println("青少年");}else if(m<=35){System.out.println("青年");}else if(m<=50){System.out.println("中年");}else {System.out.println("中老年");}

8.(switch 语句)读入一个整数,如果是1~5 之间,则分别输出5 个福娃的名
字,否则输出“北京欢迎你” 。

        System.out.println("请输入一个整数:");int m1 = sc.nextInt();switch(m1){case 1 :case 2 :case 3 :case 4 :case 5 :System.out.println("福娃");break;default:System.out.println("北京欢迎你");}

9.(if 语句,赋值操作)*读入三个整数,输出这三个整数中最大的一个。

   int a1,a2,a3;int max = 0;System.out.println("请输入第一个整数:");a1 = sc.nextInt();System.out.println("请输入第二个整数:");a2 = sc.nextInt();System.out.println("请输入第三个整数:");a3 = sc.nextInt();if(a1 > a2){if(a1 > a3){max = a1;}else{max = a3;} }else{if(a2 > a3){max = a2;}else{max = a3;}}System.out.println(a1+" "+a2+ " "+a3+"这三个数中的最大值为:"+max);

10.(if 语句)*读入一个表示年份的整数,判断这一年是否是闰年。
如何判断 一个年份是否是闰年:

如果这个年份能够被4整除,且不能被100 整除,则这一年是闰年。
例 如,1996 年是闰年,而相应的,1993 年就不是闰年。

如果这个年份能够被100整除,则这个数必须要能被400 整除,才是闰 年。
例如,2000 年是闰年,1900 年不是闰年。

int year = sc.nextInt();
if((year % 4 == 0 && year % 100!=0) || (year % 100==0 && year % 400 ==0)){System.out.println(year+"这一年是闰年");
}else{System.out.println(year+"这一年不是闰年");
}

11.(switch 语句)*完成一个简单的计算器程序。
程序要求如下:
1. 读入两个整数
2. 提示用户选择对这两个整数的操作,即输出
1 : +
2 : -
3 : *
4 : /
请输入您的选择:
读入用户的选择,输出运算结果。

int n1,n2,n3;
System.out.println("请输入第一个整数:");
n1 = sc.nextInt();
System.out.println("请输入第二个整数:");
n2 = sc.nextInt();
System.out.println("请选择你的操作:");
System.out.println("1:+\n"+"2:-\n"+"3:*\n"+"4:/\n");
n3 = sc.nextInt();
switch(n3){case 1:System.out.println(n1+"+"+n2+"="+n1 + n2);break;case 2:System.out.println(n1+"-"+n2+"="+(n1 - n2));break;case 3:System.out.println(n1+"*"+n2+"="+n1 * n2);break;case 4:System.out.println(n1+"/"+n2+"="+n1 / n2);break;default:System.out.println("没有这个选项,请重新输入:");break;
  1. (if 语句)*托运计费问题:
  • 当货物重量小于20 公斤的时候,收费5 元,
  • 大于20 公斤小于100 公斤的时候 ,超出20 公斤的部分按每0.2 元每公斤计费,
  • 如果超出100 公斤的时候,超出 的部分按照每公斤0.15 元计算。
  • 读入货物的重量,输出计算之后货物的运费。
int weight;
double money = 0.0;
System.out.println("请输入货物重量:");
weight = sc.nextInt();
if(weight < 20){money = 5;
}else if(weight<100){money = 5 + (weight - 20)*0.2;
}else if(weight>100){money = 5 + 80*0.2+(weight-100)*0.15;
}
System.out.println("运费为:"+money);*/

13.if 语句)*中国的个税计算方法:
应税所得为税前收入扣除2000 元(起征点) ,然后超出部分,按照以下税率
收税:
500 5% 2500
500-2000 10% 4000
2000-5000 15% 7000
5000-20000 20% 22000
20000-40000 25% 42000
40000-60000 30% 62000
60000-80000 35% 82000
80000-100000 40% 102000
100000 - ? 45%
例:若月收入15000,则应税所得为15000-2000=13000;总的个人所得税为
(13000-5000)*20% + (5000-2000)*15% + (2000-500)10% + 5005%= 2225
要求:读入一个整数,表示税前收入,输出应当缴纳的个人所得税和税后实
际收入。

int rev;double sum = 0;System.out.println("请输入你的收入:");rev = sc.nextInt();if(rev<2000){sum = 0;}else if(rev < 2500){sum = (rev - 2000) * 0.05 ;}else if(rev <4000){sum = (500 * 0.05) + (rev - 2500)*0.1;  }else if(rev < 7000){sum = (500 * 0.05) + (1500 * 0.1)+ (rev - 4000)*0.15;}else if(rev < 22000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (rev - 7000)*0.2;}else if(rev < 42000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (15000*0.2) + (rev - 22000)*0.25;}else if(rev < 62000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (15000*0.2) + (20000*0.25) + (rev - 42000)*0.3;}else if(rev < 82000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (15000*0.2) + (20000*0.25) + (20000 * 0.3) + (rev - 62000) * 0.35;}else if(rev <100000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (15000*0.2) + (20000*0.25) + (20000 * 0.3) + (20000 *0.35) + (rev - 82000)*0.4;}else if(rev > 10000){sum = (500 * 0.05) + (1500 * 0.1)+ (3000 * 0.15) + (15000*0.2) + (20000*0.25) + (20000 * 0.3) + (20000 *0.35) + (20000*0.4) + (rev - 102000)*0.45;}System.out.println("你的税收为:"+sum);

14.(if 语句,操作符)**读入一个三位数,计算其各位数字之和。例如:123
各位数字之和为6

System.out.println("输入一个整数:");
int num2 = sc .nextInt();
if(num2>100 && num2 <1000){int a1 = num2 % 10;int b1 = (num2 /10) % 10;int c1 = num2 /100;int sum1 = a1 + b1 + c1;System.out.println("这个三位数各位数字之和为:"+sum1);
}else{System.out.println("这个数字不是三位数,请重新输入!");
}

15.(if 语句)**读入三个整数,把这三个整数按照由大到小的顺序输出

System.out.println("请输入第一个整数:");
int n1 = sc.nextInt();
System.out.println("请输入第二个整数:");
int n2 = sc.nextInt();
System.out.println("请输入第三个整数:");
int n3 = sc.nextInt();
int max = n1;
int mid = 0;
int min = 0;
if(n2 > max){if(n3 > max){  //n2、n3都大于maxif(n3 > n2){ //比较n2、n3max = n3;mid = n2;min = n1;}else{max = n2;mid = n3;min = n1;} }else{   //n2大于max ,max大于n3max = n2;mid = n1;min = n3;}
}else{//n2<maxif(n3 > max){  //max < n3max = n2;mid = n1;min = n3;}else{   //max > n3  比较 n2、n3if(n2 > n3){max = max;mid = n2;min = n3;}else{ // n2 < n3max = max;mid = n3;min = n2;}}
}
System.out.println("最大值为:"+max+",次大值为:"+mid+",最小值为:"+min);

Java第一周练习题相关推荐

  1. 20165235 Java第一周学习总结

    (# 20165235 Java第一周学习总结 Ubuntu下git的安装与使用 首先Ubuntu下git的安装,使用sudo apt-get install git下载Ubuntu,下载完成后可以用 ...

  2. 自学Java第一周的总结

    在第一周里我花费了不少时间配置jdk的环境变量,并学习了有关java的基本知识,了解了Java中的变量.数据类型以及运算符.我知道了什么是变量并且如何去定义变量,也学会了如何去使用运算符以及对数据类型 ...

  3. 2017-2018-1 我爱学Java 第一周 作业

    构建之法 成员及分工 内容简介 作者简介 分章学习及问题 第一章 概论 第二章 个人技术和流程 第三章 软件工程师的成长 第四章 两人合作 第五章 团队和流程 第六章 敏捷流程 第七章 实战中的软件工 ...

  4. Java第一周学习总结

    教材学习内容总结 我们以前学过C和C++,本学期我们学习了一种新的计算机语言Java.通过这周对Java的学习,我对Java有了初步的了解与认识.当然也了解到了Java的应用与地位等等. 对于Java ...

  5. java第一周_从计算机基础到流程控制语句(if_else)

    一.计算机基础 裸机 没有安装任何软件的计算机(无操作系统.无应用软件) 计算机的应用 1.科学计算 科学计算也称数值计算.计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的 ...

  6. 达内JAVA第一周测题_java开学第一周测试代码

    Account.java /* 信1705-3 20173612  陈阳阳 */ package ATM; public class Account { private String accountI ...

  7. java实验作业11浙江大学_浙江大学MOOC零基础学java第一周作业(一)

    温度转换 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度. 程序的输入是一个整数,表示华氏温度.输出对应的摄 ...

  8. java第一周的实验题,待优化(李老师)

    package homework;public class SumNum {public static void main(String[] args) {int sumFactorial = 0;f ...

  9. # 2019-2020.3 《java程序设计》第一周学习总结

    2019-2020-3 <Java 程序设计>第一周学习总结 在本周的学习中,学习到了好多也收获了好多,从最基础的安装虚拟机开始,根据老师的博客中的教程一步一步的进行,在这过程中也遇到了好 ...

最新文章

  1. OpenCV学习之Mat::at()理解
  2. 3、MySQL查看存储过程
  3. 产品经理面试中如何攻克有关用户体验的问题?
  4. java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承( )类得到的...
  5. thinkphp中__construct与_initialize()的区别
  6. 如何使用XML 配置的方式配置Spring?
  7. Linux中高斯分布的参数设置,华为openGauss 配置操作系统参数
  8. 指定Gradle构建属性
  9. Kali Linux 从入门到精通(八)-主动信息收集
  10. Linux 下的 sleep
  11. Redis 6.0学习指南
  12. css设置各种中文字体如雅黑、黑体、宋体、楷体等
  13. [剑指offer]-导航总结篇
  14. 机器人开发--Odoo(OpenERP)
  15. 悲催:一个80后程序员的爱情故事【视频】-但愿我不是那个陈旭阳!55...
  16. USYD悉尼大学INFO1110 详细作业解析Week3 all quizzes
  17. 本科项目——51单片机多功能万年历
  18. [Excel]rank函数实现自动排序
  19. 自绘动画android,(译)android利用Canvas和几何学绘制几何动画
  20. 你上面写的代码用什么编程软件?

热门文章

  1. 学习SQLServer: 设置QUOTED_IDENTIFIER
  2. 「Python 网络自动化」Nornir—— Inventory(主机清单)介绍
  3. MIT.6.00.1X --Week 3 Lecture 5 -- 'Divid and conqer' algorithm 分而治之
  4. jsonViewer json格式化工具
  5. XtraReport打印二维码
  6. SystemUI原生信号塔替换为五格信号塔
  7. virtualbox虚拟机识别U盘的详细教程
  8. python正则表达式例题_python—正则表达式实例
  9. 快速上手LaTex,书写美观学术论文
  10. 怎么制作动态图片?教你三步制作GIF图片?