不能停止

运动,游玩,学习,我的爱不能停止

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  5 随笔 :: 3 文章 :: 8 评论 :: 0 Trackbacks

差不多扔下java1年多了,现在回来看看才明白什么叫一日千里,我还是想把以前丢下的东西找回来,所以看看资料.把笔记放在这里

float fl=3.5; //错误 因为3.5是double的 应该是:float fl=3.5f;

byte b = 3;
b = b - 1;
以上写法错误 因为如果表达式中有int型数字,那么所有的byte ,shot,char的值都将被提升到int;同样,long,float, double也是如此

System.out.println('a'+1);  结果是98

System.out.println(""+'a'+1); 结果是a1

static void drawTech(int x,int y)
{.........}
这个方法可以直接使用而不需要new,比如在main方法中写drawTech(3,5);

System.out.println("2+5="+getAres(2,5));而不是
System.out.println("2+5=",getAres(2,5));

非法参数的检查用return;直接返回

函数的重载就是在一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或者类型不同即可

小数之间的除 结果会保留小数部分
整数之间的除 结果抛弃小数部分
-------------------------
int x=5,y;
int y=x/2;//结果是2
--------------------------
int x=5,y;
float f=x/2;//结果是2.0
----------------------------
int x=5,y;
float f=(float)x/2;//结果是2.5  这里发生了表达式数据类型提升
------------------------------------------------------------
int x=3510;x=x*1000/1000;  结果是3000
----------------------------------------
int x=5,y;
y = x%2;//结果是 1
--------------------------------
int x=5,y;
y = -x%2;//结果是 -1
-------------------------------
int x=5,y;
y = x%-2;//结果是 1  表示取摸时 摸数如果是负数 那么负号忽不计算
--------------------------------------
安排房间题目,共有x个学生,每个房间住6人,用一个公式计算他们要住的房间数?
解答:有些人是x/6+1; 显然在x为30的时候就不对了,正解是:(x+5)/6;
这种算法还可以用在查看留言版的分页显示上,x是总留言数,6是每页显示数,结果就是总共多少页面
-----------------------------------------------------------------------------------
假设要让x的值在0到9之间循环变化,写出代码:
int x=0;
while(true)
{
x=(x+1)%10;
}
这个可以用在循环10副图的显示上
-------------------------------------
x = 0x80000000;
y = x>>1;//有符号移位最高位补的是原来的最高位,原来是1就补1,是0补0
System.out.println(Integer.toHexString(y));//将int的y转化为16进制
y = x>>>1;//无符号移无论原来是1还是0都补0
System.out.println(Integer.toHexString(y));//将int的y转化为16进制
-----------------------------------------------------------------------
byte,short,char,int,long都可以移位运算
低于int的操作数先自动转int再移
int型移 最多移31位,因为int最大是32位的 系统将操作数对32取模,得到的结果才是真正的依的位数,a>>33 和a>>1结果是一样的
long型是对64取模
x>>1和x/2结果一样  x<<2和x*4结果一样
-----------------------------------------------------
从键盘读取输入字符的整数值System.in.read();
以下代码为不断读入键盘值,如果是q,那么退出,如果不是q,打印字符
try
{
x=System.in.read();
}
catch(Exception e){}
while(x!='q')
{
    System.out.println((char)x);
    try{
      x=System.in.read();
     }
     catch(Exceotion e){}
}
---------------------------------
声明数组可以:一开始就对数组赋值的叫静态数组
int a[]={1,2,3};
也可以
int []a=new int[]{1,2,3}
如果没有赋值,比如
int []a=new int[];
打印出来默认的全为0
如果这么定义一个数组int [] y;然后就拿来使用那么是编译通不过的,因为没有初始化,一个数组没有初始化,也没有指向堆中的任何地方,所以也没有默认值
------------------------
int a[4];//声明数组时 不能指定长度,编译将出错。和c不一样
---------------------------------------------------------
int[] x=new int[100];
x= null;
x[1]=3;
这样的代码编译通过,运行出错:空指针错误。 因为x数组指向的是空,所以就没有所谓的第一个元素第二个元素 这点需要注意
同理,当我们调用一个返回的对象的功能时,如果不对这个对象进行检查,而这个对象是空,那么就可能是这种空指针异常
-----------------------------------------------------------------------------------------------------
遍历二维数组
int [][] xx = new int[2][3];
for(int i=0;i<xx.length;i++)
{
      for(int j=0;j<xx[i].length;j++)
          {
            System.out.println(xx[i][j]);
           }

}
-----------------------------------------
int []a=new int[]{9,4,3,8};
Arrays.sort(a);//从小到大排序


2下结束

posted on 2005-10-27 13:30 快乐的射手 阅读(192) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: