黑马程序员技术交流社区

标题: 关于函数,数组,运算符,循环语句的几个练习(自学的同学注意) [打印本页]

作者: ytblght55    时间: 2013-6-25 21:48
标题: 关于函数,数组,运算符,循环语句的几个练习(自学的同学注意)
本帖最后由 ytblght55 于 2013-6-25 21:53 编辑

1.哪个答案和show函数重载。
class Demo
{
void show(int a,int b,float c){}
}

A.void show(int a,float c,int b){}//重载,参数不一样
B,void show(int a,int b,float c){}//不重载,参数一样
C.int show(int a,float c,int b){return a;}//重载
D.int show(int a,float c){return a;}//重载
--------------------------------------------------
2.写出结果。
class Demo
{
public static void main(String[] args)
{
  int x=0,y=1;
  if(++x==y-- & x++==1 || --y==0)
   System.out.println("x="+x+",y="+y);
  else
   System.out.println("y="+y+",x="+x);
}
}
//答案为  x=2 , y=0;
--------------------------------------------------
3.
写出输出结果。
class Demo
{
public static void main(String[] args)
{
  int a=3,b=8;
  int c=(a>b)?a++:b++;
  System.out.println("a="+a+"\tb="+b+"\tc="+c);       //c=8,b=9,a=3  
  int d=(a>b)?++a:++b;
  System.out.println("a="+a+"\tb="+b+"\td="+d);    // b=10,d=10,a=3   
  int e=(a<b)?a++:b++;   
  System.out.println("a="+a+"\tb="+b+"\te="+e);  //e=3,a=4,b=10
  int f=(a<b)?++a:++b;   
  System.out.println("a="+a+"\tb="+b+"\tf="+f); //a=5,f=5,b=10
}
}
--------------------------------------------------
4.写出结果。
class Demo
{
public static void main(String[] args)
{
  int m=0,n=3;
  if(m>0)
  
   if(n>2)
    System.out.println("A");  
   else
   System.out.println("B");
  
}
}
//无输出,条件不满足
--------------------------------------------------

7.写出结果。
class Demo      
{
public static void main(String[] args)
{
  String foo="blue";
  boolean[] bar=new boolean[2];
  if(bar[0])
  {
         foo="green";
     }
  System.out.println(foo);
}
}  
//输出是blue,bar是一个布尔型的,默认值是false,那么if里面的语句是false不执行
--------------------------------------------------
7.写出结果。
public class Test      
{
public static void leftshift(int i, int j)
{
     i+=j;
}
public static void main(String args[])
{
  int i = 4, j = 2;
  leftshift(i, j); //值传参  传进入是实际参数的副本
  System.out.println(i); //i的值不变
}
}
//i=4
--------------------------------------------------
8.写出结果。
public class Demo
{
public static void main(String[] args)
{
  int[] a=new int[1];
  modify(a);
  System.out.println(a[0]);
}
public static void modify(int[] a)
{
  a[0]++;
}
}
//答案是1,无压力
--------------------------------------------------
9.
class Test
{
public static void main(String[] args)
{
  String foo=args[1];
  String bar=args[2];
  String baz=args[3];
}
}
d:\>java Test Red Green Blue

what is the value of baz?
  A. baz has value of ""
  B. baz has value of null
  C. baz has value of "Red"
  D. baz has value of "Blue"
  E. baz has value of "Green"
  F. the code does not compile

  G. the program throw an exception
//我们看函数定义的值为 args[1],args[2],args[3],那么我们可以知道数组是有4个元素的,而我们传入的只有red,green,blue,三个元素,提示超出角标
--------------------------------------------------
10.下面哪个数组定义是错误的。
并对错误的答案加上单行注释,写出错误的原因。
A,float[]   =new float[3];  //没有定义数组名字
B, float f2[]=new float[];   //不行没有定义数组的个数   
C, float[] f1=new float[3];   //可以
D, boolean[] b={"true","false","true"}; //错,boolean不能定义字符
E, double f4[]={1,3,5}; //可以
F, int f5[]=new int[3]{2,3,4};  //不行
G, float f4[]={1.2,3.0,5.4}; //浮点形要加f


作者: 许庭洲    时间: 2013-7-4 05:51
值得学习ing!
作者: Just_Only    时间: 2013-7-4 08:45
支持了。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2