Java作业1

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

8、写出其输出值

       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

12、假设x为1,给出下列布尔表达式的结果:
Java作业1_第1张图片

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

13、假定x是1,经过下而的表达式运算后,x的值是多少?
在这里插入图片描述

        int x=1;
        System.out.println((x>=1)&&(x++>1));
        System.out.println((x>1)&&(x++>1));
false
true

经过第一个式子后,x++了,x变成了2,所以二式结果true

填空题结束,下期更新编程题,欢迎广大19经贸计算机同学浏览,指出我的错误。

你可能感兴趣的:(java)