马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一、简答题
请说出方法定义的全格式
- 访问修饰符 静态修饰符 返回值 方法名(参数列表){方法体;retrun 返回值;}
复制代码 请说出方法重载的概念
- 在一个类中,可以定义方法名相同,参数列表不相同(参数类型、参数个数或者参数顺序不同)的方法
复制代码 请简述什么是类,什么是对象
- 类:用户自定义的数据类型,用来描述相同属性和行为的对象集合。
- 对象:是根据类作为模板创建的实例,具有类所有的属性和行为。
复制代码 请简述this关键字的概述及作用
- this是一个关键字表示方法调用者的地址值。
- 主要作用:区分同名的成员变量和局部变量和访问当前对象的成员属性、成员方法、构造方法。
复制代码 请简述private关键字的概述及作用
- private:是一个访问修饰符。表示当前属性或者行为为该类私有的,其他类不可以直接访问。主要在面向对象中实现封装。
- 作用:隐藏对象内部细节,仅允许公共的方法进行访问和操作对象的状态,有助于保护对象的状态不受外部直接访问和修改的影响,可以防止用户的恶意操作。
复制代码 请简述构造方法的作用和留意事项
- 构造方法用于帮助用户创建对象和给成员属性赋值,也可以在构造方法进行一系列的初始化操作。
- 注意事项:1.不能有返回值 2.构造方法名必须和类名相同
复制代码 请简述封装有哪些体现以及好处
- 使用private访问修饰符来限制成员变量的访问权限,设计公共的方法setter和getter方法来允许外部代码访问和修改对象的状态。而不直接暴露对象的内部实现细节。
- 安全性:隐藏对象内部的细节,保护对象不能受外部直接访问和修改的影响。
- 复用性:对象可以在不同的上下文中被重复使用。
- 降低复杂度:外部代码只需要关注如何使用对象的功能,而不需要了解对象的内部复杂逻辑,从而减少了代码的复杂度和耦合度。
复制代码 二、编程题
- /*
- 分析以下需求并完成代码
- 设计一个方法,接收一个整数数组,能同时返回该数组的最大值和最小值
- 提示:return后面只能写一个值
- */
- public class Test02{
- public static void main(String[] args) {
- Random r = new Random();
- int[] arr = new int[10];
- for (int i = 0; i < arr.length; i++) {
- arr[i] = r.nextInt(100) + 1;
- }
- System.out.println(Arrays.toString(arr));
- System.out.println("该数组的最大值为:" + getMax(arr));
- System.out.println("该数组的最小值为:" + getMin(arr));
- }
- public static int getMax(int[] arr){
- int max = Integer.MIN_VALUE;
- for (int i : arr) {
- max = Math.max(i,max);
- }
- return max;
- }
- public static int getMin(int[] arr){
- int min = Integer.MAX_VALUE;
- for (int i : arr) {
- min = Math.min(i,min);
- }
- return min;
- }
-
- }
复制代码- /*
- 分析以下需求并完成代码
- 设计一个方法,接收一个整数数组,计算数组中小于平均值的元素个数并返回
-
- */
- public class Test03{
- public static void main(String[] args) {
- Random r = new Random();
- int[] arr = new int[10];
- for (int i = 0; i < arr.length; i++) {
- arr[i] = r.nextInt(100) + 1;
- }
- System.out.println(Arrays.toString(arr));
- System.out.println("小于平均数的值有:" + ltAvgCount(arr) + "个");
- }
- public static int ltAvgCount(int[] arr){
- int sum = 0;
- for (int i : arr) {
- sum += i;
- }
- int avg = sum / arr.length;
- int count = 0;//统计平均数的个数
- for (int i : arr) {
- if (i < avg){
- count++;
- }
- }
- return count;
- }
-
- }
复制代码- /*
- 分析以下需求并完成代码
- 编写实体类User,成员变量包含name姓名、年龄age、爱好hobby
- 定义测试类,在main方法中完成
- 实例化三个User对象,属性分别为
- "慕容雪痕",17,"弹钢琴"
- "燕清舞",16,"跳舞"
- "夏诗韵",21,"唱歌"
- 将三个对象添加到合适的数组中
-
- 遍历数组,将年龄小于18岁的对象,爱好修改为"敲代码"
- 遍历修改后的数组,控制台效果如下
- 慕容雪痕 17 敲代码
- 燕清舞 16 敲代码
- 夏诗韵 21 唱歌
- */
- public class TestUser{
- public static void main(String[] args) {
- User[] user = {new User("慕容雪痕",17,"弹钢琴"),new User("燕清舞",16,"跳舞"),
- new User( "夏诗韵",21,"唱歌")};
- user[0].setHobby("敲代码");
- user[1].setHobby("敲代码");
- for (User user1 : user) {
- System.out.print(user1.getName() + " ");
- System.out.print(user1.getAge() + " ");
- System.out.print(user1.getHobby());
- System.out.println();
- }
- }
- }
- class User{
- private String name;
- private Integer age;
- private String hobby;
- public User() {
- }
- public User(String name, Integer age, String hobby) {
- this.name = name;
- this.age = age;
- this.hobby = hobby;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public String getHobby() {
- return hobby;
- }
- public void setHobby(String hobby) {
- this.hobby = hobby;
- }
- }
复制代码- /*
- 分析以下需求并完成代码
- 编写实体类Person,成员变量包含姓名name、年龄age
- 定义测试类,在main方法中完成
- 定义方法getMinAge(Person[] persons),返回数组中最小的年龄
- 定义方法getAvgAge(Person[] persons),返回数组中的对象平均年龄
- 实例化三个Person对象,属性分别为
- "玄德",39
- "云长",35
- "翼德",34
- 将三个对象添加到合适的数组中,将数组作为参数测试上述两个方法
- */
- public class TestPerson{
- public static void main(String[] args) {
- Person[] persons = {new Person("玄德",39),new Person("云长",35),new Person("翼德",34)};
- Person minAgePerson = findMinAge(persons);
- System.out.println("最小年龄为:" + minAgePerson.getName() + " 岁数为:" + minAgePerson.getAge());
- System.out.println("平均年龄为:" + personAvgAge(persons));
- }
- //求岁数最小的人
- public static Person findMinAge(Person[] persons){
- Person personAgeMin = persons[0];
- for (int i = 1; i < persons.length; i++) {
- if (persons[i].getAge() < personAgeMin.getAge()){
- personAgeMin = persons[i];
- }
- }
- return personAgeMin;
- }
- //求平均年龄
- public static int personAvgAge(Person[] persons){
- int sum = 0;
- for (int i = 1; i < persons.length; i++) {
- sum += persons[i].getAge();
- }
- return sum / persons.length;
- }
- }
- class Person{
- private String name;
- private Integer age;
- public Person() {
- }
- public Person(String name, Integer age) {
- this.name = name;
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |