Java数据类型与运算符-PTA答案

判断题

java语言中不用区分字母的大写小写。(F)

Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。(T)
解析:因为Unicode编码方案每个字符占2个字节,所以也就是16个比特位.所以选B

数组也是对象。(T)

使用方法length( )可以获得字符串或数组的长度。(F)

一个Java源文件中可以有多个类,但只能有一个类是public的。(T)

boolean型数据的值只有true和false。(T)

Java中的常量用final关键字修饰,标识符一般大写,赋值机会只有一次,必须在定义的时候赋初值。(F)

Java中,通过强制类型转换实现高精度的数据类型向低精度的数据类型赋值时,其数值不变。 (F)

Java基本数据类型的变量所占存储空间大小是固定的,与平台(操作系统)无关。这样方便程序的移植。(T)

Java中,某个四则运算表达式中的数值有一个是double类型,则计算之后的数值一定是double类型。(T)

-5%3的运算结果是2。(T)

在为double类型的变量赋值时,后面可以加字母D或d,也可以不添加。(T)

在Java中,小数会被默认是double类型的值。(T)

JAVA中常量名所有字母都大写,单词之间用下划线连接。(T)

"float height=1.0f;"是正确的float变量声明 (T)

“byte amout=128;”是正确的byte型变量声明。(F)

单选题

下面( )表达式可以得到x和y中的最大值。(B)
A.x>y?y:x
B.x<y?y:x
C.x>y?(x+y):(x-y)
D.x==y?y:x

假设有如下程序:

public class Demo {
          public static void main(String args[]) {
                   int num = 50 ;
                   num = num ++ * 2 ;
                   System.out.println(num) ;
         }
}

最终的执行结果是什么?(D)
A.50.0
B.102.0
C.100.0
D.101.0

假设有如下程序:

public class Demo {
        public static void main(String args[]) {
                int num = 68 ;
                char c = (char) num ;
                System.out.println(c) ;
        }
}

最终的执行结果是什么?(C)
A.B
B.C
C.D
D.a

以下语句输出的结果是?(A)

 String str="123";
 int x=4,y=5;
 str = str + (x + y);
 System.out.println(str);

A.1239
B.12345
C.会产生编译错误
D.123+4+5

一个表达式中有int、byte、long、double型的数据相加,其结果是(D)类型的值
A.int
B.long
C.byte
D.double

阅读下列Java程序,如果在命令窗口输入java cmdtest Welcome to Earth!来运行此程序,请写出程序运行时输出结果:(D)

class cmdtest {
   public static void main(String[] args){
      for(int i=0;i<args.length;i++){
         System.out.println("args["+i+"]="+args[i]);
      }
   }
}

A.

args[0]=java
args[1]=cmdtest
args[2]=Welcome
args[3]=to
args[4]=Earth!

B.

args[0]=java
args[1]=cmdtest
args[2]=Welcome to Earth!

C.

args[1]=Welcome
args[2]=to
args[3]=Earth!

D.

args[0]=Welcome
args[1]=to
args[2]=Earth!

下列关于变量作用域的说法中,正确的是(C)
A.在main()方法中任何位置定义的变量,其作用域为整个main()方法。
B.代码块中定义的变量,在代码块外也是可以使用的。
C.变量的作用域为:从定义处开始,到变量所在代码块结束的位置。
D.变量的作用域不受代码块的限制。

以下标识符中,不合法的是(C)
A.user
B.$inner
C.class(关键字)
D.login_1

下列选项中,不属于赋值运算符的是(A)

A.-=
B.=
C.==(比较运算符)
D.*=

下列选项中,不属于比较运算符的是(A)
A.=(赋值运算符)
B.==
C.<
D.<=

执行下列程序后,输出的正确结果是(A)。

public class Test {
    public static void main(String[] args) {
        System.out.print(100%3);
        System.out.print(",");
        System.out.println(100%3.0);
    }
}

A.1,1
B.1,1.0
C.1.0,1
D.1.0,1.0

下列赋值语句中错误的是(D)。
A.float a=11.2f;
B.double b=5.3E10;
C.char c='\r;
D.byte d=433;

假设有以下整型变量赋初值语句:int i=1+1/2+1/4;请问该语句执行后变量i的值为:(A)
A.1
B.1.75
C.2.5
D.3

下面程序段:

boolean a = false;
boolean b = true;
boolean c = (a && b) && (!b);
boolean result = (a & b) & (!b);

执行完后,正确的结果是(A)。
A.c=false; result=false;
B.c=true; result=true;
C.c=true; result=false;
D.c=false; result=true;

下列选项中,(B)是正确的char型变量的声明。
A.char ch=“R”;
B.char ch=‘\’
C.char ch=‘ABCD’
D.char ch=“ABCD”
解析:单引号,一个字符

编程题

基本语法-06-枚举

定义一个枚举类型Grade来表示考试的4个等级,值包含A,B,C,D,E

编写一个函数Grade getGrade(int score)将传递进来的score转化为枚举类型

>=90 and <=100返回A>=80 and <90 返回B>=70 and <80 返回C>=60 and <70返回D,
其他的返回E

#main方法
输入分数后,调用getGrade函数返回相应的Grade,使用switch根据Grade,根据分数打印不同的评价:
Excellent Good Average Fair Poor
并且每输出一个评语后,要调用如下函数

public static void printGradeInfo(Grade grade){
       System.out.println("class name="+Grade.class);
       System.out.println("grade value="+grade);
}

输入样例:

90
80
70
60

输出样例:

Excellent
class name=class Grade
grade value=A
Good
class name=class Grade
grade value=B
Average
class name=class Grade
grade value=C
Fair
class name=class Grade
grade value=D

代码:

import java.util.Scanner;
enum Grade{
A,B,C,D,E;
}
public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int score = sc.nextInt();
printGradeInfo(getGrade(score));
}
sc.close();
}
public static Grade getGrade(int score) {
Grade g ;
switch((int)score/10) {
case 10:
case 9:
System.out.println("Excellent");
g=Grade.A;
break;
case 8:
System.out.println("Good");
g=Grade.B;
break;
case 7:
System.out.println("Average");
g=Grade.C;
break;
case 6:
System.out.println("Fair");
g=Grade.D;
break;
default:
System.out.println("Poor");
g=Grade.E;
}
return g;
}
public static void printGradeInfo(Grade grade){
System.out.println("class name="+Grade.class);
System.out.println("grade value="+grade);
}

}

判断闰年

根据输入的正整数y所代表的年份,计算输出该年份是否为闰年
闰年的判断标准:

能够被4整除且不能被100整除的年份

或者能够被400整除的年份

输入格式:
输入n取值范围是 【1…3000】

输出格式:
是闰年,输出 yes

非闰年,输出 no

输入样例:
在这里给出一组输入。例如:

100

输出样例:
在这里给出相应的输出。例如:

no

代码:

import java.util.*;				
public class Main
{
    public static void main(String args[])
    {
        Scanner input=new Scanner(System.in);
        int y=input.nextInt();
        if(y%400==0)System.out.println("yes");
        else if(y%100==0)System.out.println("no");
        else if(y%4==0)System.out.println("yes");
        else System.out.println("no");     

    }
}

计算摄氏温度

求华氏温度100对应的摄氏温度
计算公式:celsius = 5 * (100 - 32) / 9

输入格式:

输出格式:
输出100和对应的摄氏温度

输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:
100 37.78

代码:

# include <stdio.h>
# include <stdlib.h>

int main(){
    int fahr = 100;
    float celsius;
    celsius = 5.0 * (fahr - 32) / 9;
    printf("%d %.2f",fahr,celsius);
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值