【Java刷题进阶】基础入门篇

?很多朋友都问我学完基础知识以后怎样提高编程水平?当然是刷题啦!很多小伙伴都在纠结从哪里开始,今天给大家推荐一个身边朋友都在使用的刷题网站:点击进入牛客网刷题吧! 各大互联网大厂面试真题,成体系的分类题库,从入门到进阶,分类练习哦!

?前言

?Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!

在这里插入图片描述
?从基础开始练习,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
在这里插入图片描述
?牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。快来点击链接开始刷题吧:牛客网刷题进阶!


?第一题:类型转换

?题目描述

设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型。

输入描述:

  • 随机double类型变量

输出描述:

  • 转化后的int类型变量

?示例

输入:12.34
输出:12

输入:1.88
输出:1

?思路&题解

本题考查Java数据类型的强制类型转换,方法如下代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(Main.typeConversion(d));
    }
    public static int typeConversion(double d){
        return (int)d;
    }
}

在这里插入图片描述


?第二题:简单运算

?题目描述

输入两个正整数a和b,输出这两个正整数的和,差,积,商,模(若a>b则输出a-b,a/b,a%b的值反之输出b-a,b/a,b%a的值,不考虑小数,请使用int类型)。

输入描述:

  • 两个正整数

输出描述:

  • 它们的和,差,积,商,模。每个值之间用空格隔开

?示例

输入:10 5
输出:15 5 50 2 0

?思路&题解

使用if-else判断两个整数的大小,使用printf输出,该方法承了C语言的一些特性,可以进行格式化输出。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        scanner.close();
        System.out.printf("");
        if(a > b){
            System.out.printf("%d %d %d %d %d",a+b,a-b,a*b,a/b,a%b);
      }
        else{
            System.out.printf("%d %d %d %d %d",a+b,b-a,a*b,b/a,b%a);  
       }
}
}

在这里插入图片描述


?第三题:四舍五入

?题目描述

定义一个int类型变量i,i为由浮点数变量d四舍五入后的整数类型,请将转换后的i进行输出。

输入描述:

  • 用户随机输入的浮点数

输出描述:

  • 四舍五入之后的整数(小数点后一位>=5则进一,否则舍去)

?示例

输入:14.99
输出:15

?思路&题解

同样用到了强制类型转换,只要给浮点型变量加0.5,强制类型转换时就达到了四舍五入的效果。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d= scanner.nextDouble();
        int i=(int)(d+0.5);

        System.out.println(i);
    }
}

在这里插入图片描述


?第四题:交换变量值

?题目描述

在不使用第三个变量的情况下交换两个int类型变量的值
输入描述:

  • a变量和b变量的值

输出描述:

  • 交换后a变量和b变量的值,中间用空格隔开

?示例

输入:1 2
输出:2 1

?思路&题解

通过使用括号改变运算的优先级来实现,具体代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        a = (a+b) - (b=a);
        System.out.println(a+" "+b);
    }
}

在这里插入图片描述

?第五题:计算商场折扣

?题目描述

牛牛商场促销活动:
满100全额打9折;
满500全额打8折;
满2000全额打7折;
满5000全额打6折;
且商场有抹零活动,不足一元的部分不需要付款(类型强制转换)
牛大姨算不清楚自己应该付多少钱,请你帮忙算一下

输入描述:

  • 牛大姨账单钱数(int类型)

输出描述:

  • 参加活动后,牛大姨应付钱数(int类型)

?示例

输入:654
输出:523

?思路&题解

连续使用三目运算符来进行判断,使用下面方法在逻辑上应该从小到大判断:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int price = console.nextInt();
        int cost = 0;

        cost=(int)(price<100 ? price : price<500
                  ? price*0.9 : price<2000
                  ? price*0.8 : price<5000
                  ? price*0.7 : price*0.6);
        
        System.out.println(cost);
    }
}

在这里插入图片描述

快点击和我一起做练习吧!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>