Java练习题——运算符

Java基础学习篇之小练习

前言

本文列举了几个经典题目,运用运算符知识就可以解决这些题目

1.利用三元运算符求任意三个数中最大者

import java.util.Scanner;//导入包
public class 求三个数中最大值 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int max1 , max;
        System.out.println("请输入第一个数:");
        int x = in.nextInt();
        System.out.println("请输入第二个数:");
        int y = in.nextInt();
        System.out.println("请输入第三个数:");
        int z = in.nextInt();
        max1 = (x > y) ? x : y;//比较x,y的大小,并将较大的那个赋值给max1
        max =(max1 > z) ? max1 : z;//比较max1,z的大小,并将较大的那个赋值给max
        System.out.println("三个数中最大数是:"+max);
    }
}

本题要注意运用Java语言编程时,若想获得键盘输入,一定要包含以下三条语句

import java.util.Scanner

Scanner in = new Scanner(System.in)

int i = in.nextInt()

三条语句中加粗斜体部分可以自己改变,但三处一定要保持一致。int 后写变量名,第三条语句可以写N条,没有数量限制。如果是double型则输入:int double i = in.nextDouble();

2.将任意一个三位数的个位、十位、百位分别输出

import java.util.Scanner;
public class 数值拆分 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
                int ge,shi,bai;
                double num;
        System.out.println("请输入三位数:");
                num = in.nextDouble();
                bai = (int)(num / 100);
                shi = (int)((num -bai *100)/10);
                ge = (int) (num - bai * 100 - shi * 10);
        System.out.println("个位数是:"+ge);
        System.out.println("十位数是:"+shi);
        System.out.println("百位数是:"+bai);
    }
}

本题运用了强制类型转换的知识,直接抹去除法运算后的小数点,留下每位数字。
如:123.0 / 10 =1.23(浮点型)将该数字强制转换为整型就是1,也就是百位数字,再将输入的数字减去百位数字*100得到一个两位数,运用相同的方法求出十位与个位,再分别打印输出。
本题还有另一种解题思路:通过取余数得到个位,再将输入的数字减去个位数并除以10得到一个两位数,运用相同的方法得到十位和百位,代码如下:

import java.util.Scanner;
public class 数值拆分2 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int ge, shi, bai, num;
        System.out.println("请输入三位数:");
        num = in.nextInt();
        ge = num % 10;
        shi = ((num - ge) / 10) % 10;
        bai = (num - shi * 10 - ge) / 100;
        System.out.println("个位数是:" + ge);
        System.out.println("十位数是:" + shi);
        System.out.println("百位数是:" + bai);
    }
}

3.若任意两数和是3的倍数或其中一个为3,则输出true,否者输出false

import java.util.;Scanner
public class Test {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x , y;
        boolean result;
        System.out.println("请输入第一个数字:");
        x = in.nextInt();
        System.out.println("请输入第二个数字:");
        y = in.nextInt();
        result = ((x + y) % 3 == 0) || x == 3 || y == 3;
        System.out.println(result);
    }
}

此题运用了逻辑运算符、关系运算符和算术运算符的知识,判断和为3的倍数则:和除以3的余数是否为0,注意是判断,要用“==”,若用“=”则意味着赋值,不论输入何值,其结果都为true。

结语

运算符章节比较基础,重点是不要将”==“与”=“混淆即可。文中的代码仅供参考,如果有更加简洁的解法欢迎留言交流。

你可能感兴趣的:(Java基础学习篇,#,每章练习,java,开发语言)