day1--Java基础语法--Java语言基础--思考案例

1.以最有效的方式计算2乘以8的结果

package anli;

public class a01 {

    public static void main(String[] args) {
        System.out.println(2<<3);
    }

}

左移(shl) 和 右移(shr) 运算符是向一个方向按位移动,空出来的用 0填齐。对于整数来说,左移n位,就相当于乘以 2的 n次方;

2、对两个整型变量进行互换(不需要第三个变量)

package anli;

public class a02 {

    public static void main(String[] args) {
        int a = 3, b = 4;
        a = a + b;
        b = a - b;
        a = a - b;
        System.out.println(a);
        System.out.println(b);

    }

}

3、有三个整数,获取最大值,通过三元运算符完成

package anli;

public class a04 {

    public static void main(String[] args) {
        int a = 30;
        int c[] = new int[100];
        int i = 0;
        int aa = a;
        while (aa != 0) {
            c[i] = aa & 15;
            aa = aa >> 4;
            i++;

        }
        String result = "";
        System.out.print("此十进制正整数转化为十六进制的数后为:");
        for (i = i - 1; i >= 0; i--) {
            if (c[i] > 9) {
                char cx = (char) (c[i] - 10 + 'a');
                result = result + cx;

            } else {
                result = result + c[i];
            }
        }
        //直接使用函数进行转换
        System.out.println(Integer.toHexString(a));
        System.out.println("0x" + result);

    }

}

思考拓展
将十进制转换成二进制和八进制、十六进制

package anli;

public class a05 {

    public static void main(String[] args) {
        System.out.println("本程序目的:将十进制数转换成十六进制数");
        int a = 30, i = 0;
        int aa = a;
        int c[] = new int[30];
        while (aa != 0) {
            c[i] = aa & 15;
            aa = aa >> 4;
            i++;
        }
        String result = "";
        for (i = i - 1; i >= 0; i--) {
            if (c[i] > 9) {
                char cx = (char) (c[i] - 10 + 'a');
                result += cx;
            } else
                result += c[i];

        }
        System.out.println(result);

        System.out.println("本程序目的,将十进制数转换成八进制数");

        int a2 = 16;
        aa = a2;
        int c2[] = new int[30];
        i = 0;
        result = "";
        while (aa != 0) {
            c2[i] = aa & 7;
            aa = aa >> 3;
            i++;
        }
        for (i = i - 1; i >= 0; i--) {
            result += c2[i];
        }
        System.out.println(result);

        System.out.println("本程序目的,将十进制数转换成二进制数");
        int a3 = 8;
        aa = a3;
        int c3[] = new int[30];
        i = 0;
        result = "";
        while (aa != 0) {
            c3[i] = aa & 1;
            aa = aa >> 1;
            i++;
        }
        for (i = i - 1; i >= 0; i--) {
            result += c3[i];
        }
        System.out.println(result);

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值