1、假设int a=1和double d=1.0,并且每个表达式都是独立的,那么下面表达式的结果是什么?
a =46 / 9;
a=46%9 + 44 -2;
a=45+43%4(23* 3%2);
a %=3/a+3;
d=4+d * d+4;
d +=1.583+(++a);
d -=1.5*3+a++;
int a =46 / 9;
System.out.println(a);
5
int a=46%9 + 4*4 -2;
System.out.println(a);
15
int a=45+43%4*(23*3%2);
System.out.println(a);
48(优先级相同,从左到右输出)
a %=3/a+3;
System.out.println(a);
6
d=4+d*d+4;
System.out.println(d);
9.0
d +=1.583+(++a);
System.out.println(d);
4.583
d -=1.5*3+a++;
System.out.println(d);
-4.5
2、给出而求余的结果。
56 % 6 =2
78 % -4=2
-34 % 5=-4
-34 % -5=-4
5 % 1=0
1 % 5=1
两个数取余,被除数的符号存在作用,除数的负号可以划去(没用),即按两个整数取余后,若是被除数有符号,结果有负号。
3、如果今天是星期二,那么100天后是星期几?
我们都知道,一个星期七天,我们可以100/7得出余数,此时若余数大于5,则需要减7,否则直接加2得出结果,代码如下:
package demo;
public class Text {
public static void main(String[] args) {
int a=100;//共计100天
int b=2;//今天星期二
int c=a%7;
if(c>5)
System.out.println(c+b-7);
else
System.out.println(c+b);
}
}
此题我的代码有点麻烦,但是它适用两种情况。
4、下列语句正确吗?如果正确,写出其输出值。
System.out.println("25 / 4 is " + 25 / 4);
25 / 4 is 6
System.out.println("25 / 4.0 is " + 25 / 4.0);
25 / 4.0 is 6.25
System.out.println("3 * 2 / 4 is " + 3 * 2 / 4);
3 * 2 / 4 is 1
System.out.println("3.0 * 2 / 4 is " + 3.0 * 2 / 4);
3.0 * 2 / 4 is 1.5
5、修改错误
public class Test {
public void main(string[]
int i;
int k - 100.0;
int j-i+1;
System.out.println("j is " +j+" and k is "+k) ;
}
}
修改完成后
一开始i、j、k没有附初值,所以输出System.out.println();
报错,经过我的修改,代码如下:
package demo;
public class Text {
public static void main(String[] args) {
int i=0;
int k=0;
k-= 100.0;
int j=0;
j-=i+1;
System.out.println("j is " +j+" and k is "+k) ;
}
}
6、写出其输出值
float f = 12.5f;
int i = (int)f;
System.out.println("f is " + f);
System.out.println("i is " + i);
f is 12.5
i is 12
7、写出其输出值
public class Test {
public static void main(String[] args) {
charx='a';
char y='c';
System. out.println(++x);
System.out.println(y++);
System.out.println(x - y);
}
}
输出
b
c
-2
System.out.println("1" + 1);
System.out.println("1" + 1 + 1);
System.out.println("1" + (1 + 1));
System.out.println('l' + 1);
System.out.println('l' + 1 + 1);
输出
11
111
12
109
110
9、(求ASCII码时应的字符)
编写程序接收一个ASCII码(从0到128的锥数),然后显示它所代表的字符。 例如,如果用户输入的是97,程序显示的是字符a。
下面是一个运行示例:
package demo;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//接受String类型
String c=input.next();
//输出结果
System.out.println(c);
}
}
10、是否允许做以下的类型转换?如果允许,给出转换结果。
boolean b =true;
int i= (int)b;
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot cast from boolean to int
at demo.Text.main(Text.java:7)
无法转换
int i=1;
boolean b= (boolean)i;
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot cast from int to boolean
at demo.Text.main(Text.java:8)
无法强制转换
11、假设x=3而y=2,若有输出,给出下而代码的输出结果。
当x=3而y=4时,输出结果是什么?
当x=2而y=2时输出又是什么?
if (x > 2) {
if (y > 2) {
z=x+y;
System.out.println("z is " + z);
}
}
else
System. out. pri ntl n ("x is " + x);
x=3而y=2时
输出空
当x=3而y=4时
z is 7
x=2而y=2
x is 2
package demo;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
int x=1;
System.out.println(true &&(3>4));
System.out.println(!(x>0)&&(x>0));
System.out.println((x>0)||(x<0));
System.out.println((x!=0)||(x==0));
System.out.println((x>=0)||(x<0));
System.out.println((x!=1)==!(x==1));
}
}
输出
false
false
true
true
true
true
int x=1;
System.out.println((x>=1)&&(x++>1));
System.out.println((x>1)&&(x++>1));
false
true
经过第一个式子后,x++了,x变成了2,所以二式结果true
填空题结束,下期更新编程题,欢迎广大19经贸计算机同学浏览,指出我的错误。