测试是我职业生涯中最喜欢的工作,也希望自己在这个空间里每天进步一点点,改善自己,提高自己。
发布新日志
-
2008-02-22 12:28:38
1.java中并没有真正的多维数组,只有数组的数组,java中多维数组不一定是规则矩阵形式
2.定义一个多维数组
int[][] xx;
xx=new int[3][];
xx[0]=new int[3];
xx[1]=new int[2];
xx[2]就不能被使用,因为因为没有被指定为对象;
3.int[][] xx=new int[2][3];
xx[0][0]=3;
xx[1][2]=6;
for(int i=0;i<xx.length;i++)
{
for(int j=0;i<xx[i].length;j++)
System.out.println(xx[i][j])
}
4.定义数组时可以对数组进行初始化
int[][] xx={{3,2,7},{1,5},{6}}
5.与数序相关的函数
1)排序:用Array.sort来排序数组
int[] x;
x=new int[]{3,1,2,4}
java.util.Array.sort(x);//排序
2)使用System.arraycopy()函数拷贝数组
System.arraycopy(x,0,y,2,4)
5个参数:
x 源数组
0 开始copy的位置
y 目的数组
2 开始的位置
4 copy的长度
查看(425)
评论(0)
收藏
分享
管理
-
2008-02-22 11:14:18
1.数组:
定义 int x[] = new int[100];//定义了100个变量 x[0],x[1]---x[99]
int x[] = new int[100];
int sum=0;
for(int i=0;i<100;i++)
{
sum+=x[i];
}
2.栈内存,堆内存
int[] x, new int [100]
栈中是堆中的一个名称;
堆有拉圾回收的机制
堆内存对象的首地址放在占内存中
如果想让x不指向任何数组对象,可以通过x=null;就可以和数组对象断开关系,
这样数组对象就变成了垃圾,等待垃圾回放
3.int x[] 和 int[] x是一样的
4.数组对象中的值初始都是0
5.可以在定义数组的同时,可以对数组进行赋值
静态数组
int ia[]={1,2,3,4};
int[] ia=new int[]{3,4,5};
int a[5]//这是错误的,声明数组时,不能指定其长度,编译时将出错。
使用数组时要注意的问题:
* 空指针异常(空对象的情况)
一般会提示NullPointerException的提示
*数组越界异常
1).超过最大角标号的情况
2).没有new 对象 就直接用数组中的一个值例如 arg[0]也会提示这样的错误
一般提示ArrayIndexOutOfBoundsException
*如何得到数组长度
int[] x;
x=new int[]{1,2,3,4}
int x[] = new int[100];
int sum=0;
for(int i=0;i<x.length;i++)
{
sum+=x[i];
}
查看(192)
评论(0)
收藏
分享
管理
-
2008-02-22 09:11:55
System.out.println(Float.intBitsToFloat(0x7f800000))
0 111 1111 1000 0000 0000 0000 0000 0000
31位是符号位,30-23 幂指数,22--0有效位
打印出来的就是正的无穷大, 即infinity
0x7f800001比正的无穷大还要大的数
如果是 0x7f800001将打印出NAN,不是一个数字
最大数是0 111 1111 0111 1111 1111 1111 1111 1111
0x7f7fffff
3.4028235E38
最小的正浮数 0000 0000 0000 0000 0000 0000 0000 0001
0x000000001
1.4E-45
由于浮点数有小数位,所以编程时一定要注意不要用等号
例如不能写成
if(x==3.14)就不正确
应该写成if(x>3.14 || x<3.15)
查看(426)
评论(0)
收藏
分享
管理
-
2008-02-21 22:30:52
switch(表达式)//表达式可以是int,byte,char,shot型,不可以接受其他类型
{
case 1:
多条语句
case 2:
多条语句
case 3:
多条语句
}
注意break地用法,跳出循环,不再执行后面的语句
如果没有break就顺序执行case后的语句。
一点碰到第一次case匹配,就会顺序执行以后所有程序的代码,而不管后面的case条件是否匹配,后面case
条件下的代码都会被执行,直到碰到break语句为止.我们可以利用这个特点来用同一条语句处理多个case条件。
while (x<3)
{
多条语句
}
注意:
1.如果没有{},则只有一条语句是有效的
2.while表达式的括号后面一定不要加;
do-while语句
do 语句
while(表达式);
public class Test
{
public static void main(String [] arg)
{
int x=3;
while(x==0)
{
System.out.println("ok");
x++;
}
int y=3;
do
{
System.out.println("ok2");
y++;
}while(y==0);//注意后面要有分号。
}
}
编写一个程序,从键盘上输入字符,到读到自负‘q’时程序结束
调用System.in.read();可以从键盘上输入字符对应的整数
do-while语句要比while语句方便
try
{
x=System.in.read()
}catch(Exception e){}
while(x!='q')
{
System.out.println((char)x);
try{
x=System.in.read();//读取下一个读取的数值
}catch(Exception e){}
}
输入a还要回车和换行所以
13回车
10换行
do
{
try
{
x=System.in.read();
}catch(Exception e){}
System.out.println((char)x);
}while(x!='q');
for(int i=1,x<10,i++)
{
System.out.println(i)
}
break和 continue语句区别
break 可以中止循环中的子语句和switch语句。一个无标号的break 语句会把控制传给当前循环
(while ,do,for,switch)得下一条语句,如果有标号控制会被传递给当前方法中带有此标号的语句中
st:while(true)
{
while(true)
{
break st;
}
}
continue语句只能出现在while do for的子语句中,
无标号的continue语句的作用是跳出当前循环的剩余语句块,接着执行下一次循环。用continue
语句打印0到10之间所有奇数的程序例子:
for(i=1,i<=10,i++)
{
if(i%2==0)
continue;
System.out.println(i);
}
查看(413)
评论(0)
收藏
分享
管理
-
2008-02-20 10:58:23
Java的学习-IF语句:
1.if (表达式)
{若干语句}
else
{若干语句}
2.if (表达式)
一条语句
else
一条语句
3.if (表达式)
{若干语句}
else if (表达式)
{若干语句}
else if (表达式)
{若干语句}
----
else
{若干语句}
4.if语句可以嵌套使用,嵌套时最好使用{}确定层次界限
5.变量=布尔表达式?语句1:语句2
例如:
y=x>0?x:-x
查看(304)
评论(0)
收藏
分享
管理