java学习day2

运算符2

位运算符-------二进制运算

        按位与运算 &

        A&B

        将A和B转换成二进制 右侧对齐,上下比较

        两者都为1,结果才为1,否则九就为0

        例:

                12&3=0

                12: 1100

                  3: 0000

                ------------------

                  0: 0000

        按位或运算|

        A|B

        将A和B转换成二进制 右侧对齐,上下比较

        两者有一个为1,结果即为1,两个都为0,结果才为0

        按位异或运算^

        将A和B转换成二进制 右侧对齐,上下比较

        两者不同则为1,相同则为0

        反码运算~

        将二进制中的0换成1,1换成0

        移位运算

        <<向左移位 将值放大

        >>向右移位 左侧空缺处补符号位

        >>>向右移位 左侧空缺处补0

        &和|也可以对boolean类型进行运算

        结果为boolean类型

        &和&&运算结果是一样的

赋值运算 = += -= *= /= %=

        byte a=12;

        a+=2和a=a+2不一样,后者结果为int类型

三元运算符 A?B:C

        A:条件

        B:若为true,执行B

        C:若为false,执行C

        (true?3:4.0)的结果为3.0(浮点数类型)

交换两个变量的值

第三变量交换:

        int a=11;

        int b=22;

        int c=a;      //c=11  a=11  b=22

        a=b;           //c=11  a=22  b=22

        b=c;           //c=11  a=22  b=11

加法交换:

        int a=11;

        int b=22;

        a=a+b;     //a=33  b=22

        b=a-b;      //a=33  b=11

        a=a-b;      //a=22  b=11

异或交换: 相同为1,不同为0

        int a=11;

        int b=22;

        a=a^b;   

        b=a^b;    a=a^b;

流程控制

if-else if-else判断

        if(条件1){

                操作;

        }else if(条件2){

                操作;

        }else{

                操作;

        }

        if和else if中是判断语句,若为true则执行对应的操作

        若都为false,执行else中的操作。

switch-case判断

        switch(变量){

                case 值:

                        操作;

                        break;

                case 值:

                        操作;

                        break;

                default:

                        操作;

                }

        switch匹配某一个变量的值,如果匹配到某一个case项,就从这个case项开始运行

        运行到break或者代码块结束

        所有的case项都没有匹配成功才会执行default

        Tips

        1   case项和default的顺序可以是错乱的,但是执行顺序不会乱

        2   switch可以匹配的类型   byte short int char String enum(枚举)

while循环

       ---------------------------------------

        while(继续循环的条件){

                循环体;

        }

      ----------------------------------------

        do{

                循环体;

        }while(继续循环的条件)

      ----------------------------------------

for循环

        for(初始条件;继续循环的条件;初始条件变化方式){

                循环体;

        }

break,continue关键字

        break:结束所在的循环体

        continue:跳过本轮循环

跳出多重循环

      --------------------------------------------------------------------

        break跳出

        a:for( ; ; ){

                for( ; ; ){

                        for(int i=0;i<100;i++ ){

                                if(i==50){

                                        break a;

                                }

                        }

                }

        }

      --------------------------------------------------------------------

        变量控制

        boolean bool=true

        for( ;bool; ){

                for( ;bool; ){

                        for(int i=0;bool&&i<100;i++ ){

                                if(i==50){

                                        bool=false;

                                }

                        }

                }

        }

      --------------------------------------------------------------------

无限循环:永远达不到结束条件的循环,循环后面可以编写其他代码

        a=0;

        while(a<1000){a--;} 

死循环:没有结束条件的循环,之后不能写其他代码

        for(;;){ }

        while(true){ }

数组

数组是有序的元素序列

定义

        静态:

        int[] arr={1,2,3,4};

        int[] arr=new int[]{23,45,67};

        动态:

        int[] arr=new int[4];  长度定义数组,[4]代表可以存放四个元素

数组的限定:

        1.只能存放指定类型的数据

        2.数组的长度是不可变的

使用数组当中的元素----->用下标  从0开始依次增加

        arr[0]即为arr数组中第一个元素

获取数组的长度----->arr.length

打印出arr数组的所有元素----->

        System.out.println(Arrays.toString(arr));

二维数组

定义

        int[][] arrs=new int[4][2];

二维数组的限定:

        1.一维数组的个数不可变

        Tips

                获取随机数

                Math.random()     范围:[0,1)

 

数组下标越界

        int[] arr=new int[4];

        arr[1]=34;合法

        arr[4]=98;越界

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值