当前位置:   article > 正文

java基础练习(持续更新)

java基础练习

java基础练习:变量、数据类型、输入、输出、运算符

练习1:判断输入的值是否是偶数,另外,要处理输入错误

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        if(input.hasNextInt()){
            int num=input.nextInt();
            if(num%2==0){
                System.out.println("是偶数");
            }else {
                System.out.println("是奇数");
            }
        }else {
            System.out.println("输入无效!");
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

练习2:输入并输出姓名、年龄、身高

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入姓名:");
        String name=input.next();
        System.out.println("请输入年龄:");
        String age=input.next();
        System.out.println("请输入身高:");
        double height=input.nextDouble();
        System.out.println("姓名:"+name);
        System.out.println("年龄:"+age);
        System.out.println("身高:"+height);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

练习3:从控制台获取Java、Oracle、HTML三门课程的成绩,计算总分和平均分(平均分保留2位小数,要求四舍五入)

import java.util.Scanner;
public class Main {
    public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);
            System.out.print("请输入Java成绩: ");
            int javaScore=input.nextInt();
            System.out.print("请输入Oracle成绩: ");
            int oracleScore=input.nextInt();
            System.out.print("请输入HTML成绩: ");
            int htmlScore=input.nextInt();
            System.out.println("-------------------------------- ");
            System.out.println("Java Oracle HTML");
            System.out.println();
            System.out.println(""+javaScore+"\t"+oracleScore+"\t"+htmlScore);
            System.out.println("-------------------------------- ");

            int sum=javaScore+oracleScore+htmlScore;
            double  average=sum/3.0;
            String result = String.format("%.2f", average);

            System.out.println("总成绩是:"+sum);
            System.out.println("平均成绩是:"+result);
        }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

练习4:输入一个数字,反转输出,如:输入123,输出321

import java.util.Scanner;
public class Main {
    public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);
            System.out.print("请输入一个整数: ");
            String num=input.next();
            for(int i = num.length()-1;i >= 0;i--)
            {
                System.out.print(num.charAt(i));
            }
        }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

练习5:输入tom和jack的年龄,比较年龄并输出相差多少岁,要求使用条件运算符

import java.util.Scanner;
public class Main {
    public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);
            System.out.print("请输入tom的年龄: ");
            int tomAge=input.nextInt();
            System.out.print("请输入jack的年龄: ");
            int jackAge=input.nextInt();
            int num=tomAge-jackAge;
            if(num==0){
                System.out.println("tom与jack一样大");
            }else {
                if (num>0)
                {
                    System.out.println("tom比jack大"+num+"岁");
                }else {
                    System.out.println("tom比jack小"+num+"岁");
                }
            }
        }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

练习6:交换两个数值变量的值(至少两种方法)

public class Main {
    public static void main(String[] args)
        {
//            方法一
            int a=1,b=2;
            int c=a;
            a=b;
            b=c;
            System.out.println(a);
            System.out.println(b);
//            方法二
            int d=1,f=2;
                d=d+f;
                f=d-f;
                d=d-f;
            System.out.println(d);
            System.out.println(f);

        }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

练习7:下面结果分别是?为什么?

int a = 97;
char b = a;
System.out.println(b);
  • 1
  • 2
  • 3

报错,int类型无法赋值char

char c = 97; 
System.out.println(c);
  • 1
  • 2

*char为字符类型,97为a,最后输出为a;

int m =  3 ; 
int n = m++ + ++m; 
System.out.println( "m:" +m+ ", n:" +n);
  • 1
  • 2
  • 3

++m:先自加1再进行运算
m++:先运算后再自加1

先计算(m++)中。前面m=3,(m++)就是先m=3参与计算,再自加1,原式等价于:n=3+(m++),同时m的值变成了5(自加1)。

m:5, n:8

java基础练习:选择结构(if、switch)

练习1:提示用户输入三个整数,判断并输出最大值、最小值

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个整数: ");
        int oneNum = input.nextInt();
        System.out.print("请输入第二个整数: ");
        int twoNum = input.nextInt();
        System.out.print("请输入第三个整数: ");
        int treeNum = input.nextInt();
        int maxNum = 0;
        int mixNum=0;
        if(oneNum>twoNum){
            if (oneNum>treeNum){
                maxNum=oneNum;
            }else {
                maxNum=treeNum;
            }
        }else {
            if(twoNum>treeNum){
                maxNum=twoNum;
            }else {
                maxNum=treeNum;
            }
        }

        if(oneNum>twoNum){
            if (twoNum>treeNum){
                mixNum=treeNum;
            }else {
                mixNum=treeNum;
            }
        }else {
            if(oneNum>treeNum){
                mixNum=treeNum;
            }else {
                mixNum=oneNum;
            }
        }
        System.out.println("最大数为:"+maxNum);
        System.out.println("最小数为:"+mixNum);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

练习2:如果今天是周日且晴天,就出去嗨

如果今天是周日但不是晴天,睡懒觉

如果今天不是周日,继续996

说明:天气、星期几的变量,自己定义即可;主要练习if嵌套

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入周几:");
        int num = input.nextInt();
        System.out.print("请输入天气: ");
        String weather = input.next();
        if(num>0){
            if (num<=5) {
                System.out.println("今天是工作日,天气" + weather + "继续996");
            }else if(num>6&&num<8) {
                if (weather == "晴天") {
                    System.out.println("如果今天是周日,天气" + weather + "出去嗨");
                }else {
                    System.out.println("如果今天是周日,天气" + weather + "睡懒觉");
                }
            }
        }else {
            System.out.println("请输入一到七的日期数字");
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

练习3:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个整数:");
        int num1 = input.nextInt();
        System.out.print("请输入第二个整数:");
        int num2 = input.nextInt();
        System.out.print("请输入第三个整数:");
        int num3 = input.nextInt();
        System.out.println("您输入的3个整数为:"+num1+","+num2+","+num3);
        if(num1 > num2) {
            if (num3 > num1) {
                System.out.println("从小到大的排序:" + num2 + "," + num1 + "," + num3);
            } else if (num3 < num2) {
                System.out.println("从小到大的排序:" + num3 + "," + num2 + "," + num1);
            } else {
                System.out.println("从小到大的排序:" + num2 + "," + num3 + "," + num1);
            }
        }else{
            if(num3 > num2){
                System.out.println("从小到大的排序:"+num1 + "," + num2 + "," + num3 );
            }else if(num3 < num1){
                System.out.println("从小到大的排序:"+num3 + "," + num1 + "," + num2 );
            }else{
                System.out.println("从小到大的排序:"+num1 + "," + num3 + "," + num2 );
            }
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

练习4:提示用户输入三角形的边a、b、c,范围必须在 [1,100) 之间,判断三角形的类型:1.非三角形;2.等边三角形;3.直角三角形;4.等腰三角形;5.普通三角形

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入第一个边:");
        int num1 = input.nextInt();
        System.out.print("请输入第二个边:");
        int num2 = input.nextInt();
        System.out.print("请输入第三个边:");
        int num3 = input.nextInt();
        if ((num1 >= 1 && num1 < 100) && (num2 >= 1 && num2 <= 100) && (num3 >= 1 && num3 < 100)) {
            if(num1+num2>num3||num1+num3>num2||num3+num2>num1){
                if(num1==num2&&num2==num3&&num1==num3){
                    System.out.println("这是等边三角形!");
                }else if (num1*num1+num2*num2==num3*num3||num3*num3+num2*num2==num1*num1||num1*num1+num3*num3==num2*num2)
                {
                    System.out.println("这是直角三角形!");
                }else if (num1==num1||num2==num3||num1==num3){
                    System.out.println("这是等腰三角形!");
                }else {
                    System.out.println("这是普通三角形!");
                }
            }else {
                System.out.println("这不是三角形!");
            }
        }else {
            System.out.println("请输入规定数值的数字");
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
swich

练习1:周一跑步,周二、三、四打羽毛球,周五游泳,其它休息

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int today=7;
        switch (today){
            case 1:
                System.out.println("周一跑步");
                break;
            case 2:
                System.out.println("周二、三、四打羽毛球");
                break;
            case 3:
                System.out.println("周二、三、四打羽毛球");
                break;
            case 4:
                System.out.println("周二、三、四打羽毛球");
                break;
            default:
                System.out.println("其它休息");
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

练习2:输入 2022 年的某个月份和日期,例如 month=4,day=21,经过程序计算,打印出输入的月份和日期是 2022年的第几天:31+28+31+21

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入月:");
        int monNum = input.nextInt();
        System.out.print("请输入日:");
        int dayNum = input.nextInt();
        int num=0;
        if(dayNum>=0&dayNum<=31) {
            switch (monNum) {
                case 1:
                    num =  dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 2:
                    if (dayNum >= 0 & dayNum <= 28) {
                        num = 31 + dayNum;
                        System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                        break;
                    } else {
                        System.out.println(+monNum + "月2022只有28天");
                        break;
                    }
                case 3:
                    num = 31 + 28  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 4:
                    num = 31 + 28 + 31  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 5:
                    num = 31 + 28 + 31 + 30  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 6:
                    num = 31 + 28 + 31 + 30 + 31 + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 7:
                    num = 31 + 28 + 31 + 30 + 31 + 30  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 8:
                    num = 31 + 28 + 31 + 30 + 31 + 30 + 31  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 9:
                    num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 10:
                    num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 11:
                    num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                case 12:
                    num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30  + dayNum;
                    System.out.println(+monNum + "月" + dayNum + "日是2022的第" + num + "天");
                    break;
                default:
                    System.out.println( "请输入0-12数字");
                    break;
            }

        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72

java基础练习:循环结构(while、do…while、for、break、continue、return)

while

练习1:输出比i(i=5)小的正整数

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int num=input.nextInt();
        for (int i=num-1;i>0;i--){
            System.out.println(i);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/207358
推荐阅读
相关标签
  

闽ICP备14008679号