zoukankan      html  css  js  c++  java
  • Java2核心技术学习笔记 分类: java 20091129 23:54 339人阅读 评论(0) 收藏

     1.浮点数不适用于禁止出现舍入误差的金融计算中。例如,命令System.out.println(2.0-1.1)将打印出0.89999999999,而不是人们希望的0.9,原因在于浮点数值是采用二进制系统表示的,无法精确的表示1/10。这就好像十进制无法精确的表示1/3一样。如果需要在数值计算中部含有任何舍入误差,就应该使用BigDecimmal类。
    2.>>>运算符将用0填充前面的位,>>运算符用符号位填充左侧的位,没有>>>运算符。
    3.如果想对浮点数进行舍入运算,得到最接近的整数,可以使用Math.round方法。
    4.将布尔类型转换为数值类型,可以使用条件表达式,b?1:0;
    5.java没有内置的字符串类型,而是在标准java类库中提供一个预定义的类String,每个用双引号括起来的字符串都是String类的一个实例。
    6.将一个字符串于一个非字符串的值进行拼接时,后者被自动转换为一个字符串。任何一个java对象都可以转换为一个字符串。
    7.equals检测两个字符串是否相等,区分大小写,equalsIgnoreCase不区分大小写。C++注意:一定不能使用==运算符检测两个字符串是否相等,这个运算符只能判断两个字符串存放内存地址是否相等。
    8.常用的String类方法。(以后补充,P50)
    9.在JDK5.0之前没有从控制台窗口读取输入的简便方法。最简单的方法是使用一个输入对话框。实例代码如下:
    import java.swing.*;
    public class InputTest
    {
     ...main...
     {
      String input=JOptionPane.showInputDialog("How oldd are you?");
      int age=Integer.paseInt(input);
      System.exit(0);//当调用了JOptionPane.showInputDialog时,需要调用这句来结束程序,因为当显示一个对话框时,就启动了一个新的控制线程,在main方法退出之后,新线程并没有自动终止,需要调用这句来终止所有的线程。
     }
    }
    在JDK5.0中可以使用Scanner对象。实例代码如下:
    import java.util.*;
    public class InputTest
    {
     ...main...
     {
       Scanner in=new Scanner(System.in);
       System.out.print("what is your name?");
       String name=in.nextLine();
     }
    }
    10.Scanner类方法。(以后补充,P55)
    11.格式化输出,使用System.out.printf();用于printf的转换符和标志(以后补充,P57)
    12.可以使用静态的String.format方法创建一个格式化的字符串。如String str=String.format("%d",age);
    13.在JDK5.0以前的版本中,使用NumberFormat类和DataFormat类代替printf。
    14.在C++中,可以在嵌套的块中重定义一个变量,而在Java中不可以。
    15.对数值型数组进行排序,可以使用Arrays类中的sort方法。
    int[] a = new int[1000];
    Arrays.sort(a);
    16.在将超类强制转化成为子类之前,应该使用instanceof进行检查。
    17.与使用instanceof检查一个对象是否属于某个特定类一样,也可以使用instanceof检查一个对象是否实现了某个特定的接口:
    if(anObject instanceof Comparable){...}
    18.接口可以扩展,可以包含常量。接口中的域被自动设为public static final.
    public interface Powered extends Moveable
    {
      double milesPerGallon();
      double SPEED_LIMIT = 95; //a public static final constant
    }
    19.设置绘图颜色。Graphics类需要使用setColor,Graphics2D类需要使用setPaint.
    20.Color类的brighter()和draker()方法为加亮或者变暗当前的颜色。实际上,brighter()只稍微加亮一点,要想达到耀眼的效果,应该调用这个方法三次c.brighter().brighter().brighter().
    21.java事件类:
    ActionEvent(对应按钮点击,菜单选择,选择列表项或在文本域中键入ENTER);
    AdjustmentEvent(用户调节滚动条);
    ItemEvent(用户从复选框或列表项中选择一项);
    KeyEvent(一个键被按下或释放);
    MouseEvent(鼠标被按下,释放,移动或拖动);
    MouseWheelEvent(鼠标滚轮被滚动);
    FocusEvent(某个组件获得焦点或失去焦点);
    WindowEvent(窗口状态被改变);
    22.通常,面板不接受任何键盘事件,因此,需要调用setFocusable方法才可以使其接受键盘事件.
    23.当用户点击鼠标按钮时,将会调用三个监听器方法,依次为:mousePressed,mouseReleased,mouseClicked.
    24.pack方法将所有组件以最佳的高度和宽度显示在框架中.
    25.使用setColumns方法改变文本框的大小之后,需要调用包含这个文本框的容器的revalidate方法。
    textField.setColumns(10);
    panel.revalidate();
    revalidate方法会重新计算容器内所有组件的大小,并且对他们重新进行布局。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jimoguilai/archive/2008/03/24/2214603.aspx

  • 相关阅读:
    POJ 1236 Network of Schools(tarjan算法 + LCA)
    Hrbustoj 2266 Legendary Weights(辗转相除求最大公约数)
    纯虚函数的学习和使用
    完全背包(内含不能恰好装满的情况)
    多重背包并判断能否装满(附01完全背包思想)
    UVA 796 Critical Links (tarjan算法求割边)
    poj 2594 Treasure Exploration(最小路径覆盖,可重点)
    poj 3020 Antenna Placement (最小路径覆盖)
    ZOJ 1642
    Playground
  • 原文地址:https://www.cnblogs.com/configman/p/4657651.html
Copyright © 2011-2022 走看看