Java编程思想学习笔记(—)

Java编程思想学习笔记(—)

   

 

(美) Bruce Eckel 著 《Java编程思想》部分学习日记(随手记录的笔记)

 

1.  操作符-测试对象等价性:

       测试对象的等价性。
       ==这个符号只有完全同一个对象才返回true。
       equal()这个方法则对于非自己创建的类时,比较实际内容是否一致。对于自己创建的类时,要比较实际内容必须重写equal()方法。

 

         代码:

 

public class JavaTest {

      /**
       * @param args
       */
      public static void main(String[] args) {
            // TODO Auto-generated method stub
            Dog spot = new Dog();
            spot.name = "zengxiao";
            spot.say = "汪汪";
            Dog spot1 =new Dog();
            spot1.name ="zengxiao";
            spot1.say="汪汪";
            Integer intNum =new Integer(47);
            Integer intNum1 =new Integer(47);
            System.out.println(intNum==intNum1);
            System.out.println(intNum.equals(intNum1));
            System.out.println(spot==spot1);
            System.out.println(spot.equals(spot1));
      }
}

class Dog {
      String name;
      String say;
}

  输出的结果就是:
  false
  true
  false
  false

2.  操作符-短路与直接常量:

        当使用逻辑操作符时,我们会遇到一种短路现象。即一旦能明确无误地确定整个表达式的值,就不再计算表达式余下的部分了。因此整个逻辑表达式靠后的部分有可能不会被运算。

       直接常量:
       L代表long,F代表float,D代表double
       十六进制数以前缀Ox表示,八进制数以前缀O表示
       把十六进制和八进制转化成二进制的数时用,toBinaryString()方法

 

        代码:

public class JavaTest {

      /**
       * @param args
       */
      public static void main(String[] args) {
            // TODO Auto-generated method stub
        int i1= 0x2f;
        System.out.println(Integer.toBinaryString(i1));
        long l1 =02567;
        System.out.println(Long.toBinaryString(l1));
      }
}

    把十六进制和八进制转化成二进制的数时用, toBinaryString

 

3.  截尾和舍入:

       截尾:
       如:29.7转换成int类型,会变成29
       舍入的话:
       调用Math.round()方法,就会变成30

 

4.  生成一个随机小写字母的方法和生成随机数的方法:

生成一个随机小写字母的方法:

 

Random rnd = new Random();
char c =(char)(rnd.nextInt(26)+'a');

 

    生成随机数的方法:

 

            Random rnd = new Random();
            ArrayList<Integer> listInt = new ArrayList();
            int i = 0;
            while (i < 25) {
                  int j =rnd.nextInt(500);
                  if (!listInt.contains(j)) {
                        listInt.add(j);
                        i++;
                  }
            }
            for (Integer integer : listInt) {
                  System.out.println(integer);
            }

 

    Arrays.toString()将产生一维数组的可打印版本

 

public class JavaTest {

      /**
       * @param args
       */
      public static void main(String[] args) {
            // TODO Auto-generated method stub
     Random rndRandom =new Random();
     int[] intNum =new int[rndRandom.nextInt(20)];
     System.out.println(intNum.length);
     for (int i = 0; i < intNum.length; i++) {
            intNum[i]=rndRandom.nextInt(200);
      }
            System.out.println(Arrays.toString(intNum));
      }

}
 

 

 

5.   Enum用法:

   代码:

public class JavaTest {

      /**
       * @param args
       */
      public static void main(String[] args) {
            // TODO Auto-generated method stub
        for (Spiciness s : Spiciness.values()) {
                  System.out.println(s+",ordinal"+s.ordinal());
            }
      }
      public enum Spiciness {
            Not,mild,zengxiao,zeng,xiao
      }
}
 

 

6.  Java中正则应用:

    Matcher   matcher   = Pattern. compile ( "\\w+" ).matcher( "I hava a baby" );
先根据正则表达式生成一个Pattern对象,接下来,把你想要检索的字符串传入matcher()方法,会生成一个Matcher对象。
    这个对象提供,find(),start()等一系列的方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值