一、不定项选择题
1.下面的哪些声明是合法的:
A.byte b=128;
B.boolean b=null;
C.long a = 2147483648L;
D.float f=0.9239;
E.int i = 4L;
F.double d = 34.4;
G.long g =10000000000;
2.下列数据类型转换,必须进行强制类型转换的是:
A.byte→int
B.short→long
C.float→double
D.int→char
3.以下程序的输出结果为:
public static void main(String args[]) {
int x=1,y=1,z=1;
if (x–==1&&y++==1||z++==1)
System.out.println(“x=”+x+",y="+y+",z="+z);
}
A.x=0,y=1,z=1
B.x=0,y=2,z=2
C.x=0,y=2,z=1
D.x=1,y=2,z=1
4.下列Java标识符,错误的是:
A. _sys_varl
B. $change
C. User_name
D. 1_file//不能以数字开头
E. car.taxi//不能出现特殊符号 .
5.在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:
A.10
B.7
C.13
D.14 Unicode中编码一个字符两个字节。
6.下列赋值语句中,正确的是:
A.byte b1 = 10, b2 = 20;
byte b=b1+b2;
B.byte b1 = 10, b2 = 20;
byte b=b1+20;
C.byte b1 = 10, b2 = 20;
byte b=b2+10;
D.byte b1 = 10;
byte b=++b1;
7.关于下列代码说法正确的是:
public static void main(String[] args) {
int first = 100;
System.out.println(first);
System.out.println(second);
first = 123.456;
}
A.编译正确
B.代码System.out.println(first);行,编译出错
C.代码System.out.println(second);行,编译出错
D.代码first = 123.456;行,编译出错
8.选择Java语言中的基本数据类型:
A. byte B. Integer C. String D. char E. long
9.下面代码的输出结果是:
public class Main {
public static void main(String[] args) {
int n1 = 1;
int n2 = 2;
n1 = n1 + n2;
n2 = n1 - n2; //1
n1 = n1 - n2; //2
System.out.println(n1 + “,” + n2);
}
}
A. 1,2 B. 2,1 C. 1,3 D. 3,2
二、简答题
1.隐式转换和显示转换的区别?
①小类型转换为大类型叫自动类型转换,也叫隐式转换。转换时不需要我们操作,编译器会自动进行转换
②大类型转换为小类型叫强制类型转换,又叫显示转换。转换时需要我们在要转换的变量或字面值前加小括号(),小括号中放入要转换的数据类型,当需要转换的数值不超出小类型的取值范围,正常转;当需要转换的数值超出小类型的取值范围,会出现溢出,溢出多少视类型而定。需要注意的是,如果小数转成整数,会直接将小数点后面的所有位数全部舍弃,不存在四舍五入。
2.&和&&的区别?
&既是位运算符,也是逻辑运算符。当&的两边是数字时,会将数字转换成二进制数进行按位与运算,同为1才为1,其他情况都为0,当&的两边是boolean类型时,会进行逻辑判断,左右两边都为true时才返回true.
&&是逻辑与运算符,俗称短路与。
二者的区别,在判断时,如果左边的表达式结果为false时,短路与&&会直接返回false,不再对右边表达式进行判断(见false 则false)而&会将左右两边的表达式都判断完才返回结果。推荐使用短路与,执行效率高
三、编程题
让用户从控制台输入3个数,并计算出3个数中的最小值,输出结果。
package com.huacit.day02;
import java.util.Scanner;
/**
* @author yyc
* 让用户从控制台输入3个数,并计算出3个数中的最小值,输出结果。
*/
public class Excise_Min {
public static void main(String[] args) {
System.out.println("请输入三个数:");
//定义Scanner对象
Scanner input = new Scanner(System.in);//in从控制台输入到程序
int a = input.nextInt();
int b = input.nextInt();
double c = input.nextDouble();
double min = a < b ? a : b;
double min2 = min < c ? min : c;
System.out.println(min2);
}
}
运行结果实例: