学习Java必刷编程练习题,2024年最新春招直接面试

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

  1. M**ap+**IO

通过键盘录入五个人的姓名,每当录入一个人的姓名,随机给出一个成绩[0, 100](包含0分,也包含100分).将姓名和成绩存储到Map集合中,姓名作为key,成绩作为value.统计五个学生的总分,最高分,最低分,平均分,并将总分,最高分,最低分,平均分,写入到score.txt文件中,格式为: 总分=xxx,最高分=xxx,最低分=xxx,平均分=xxx

  1. String+Map****

获取链接中的参数:httt://www.baidu.com?name=zhangsan&age=18&hobby=study

将字符串中信息保存进Map集合中

最后结果:name为key ,zhangsan为value

  1. IO

模拟用户注册的功能。使用键盘录入,接收用户名,接收密码,将密码保存在 user.txt中,一个用户名密码占一行  格式为 用户名=密码

  1. IO

随机生成100个三位数,将100个三位数放到数组中,然后将数组写入到data1.txt中,一行,每个三位数以逗号分隔。

  1. IO

编写一个程序实现以下功能:

(1)产生50个1~9999之间的随机整数,将其存入文本文件a.txt中。

(2)从文件中读取这5000个整数,并计算其最大值、最小值和平均值并输出结果。

结果格式:

最小值是0

最大值是999

平均值是495.3258 //结果可能不同

  1. IO

现有学生对象Student,包含name属性,和三门成绩属性yuwen  shuxue yingyu

1.有5个学生,每个学生有三门功课

2.创建5个学生,并给其赋值

3.输入格式为:zhangshan,30,40,60并计算出总成绩

4.将每名学生的成绩保存在 ks.txt中,每个学生占一行

5.ks.txt的第一行为今天的日期(yyyy-MM-dd)

  1. Set****

已知ArrayList集合存储了以下字符串:

Java

Python

IT

Jav

全栈

Python

编码完成:去除集合的重复元素,打印输出集合内容

  1. String+Set****

去掉字符串中重复的字符,例如"abcadeeff" -> “abcdef”

  1. 面向对象

定义汽车Car类,Car类拥有油量 oilMass、速度 speed、 公里数 kilometre 、油耗 oilWear 属性,这些属性都为私有。

1、汽车Car类拥有启动方法start();

该方法能设置汽车的油量为60,速度为0,公里数显示为200,油耗为8.5;

2、汽车Car类拥有展示方法show(),方法中用于展示目前的油量、速度、公里数、油耗。

根据上述要求定义汽车类

  1. 面向对象

1.创建一个宠物类Pet,包含属性名字String name,  类型String type,年龄 int age,生成get/set方法和空参 满参构造方法

2.创建一个人类Person,包含属性名字String  pname和 所有宠物List pets ,生成get/set方法和空参 满参构造方法

3.创建测试类,创建 3个宠物对象和1个人类对象。把宠物对象 放到人类中。

查找出人类的年龄最大的宠物,打印出名字

查找出人类的类型为“狗”的宠物信息

  1. 面向对象

创建一个数组存储三个学生的信息,学生信息包括姓名,年龄,数学成绩.创建setget以及构造方法.

学生信息:

张三,18岁,90分

李四,19岁,40分

王五,21岁,94分

  1. 求这个数组中的数学成绩最高的人,并打印这个人的信息

  2. 求这个数组中年纪最小的人的成绩,并打印

  3. 求这个数组中所有人的成绩的平均分

  4. 求这个数组中数学成绩不及格的总人数

  1. 面向对象(使用集合再次完成)

创建一个学生类Student,包含了名字,数学成绩和语文成绩.创建一个班级类CLasses.包含了班级名字和学生数组,设置构造方法和set/get方法.

  1. 在测试类中创建学生对象,信息为: 张三,80,90; 李四90,92,王五94,96.创建学生数组stus,保存学生信息,创建班级对象给定班级名字并设置学生数组为stus

  2. 在班级类中创建展示信息方法showClassInfo, 该方法中展示班级的名字和学生的个数,

打印信息格式:

班级名字:XXX班

班级人数:XX人

  1. 在班级类中创建方法showMathAvg,打印:全班同学数学成绩的平均分是X分

  2. 在班级类中创建方法showMathTopStudentInfo,打印:全班同学的数学成绩最高的分数是X分,由X同学获得

  3. 在班级类中创建方法getLanguageTopStudent,将得到语文最高分的同学返回,注意方法的返回值类型为Student

  1. String****

判分小程序:学生答案String str = “a#ab#c#D#a”,正确答案String ans = “A#AC#C#BD#B”,表示一共5题,答对一题3分

定义方法,接收学生答案和正确答案,计算学生得分并返回分数

“a#ab#c#D#a”.split(“#”);// {“a”,“ab”,“c”,“D”,“a”}

“A#AC#C#BD#B”.split(“#”) //{“A”,“AC”,“C”,“BD”,“B”}

  1. String+数组****

定义一个长度为4的String类型数组,包含如下元素:”12ab”,”java”,”45Cd”,”Server78”;遍历数组进行判断,如果字符串是以数字开头或结尾,就将该字符串中包含的小写字符串转换成大写字符串,并在控制台打印输出

  1. String****

处理字符串封装到对象。

将执行字符串中的内容封装到Dog对象中,sons属性为小狗的孩子们,字符串中逗号分隔的为多个孩子

String str = “”;

提供Dog对象

private String name;//姓名

private String color;//颜色

private ArrayList sons=new ArrayList( );//孩子

  1. Calendar

计算至今自己生活的天数

  1. Math

现有集合list,集合中元素为5,6,-9,使用Math类中的方法,获取集合中绝对值的最小值,并打印最小值的3次幂

  1. String+日期****

编写public static String parseDatetime(String datetime)方法。(10分)

功能描述:根据输入的日期字符串(yyyy-MM-dd HH:mm)与当前日期比较,返回:

参数日期比当前日期大,提示日期不符合要求。

参数日期比当前日期小,范围小于1分钟:返回“刚刚”;

参数日期比当前日期小,差值范围大于等于1分钟:返回“x分钟之前”;x代表分钟数,

参数日期比当前日期小,差值范围大于等于1小时:返回“x小时之前”;x代表小时数,

参数日期比当前日期小,差值范围大于等于1天:返回“x天之前”;

参数日期比当前日期小,差值范围大于等于7天:返回“x周之前”;

参数日期比当前日期小,差值范围大于等于30天:返回“x月之前”;

参数日期比当前日期小,差值范围大于等于365天:返回“很久之前”。

  1. 编解码

将字符串String str1=“天佑中华”,以utf-8编码,然后用gbk解码,打印出来

将字符串String str2=“大好河山”,以utf-8编码,然后用utf-8解码,打印出来

  1. IO**+Set******

去除指定文件中的重复字符,要求如下:

1. 在项目根目录下新建2个txt文件:data和result,data文件中有2行内容(该内容可以手动在文件中输入,无需程序写入),具体如下:

12345abcde

abcde12345

2. 使用IO流读取data文件中的内容,并将文件内容中的所有重复字符去除,将去除重复字符之后的新字符写入到result文件中

  1. IO**+Set******

随机生成100个3位数,将100个数存到数组,写入到data1.txt中,一行保存,每个逗号隔开。

读取data1.txt,将所有的数据 去重,排序,以1开头的为一行,一直到以9开头的为1行,每个数据以逗号隔开,保存到data2.txt中

  1. ******面向对象+**IO

Student对象  包含名字 String name, 语文成绩 int yuwen, 数学成绩 int math, 英语成绩 int yingyu.

创建如下四个对象,存放进一个List集合中。

“张三”,“37”,“89”,“5”,

“李四”,“95”,“41”,“79”,

“王五”,“60”,“84”,“29”,

“赵六”,“87”,“46”,“86”

, 求:下面方法的参数 都是上面的List集合

* 1.定义方法 printMathScore 打印所有同学数学成绩

* 2.定义方法 getCountMathScore   获取所有同学数学成绩的总和

* 3.定义方法 getAvgMathScore  获取所有同学数学成绩的平均分

* 4.定义方法 getAvgName     获取所有数学成绩超过平均分的人名

* 5.定义方法 getAvgCount 获取所有数学成绩高过平均分的人数

* 6.定义方法 writeCjToFile 将学生和成绩存放进cj.txt中,格式如下:

XXXX年XX月XX日:

张三 37  89  5  XX(总分)

李四 37  89  5  XX(总分)

  1. IO+Map

模拟注册登录程序。

要求如下:

1.控制台打印: 1.注册 2.登录  3.退出

2.输入1 进入注册, 提示输入 用户名, 输入 密码 ,将用户名密码 写入user.txt中,格式 用户名=密码 一个占一行

3.输入2 进入登录, 提示输入用户名,输入密码,使用输入流读取user.txt,解析所有的用户名和密码,存放入map集合中,用户名为key,密码为value,如何用户名不正确,提示用户名不存在,程序结束,如果密码不正确,提示密码错误 程序结束

4.输入3 退出程序

  1. 面向对象

1、(2分)创建课程类Course,拥有课程名称(String cname)课程成绩(double score)2个成员变量,并提供get、set方法

2、(5分)创建学生类Student,拥有学生姓名(String stuName)平均成绩(double stuAvgScore)学生性别(String stuSex)所学课程(ArrayList allCourse)四个成员变量,并提供对应get、set方法

3、(7分)创建测试类Test,在main方法中创建3个学生类对象保存下表数据:

姓名

性别

张三

如花

王五

在测试类Test的main方法中将张三的课程成绩创建成对应的课程对象,并保存在“张三”对象中

张三

语文

58

数学

55

天文

22

在测试类Test的main方法中将如花的课程成绩创建成对应的课程对象,并保存在“如花”对象中

如花

语文

62

数学

72

在测试类Test的main方法中将王五的课程成绩创建成对应的课程对象,并保存在“张三”对象中

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

[外链图片转存中…(img-XRFQQWVU-1713465088014)]

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

[外链图片转存中…(img-WCMkaIAW-1713465088015)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-XHIpXHdx-1713465088015)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言面试八股文是指在春季招聘中常见的C语言相关的面试题目和知识点。下面是一份常见的C语言面试八股文,供您参考: 1. C语言的基本数据类型有哪些? C语言的基本数据类型包括整型、浮点型、字符型和指针型。 2. 请介绍一下C语言中的变量和常量。 变量是用来存储数据的内存位置,可以通过变量名来访问和修改其值。常量是指在程序执行过程中不会改变的值。 3. 什么是数组?请介绍一下C语言中的数组。 数组是一种存储相同类型数据的集合,通过索引来访问数组中的元素。在C语言中,数组的大小在定义时就需要确定,并且数组的下标从0开始。 4. 请介绍一下C语言中的指针。 指针是一个变量,其值为另一个变量的地址。通过指针可以直接访问和修改内存中的数据。使用指针可以提高程序的效率和灵活性。 5. 请介绍一下C语言中的函数。 函数是一段完成特定任务的代码块,可以通过函数名来调用执行。函数可以接收参数并返回一个值,也可以不接收参数或不返回值。 6. 请介绍一下C语言中的流程控制语句。 C语言中的流程控制语句包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环、do-while循环)和跳转语句(break语句、continue语句、goto语句)。 7. 请介绍一下C语言中的结构体。 结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。通过结构体可以将多个相关的数据组织在一起。 8. 请介绍一下C语言中的文件操作。 C语言中的文件操作主要包括打开文件、读写文件和关闭文件。可以使用标准库函数来进行文件操作,如fopen、fread、fwrite、fclose等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值