java基础1

1.逻辑运算符

a.&& 和& 的对比:两者同时为true时返回true

     A && B 当表达式A为true时,才会进行表达式B的运算;即当表达式A为false时不会进行表达式B的运算;

     A & B  不管表达式A是否为true,均会进行表达式B的运算;

     故在实际中经常使用A && B,可以减少程序的运行次数。

b.|| 和| 的对比:两者存在为true时返回true

     A || B   当表达式A为true时,不会进行表达式B的运算,直接返回true;

     A | B  不管表达式A是否为false,均会进行表达式B的运算;

     故在实际中经常使用A || B,可以减少程序的运行次数。

c.! 取反

    !true     ------------->   false

    !false    ------------->   true

d.异或 ^  :两者不同时返回true,否则返回false

      true ^ false     ------------->   true

      true ^ true      ------------->   false

2.位运算符

      5的二进制是101,6的二进制是110

      5|6 对每一位进行或运算,得到 111->7

      5&6 对每一位进行与运算,得到 100->4

      5^6 对每一位进行或运算,得到 011->3

      ~5      5的二进制是00000101,所以取非即为11111010,即为-6

      6<<1    6向左移1位后,变成1100,对应的10进制是12

      6>>1    6向右移1位后,变成11,对应的10进制是3

                    >>> 无符号的右移

3.scanner的使用

        Scanner s = new Scanner(System.in);

        int i = s.nextInt();

        System.out.println("读取的整数是"+ i);

        String rn = s.nextLine();

        String a = s.nextLine();

        System.out.println("读取的字符串是:"+a);

4.if的缺省写法

        if (false)
            System.out.println("0");
        System.out.println("1");
        System.out.println("2");

会打印1,2;注意缺省下的if以后边紧邻的 ; 作为分隔

5.continue,break,return

       continue结束本次循环,继续下次的循环;

       break结束当前的循环,即内层的循环;

       return 返回退出,即该方法不再执行;

如何根据内层循环结束外层循环?

 

6.数组 

   int[] a;  //声明一个引用

   a = new int[5]; //创建一个长度是5的数组,并且使用引用a指向该数组//分配了长度是5的数组,但是没有赋值

   int[] b = new int[5]; //声明的同时,指向一个数组

   System.out.println(a[0]);//没有赋值,那么就会使用默认值//作为int类型的数组,默认值是0

   a[0]= 1//下标0,代表数组里的第一个数

   System.out.println(a.length); //打印数组的长度

   数组访问下标范围是0到长度-1

   a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常

   int[] a = new int[]{100,102,444,836,3236};//写法一: 分配空间同时赋值

   int[] b = {100,102,444,836,3236};//写法二: 省略了new int[],效果一样

7.增强型for循环  

        int values [] = new int[]{18,62,68,82,65,9};

        for (int i = 0; i < values.length; i++) {//常规遍历

            System.out.println(values[i]);

        }

        for (int each : values) {//增强型for循环遍历

            System.out.println(each);

        }

8.二维数组  

int b[][] = new int[][]{  {1,2,3}  ,  {4,5,6}  ,  {7,8,9}  };

9.System.arraycopy(src, srcPos, dest, destPos, length)      

  System.arraycopy(src, srcPos, dest, destPos, length)   //把一个数组的值,复制到另一个数组中

      需要事先准备好目标数组,并分配长度。

       src: 源数组
       srcPos: 从源数组复制数据的起始位置
       dest: 目标数组
       destPos: 复制到目标数组的起始位置
       length: 复制的长度

10.数组工具类Arrays  

   a.数组复制:通过返回值可自动得到目标数组

            int a[] = new int[] { 0, 1, 2, 3, 4, 5 };
                 int[] b = Arrays.copyOfRange(a, 1, 4);//1 2 3//源数组,起始下标,终止下标

   b.打印数组内容

           int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
                String content = Arrays.toString(a);//[18, 62, 68, 82, 65, 9]

   c.数组的自然排序

                int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
                System.out.println(Arrays.toString(a));//[9, 18, 62, 65, 68, 82]

   d.数组内容是否一致比较

                Arrays.equals(a, b)

   e.数组填充

           int a[] = new int[3];
                Arrays.fill(a, 5);
                System.out.println(Arrays.toString(a));//[5, 5, 5]

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值