(一)变量定义
一、选择
- 下列属于合法的 Java 标识符是?(多选)
A. $value B. Void C. class D. 1abc E. my value F.void_class
ABF
- 下列哪一个选项不是Java的关键字?
A. class B. package C. Void D. static
C
- 下列可以表示数值型数据的数据类型是?(多选)
A. byte B. float C. boolean D. long
ABD
- 关于数据类型的说法错误的是?
A. 数据类型分为基本数据类型和引用数据类型 B. 数组属于基本数据类型 C. 类属于引用数据类型 D. int和double属于基本数据类型
B
- 下列关于赋值运算符的说法正确的是?(多选)
A. 使用“=”给变量进行赋值 B. 使用“==”给变量进行赋值 C. "="叫作赋值运算符,将运算符右边的值赋给左边的变量 D. "="叫作赋值运算符,将运算符左边的值赋给右边的变量
AC
- 以下对double类型字面值的表示错误的是?
A. 1.23 B. 1.23d C. 1.23D D.1.23f
D
- 以下语句哪个是错误的?
A. double d=12.3d; B. double d=12.3D; C. float f=1.23f; D.float f=1.23;
D
- 下面代码运行后的结果为?
A. A B. 65 C. A 65 D.A A
D
- 以下字符型字面值中,不合法的是?
A. ‘@’ B. ‘&’ C. “M” D.‘课’
C
- 以下哪两个是合法的字符串字面值?(多选)
A. “” B. ‘ab’ C. ‘a’ D."\u0067"
AD
- 以下哪两条语句是正确的?(多选)
A. char ch=65539; B. int n=5.6f; C. double d=1.2f; D. double d=1.23;float =1.23f;
CD
二、编程
- 分别定义float、double、int类型的数据,并打印输出。
public class FloatDemo {
public static void main(String[] args){
// 定义一个float类型的变量f1,值为98.4
float f1 = 98.4F;
//定义一个float类型的变量f2,将f1的值赋值给f2
float f2 = f1;
//定义一个整型变量n,值为55
int n = 55;
//定义一个double类型的变量d1,值为555.3
double d1 =555.3;
//将n的值赋值给d1
d1 = n;
//输出
System.out.println(f2); //98.4
System.out.println(d1); //55.0
}
}}
- 定义字符型变量,赋值后输出。
public class CharTest {
public static void main(String[] args) {
// 定义字符变量c,并赋值为'S'
char c ='S';
//输出c的值
System.out.println(c); //S
//定义字符变量c1,并赋值为78
char c1 =78;
//输出c1的值
System.out.println(c1);//N
}
}
- 定义布尔类型和字符串类型的变量,为它们赋值,并打印输出。
public class StringDemo {
public static void main(String[] args){
// 定义一个布尔类型的变量flag,赋值为true,并输出
boolean flag = true;
System.out.println(flag); //true
//定义一个字符串类型的变量str,值为"hello world",并输出
String str = "Hello World";
System.out.println(str); //Hello World
//定义一个字符串类型的变量str1,值为空串
String str1 = "";
//将str的值赋值给str1,并输出
str1 = str;
System.out.println(str1);//Hello World
}
}
- 定义各种数据类型的变量,为它们赋值,并打印输出。
public class TypeExchang {
public static void main(String[] args){
// 定义一个整型变量n,值为98
int n = 98;
//定义一个char类型的变量ch,将变量n赋值给ch,然后输出ch的值
char ch = (char) n; //char ch =n直接将n赋值出错,需要进行强制转换
System.out.println(ch); //b
//定义一个长整型变量var,值为190000000,并输出
long var = 190000000;
System.out.println(var);//190000000
//定义一个double类型的变量d,将变量var的值赋值给d
double d = var;
System.out.println(d);//1.9E8
}
}
- 定义各种数据类型的变量,按要求为它们赋值,并打印输出。
public class test1 {
public static void main(String[] args){
// 将一个整型字面值67832赋值给char类型变量c,并将c的值输出
char c = (char)67832;
System.out.println(c); //?
//定义一个整型变量n,值为65
int n =65;
//定义一个字符型变量c1,赋值为n,并输出c1的值
char c1 =(char)n;
System.out.println(c1);//A
//定义一个长整型变量l,值为987654321
long l = 987654321L;
//定义一个整型变量i,赋值为l,并输出i的值
int i = (int)l; //要进行强制转换
System.out.println(i);//987654321
//定义一个float类型变量f,将变量l的值赋值给f,并输出f的值
float f = l;
System.out.println(f);//9.8765434E8
//将float的值f,重新赋值给变量l,并输出l的值
l =(long)f; //要进行强制转换
System.out.println(l);//987654336
}
}
总结:
- char 只能是单个字符(2个字节大小的Unicode),使用 "单引号(单字符或\u000-\u00ff的ASCII编码集)或是整数(ASCII码值)
- 要将其他基本数据类型转换成char类型,只能强制转换,最后的结果根据ASCII计算,如果溢出,输出结果为?
- 强制转换。凡是高精度类型转换成低精度类型都要进行强制转换;转换后可能够造成精度缺失或是溢出的情况
(二)运算
一、选择
- 设有如下变量,以下哪些语句编译不出错?
char c ='c';
int i =10;
double d =10;
long l =1;
String s ="Hello";
int a =2;
A. c=c+i; B. s+=i; C. i+=s; D.c+=s;
B
- 若有 a=3,则执行下列语句为a的值为? a+=a*=a; ?
A. 3 B.12 C. 9 D.18
B
- 下面的运算符中,用于执行除法运算是哪个?
A. / B. \ C. % D.*
A
- 下面代码的输出结果为?
int m=5,n=6;
int x=(m++)+n;
int y=(--m)+n;
System.out.println(x);
System.out.println(y);
A. x=11,y=11 B. x=10,y=11 C. x=10,y=12 D.x=12,y=10
A
- 执行下列程序段后,m,x,y的值分别是
int x=2,y=4;
boolean m;
m = ++x > y--;
A. true,2,4 B. false,3,3 C. true,3,3 D.false,2,4
B
二、编程
1.根据任务要求完成本题
public class test1 {
public static void main(String[] args){
//将变量m的初值赋值为10,变量n的初值赋值为5
double m =10,n =5;
//变量m的值加3,n的值加5
m+=3;
n+=5;
//求m和n的平均值,并将结果存于变量p中
double p = (m+n)/2;
//求m的平方乘以n的平方,并将结果存于变量q中
m*=m;
n*=n;
double q =13*13*10*10;
//将p和q的值打印输出
System.out.println(p);//11.5
System.out.println(q);//16900.0
}
}
2.定义三个整型变量a、b、c,他们的初始值分别为4、15、20。对表达式进行运算。
public class test1 {
public static void main(String[] args){
//声明三个整型变量a、b、c
int a,b,c;
//分别为a,b,c赋值为4,15,20
a=4;
b=15;
c=20;
//计算(b/a)+c的值 ,并赋值给变量m
int m =(b/a)+c;
//计算(c%b)*a-c的值,并赋值给变量n
int n =(c%b)*a-c;
//输出m和n的值
System.out.println(m);//23 由于设置的abc是整型,所以计算后的值也是整型
System.out.println(n);//0
}
}
总结:
- 不同数值类型数值运算时自动转换成同一种范围大类型进行运算,基本数据类型与字符串类型进行运算时转换成字符串类型
- 运算时,遵循从左到右的基本运算顺序,如果有运算符,根据运算符的优先规则进行运算
- ++m 返回计算后的m值
m++ 返回计算前的m值