if相关训练

 

 

If语句相关训练

 

 

1. (标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由 (CDF)

A. ILoveJava 

B. $20 

C. learn@java 

D. antony.lee 

E. Hello_World 

F. 2tigers 

答:标识符中不能有@,不能含有点号,开头只能是字母和$

 

2. Java 程序的编译与运行)假设有如下程序: 

package com.corejava.chp1; 

public class HelloWorld{ 

public static void main(String args[]){ 

System.out.println("Hello World"); 

问: 

1)假设这个代码存在 hello.java 文件中,那这个程序能够编译通过?为什么?

如果编译不通过,应该如何改进? 

答:不能,含有public的类文件名必须要和类名一致;应将hello.java改写成HelloWorld.java

2)假设这个.java 文件放在 C:\javafile\目录下,CLASSPATH=.,则生成的.class

文件应该放在什么目录下?如何运行? 

 答:.class应该存放在C:\javafile\目录下

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

 public class Test {

int  n;

If(n%2==0){

System.out.println(n+是偶数 );

}else{

System.out.println(n+是奇数);

}

}

4. (操作符)有如下代码: 

int a = 5; 

int b = (a++) + (--a) +(++a); 

问执行完之后,的结果是多少? 

答:16 解析a先把5赋值给b让后再自增1相当于(b=5+(--6)+(++5)

5. (基本类型的运算)一家商场在举行打折促销,所有商品都进行 折优惠。一

位程序员把这个逻辑写成: 

short price = ...; // 先计算出原价 

short realPrice = price * 8 / 10; //再计算出打折之后的价格 

问:这段代码是否正确?如果正确,假设 price 为 100,那计算之后的 realPrice

值为多少?如果不正确,应该怎么改正? 

 

 

答:不正确,应为int类型不能自动转换成short 类型 应该为:

public class DiscountTest {

public static void main(String[] args) {

short price=100;

short realPrice=(short) (price*8/10);

System.out.println(realPrice);

}

}

6题忽略 

7. (操作符)有如下代码: 

a = (a>b)?a:b; 

 请问这段代码完成了什么功能。 

 答:这段代码的作用是取最大值,当a>b成立时,a=a;a>b不成立时,a=b;

 

 

 

8. if 语句)读入一个整数,表示一个人的年龄。如果小于 岁,则输出“儿童”,

岁到 13 岁,输出“少儿”;14 岁到 18 岁,输出“青少年”;18 岁到 35 岁,输

出“青年”;35 岁到 50 岁,输出“中年”;50 岁以上输出“中老年”。 

 答:public class AgeTest {

public static void main(String[] args) {

int n=12;

if(n<6){

System.out.println(n+"岁属于儿童");

}else if(n>=6&&n<=13){

System.out.println(n+"岁属于少儿");

}else if(n>=14&&n<=18){

System.out.println(n+"岁属于青少年");

}else if(n>18&&n<=35){

System.out.println(n+"岁属于青年人");

}else if(n>35&&n<=50){

System.out.println(n+"岁属于中年人");

}else if(n>50){

System.out.println(n+"岁属于中老年人");

}

}

}

9. switch 语句)读入一个整数,如果是 1~5 之间,则分别输出 个福娃的名字,

否则输出“北京欢迎你”。 

答:public class BlessingTest {

public static void main(String[] args) {

int n=2;

switch(n){

case 1:System.out.println("贝贝");

break;

case 2:System.out.println("晶晶");

break;

case 3:System.out.println("焕焕");

break;

case 4:System.out.println("莹莹");

break;

case 5:System.out.println("妮妮");

break;

default:System.out.println("北京欢迎你");

}

}

}

 

 

 

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

 答:public class MaxTest {

public static void main(String[] args) {

int a=2;

int b=5;

int c=6;

if(a>b&&a>c){

System.out.println(a+"是三个数中的最大值");

}else if(a<b&&b>c){

System.out.println(b+"是三个数中的最大值");

}else{

System.out.println(c+"是三个数中的最大值");

}

}

}

 

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

如何判断一个年份是否是闰年: 

1. 如果这个年份能够被 整除,且不能被 100 整除,则这一年是闰年。例

如,1996 年是闰年,而相应的,1993 年就不是闰年。 

2. 如果这个年份能够被 100 整除,则这个数必须要能被 400 整除,才是闰

年。例如,2000 年是闰年,1900 年不是闰年。 

答:public class LeapYearTest {

public static void main(String[] args) {

int year=1900;

if(year%4==0&&year%100!=0||year%100==0&&year%400==0){

System.out.println(year+"年是闰年");

}else{

System.out.println(year+"年是平年");

}

}

}

 

 

12. switch 语句)*完成一个简单的计算器程序。程序要求如下: 

1. 读入两个整数 

2. 提示用户选择对这两个整数的操作,即输出 

: 

: 

: 

: 

请输入您的选择: 

读入用户的选择,输出运算结果。 

 答:public class Calculator {

private static int operators;

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("请选择要运算的方式:1,2,3,4分别代表加减乘除");

operators=sc.nextInt();

double sum=CalculatorMethod(a,b);

System.out.println(a+""+b+"运算的结果是:"+sum);

sc.close();

}

private static double CalculatorMethod(int a, int b) {

double sum=0;

switch(operators){

case 1:sum=a+b;

break;

case 2:sum=a-b;

break;

case 3:sum=a*b;

break;

case 4:sum=a/b;

}

return sum;

}

}

13. if 语句)*托运计费问题: 

当货物重量小于 20 公斤的时候,收费 元,大于 20 公斤小于 100 公斤的时

候超出 20 公斤的部分按每 0.2 元每公斤计费,如果超出 100 公斤的时候,超出

的部分按照每公斤 0.15 元计算。 

读入货物的重量,输出计算之后货物的运费。 

答:public class CheckFee {

public static void main(String[] args) {

double w=130;

double price=0;

if(w<=20){

price=5;

}else if(w>20&&w<=100){

price=5+(w-20)*0.2;

}else if(w>100){

price=5+(100-20)*0.2+(w-100)*0.15;

}

System.out.println(price);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值