我的java基础题和答案详解 下载本文

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.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);

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

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

5. (基本类型的运算)一家商场在举行打折促销,所有商品都进行 8 折优惠。一 位程序员把这个逻辑写成: 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 语句)读入一个整数,表示一个人的年龄。如果小于 6 岁,则输出“儿童”, 6 岁到 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 之间,则分别输出 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(ac){

System.out.println(b+\是三个数中的最大值\ }else{ System.out.println(c+\是三个数中的最大值\ } } }

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

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

2. 如果这个年份能够被 100 整除,则这个数必须要能被 400 整除,才是闰 年。例如,2000 年是闰年,1900 年不是闰年。 答:public class LeapYearTest { public static void main(String[] args) { int year=1900; if(year%4==0&&year0!=0||year0==0&&year@0==0){ System.out.println(year+\年是闰年\ }else{ System.out.println(year+\年是平年\