黑马程序员技术交流社区

标题: 复活第一帖,简单也别喷,大神们请进!~ [打印本页]

作者: 梁健生    时间: 2013-11-4 12:14
标题: 复活第一帖,简单也别喷,大神们请进!~
本帖最后由 梁健生 于 2013-11-4 19:25 编辑

1,运算符 优先级
例如:System.out.println(a+=5<5&&(b+=3)>5); 分析过程,讲解下。。谢谢!
2,二维数组中,如何给每个一维数组赋值:
例如:int[][] arr = new int [3][];
想给赋值arr[0]怎么赋值?



2个小问题,求助!~~


作者: ciowok    时间: 2013-11-4 12:31
{{1,2,3},{4,5,6}}
array[0][0] = 11;
array[0][1] = 22;
array[0][2] = 33;
{{11,22,33},{4,5,6}}
作者: Uncle.Lee    时间: 2013-11-4 13:11
1,楼主的表达的不清晰,但我猜测了大致意思,并对其修补如下:
int a=0;
int b=0;
System.out.println(a+=5<5&&(b+=3)>5);
<1>执行(b+=3)>5,执行结果是false;
<2>执行5<5,执行结果是false;
<3>执行false&&false,执行结果是false;
<4>执行a+=false,a是int型执行不了。。
        所以这条语句编译是不会通过的,可以做如下改正:
int a=0;
int b=0;
System.out.println((a+=5)<5&&(b+=3)>5);
改正后的最后执行结果为false


2,可以进行如下样式的赋值:
int a[][]=new int[3][];
        a[0]=new int[4];
        a[0][0]=54;
        a[0][1]=435;
        a[0][2]=67;
        a[0][3]=7;
作者: 咸鱼要吃猫    时间: 2013-11-4 15:45
第一个问题不拿手  -0-  你参考一下楼上那位  好细腻好犀利。

{{1,2,3},{4,5,6}}
array[0][0] = 11;
array[0][1] = 22;
array[0][2] = 33;
{{11,22,33},{4,5,6}}
至于二维数组  毕老师说过就是 数组里面装数组  
你就简单想成二叉树的模型   
你有一个数组  
数组里又有两个数组  
你要赋值 就是 找到第一个再找到第二个 就可以赋值了


作者: 魏-玉-彪    时间: 2013-11-4 16:34
本帖最后由 魏-玉-彪 于 2013-11-4 16:50 编辑

/*1,运算符 优先级
运算符的优先级(从高到低)
优先级        描述        运算符
1        括号        ()、[]
2        正负号        +、-
3        自增自减,非        ++、--、!
4        乘除,取余        *、/、%
5        加减        +、-
6        移位运算        <<、>>、>>>
7        大小关系        >、>=、<、<=
8        相等关系        ==、!=
9        按位与        &
10        按位异或        ^
11        按位或        |
12        逻辑与        &&
13        逻辑或        ||
14        条件运算        ?:
15        赋值运算        =、+=、-=、*=、/=、%=
16        位赋值运算        &=、|=、<<=、>>=、>>>=
*/
  1. class  Test
  2. {
  3.         public static void main(String[] args)
  4.         {        
  5.                 //在运算之前要初始化变量
  6.                 int a=3;
  7.                 int b=3;
  8.                 //System.out.println(a+=5<5&&(b+=3)>5);
  9.                 /*上面的表达式无法编译,因为+=运算符的优先
  10.                 级低于后面的运算符,这里如果a是整数无法和
  11.                 后面5<5&&(b+=3)>5的blooean型结果运算,a的值
  12.                 也不可以是blooean型,因为blooean型数据没有+=
  13.                 运算,要想运算,可以将优选级低的a+=5加上()提升
  14.                 优先级
  15.                 */
  16.                 System.out.println((a+=5)<5&&(b+=3)>5);
  17.                
  18.                
  19.                 System.out.println("Hello World!");
  20.                 //二维数组的初始化方法一
  21.                 int[][]arr1=new int [5][5];
  22.                 arr1[0][0]=0;
  23.                 System.out.println("arr[0][0]*****="+arr1[0][0]);
  24.                
  25.                
  26.                 //二维数组的初始化方法二,直接赋值
  27.                
  28.                 int[][]arr2={{1,2,3},{1,2,4}};

  29.                 System.out.println("arr1[0][0]*****="+arr2[0][0]);


  30.                 //int[][] arr = new int[3][];
  31.                 //这种定义方式是错误的会引起空指针异常
  32.                
  33.                
  34.         }
  35. }

  36. */
复制代码
二维数助中不存在赋值arr[0],只有arr[][];

无标题.png (27.83 KB, 下载次数: 3)

二维数组示意图

二维数组示意图

作者: 梁健生    时间: 2013-11-4 19:24
魏-玉-彪 发表于 2013-11-4 16:34
/*1,运算符 优先级
运算符的优先级(从高到低)
优先级        描述        运算符

Thank you !~~问题已解决。。。




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