A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gcno93 中级黑马   /  2016-9-3 23:59  /  735 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、构造方法的格式是什么?有哪些注意事项?
        权限修饰符 类名(){
                }
        1.如果在类里,没有存在构造方法,java编译器会自动为其添加一个无参的构造方法
        2.如果在类里,已经存在构造方法,java编译器就不会自动为其添加一个无参的构造方法


2、构造方法可以重载吗? 里边可以有return语句吗?
        可以重载              可以,但是不能拥有具体的返回值


3、给成员变量赋值有几种方式?有什么区别?
        两种:
                1.构造函数  对对象的属性进行初始化赋值
                2.setXxx()  修改属性的值


4、static关键字有什么特点,使用的时候有什么注意事项?
        特点:
                1.随着类的加载而加载
                2.优先于对象而存在
                3.可以被所有对象共享
                4.可以用类名来访问
        注意事项
                1.在静态方法中不许出现this关键字(因为this代表
                的是一个具体的对象,而在静态方法加载到内存时,还
                没有具体的对象)
                2.静态方法只能访问静态的成员


5、public static void main(String[] args) {
                Person p = new Person();  
   },这段代码在内存中做了哪些事情?
        1.加载Person.class文件进入内存
        2.在栈中创建一个Person类的变量p
        3.在堆中创建Person对象,并对成员变量进行默认的初始化
        4.成员变量的显式初始化
        5.构造函数进栈,对成员变量进行赋值,构造函数弹栈
        6.把对象的内存地址给变量p


6、静态变量和成员变量的区别是什么?
        1.所属不同
                1.静态变量是属于类的,又叫类变量
                2.成员变量是属于对象的,又叫对象变量
        2.内存位置不同
                1.静态变量是在方法区的静态区
                2.成员变量是在堆内存中的
        3.内存出现的时间不同
                1.静态变量是随着类的加载而加载的,随着类的消失就消失
                2.成员变量是随着对象的创建而产生,随着对象的消失而消失
        4.调用不同
                1.静态变量可以有类名调用,也可以用对象调用;
                2.成员变量只能用对象调用


7、如何使用JDK提供的帮助文档?
        javadoc -d 存储帮助文档的路径 [options] java文件的全名(包括后缀)


8、通过Math类如何获取1-100之间的随机数?
        (int)(Math.random()*100)+1
9、需求:定义一个长方形类,定义求周长和面积的方法,然后定义一个测试类进行测试。
public class Rectangle {
        private int length;//长
        private int width;//宽
        //无参构造函数
        public Rectangle() {
        }
        //有参构造函数
        public Rectangle(int length, int width) {
               
                this.length = length;
                this.width = width;
        }
        //获得周长
        public  int  getPerimeter() {
                return (this.length+this.width)*2;
        }
        //获得面积
        public int getArea() {
                return this.length*this.width;
        }

        //get/set方法
        public int getLength() {
                return length;
        }
        public void setLength(int length) {
                this.length = length;
        }
        public int getWidth() {
                return width;
        }
        public void setWidth(int width) {
                this.width = width;
        }
       
       
        public static void main(String[] args) {

                Rectangle rectangle=new Rectangle(12,15);//创建长方形对象
                int perimeter=rectangle.getLength();//获得周长
                int area=rectangle.getArea();//获得面积
                System.out.println("周长:"+perimeter+",面积:"+area);//输出结果
               
                System.out.println("************************");//分界符
               
                Rectangle rectangle1=new Rectangle(12,15);//创建长方形对象
                rectangle1.setLength(20);//设置长
                rectangle1.setWidth(30);//设置宽
                int perimeter1=rectangle1.getLength();//获得周长
                int area1=rectangle1.getArea();//获得面积
                System.out.println("周长:"+perimeter1+",面积:"+area1);//输出结果
        }
}
10、根据需求,完成如下代码(按照标准格式写),并在测试类中进行测试。
        需求一:
                员工类Employee
                        属性:姓名name,工号id,工资salary
                        行为:显示所有成员信息的方法show()
public class Employee {
        private String name;//姓名
        private String id;//工号
        private float salary;//工资
        //显示所有成员信息的方法
        public void show() {
                System.out.println("name=" + name + ", id=" + id + ", salary=" + salary);
        }
       
        public Employee() {
        }

        public Employee(String name, String id, float salary) {
               
                this.name = name;
                this.id = id;
                this.salary = salary;
        }

        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public String getId() {
                return id;
        }
        public void setId(String id) {
                this.id = id;
        }
        public float getSalary() {
                return salary;
        }
        public void setSalary(float salary) {
                this.salary = salary;
        }
       
        public static void main(String[] args) {
                Employee employee=new Employee("gcno93","1234",500);//创建员工对象
                employee.show();//显示员工信息
                System.out.println("*****************");
                Employee employee1=new Employee();//创建员工对象
                employee.setName("hello");//设置姓名
                employee.setId("545646");//设置工号
                employee.setSalary(1000);//设置工资
                employee1.show();//显示员工信息
        }
}
        需求二:
                动物类Animal
                        属性:姓名name,年龄age
                        行为:吃饭eat,睡觉sleep
public class Animal {
        private String name;//name
        private int age;//age
        //无参构造方法
        public Animal() {
               
        }
        //有参构造方法
        public Animal(String name, int age) {
                this.name = name;
                this.age = age;
        }
        //吃饭
        public void eat() {
               
                System.out.println(this.name+"吃饭");
        }
        //睡觉
        public void sleep() {
                System.out.println(this.name+"睡觉");
        }
        //get/set方法
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
       
        public static void main(String[] args) {
                Animal animal=new Animal("大狗",5);//创建动物类
                animal.eat();//吃饭
                animal.sleep();//睡觉
               
                System.out.println("*****************************");
                Animal animal1=new Animal();//创建动物类
                animal1.setName("小狗");
                animal.setAge(5);
                animal1.eat();//吃饭
                animal1.sleep();//睡觉
       
        }
}
        需求三:
                人类Person
                        属性:姓名name,年龄age,性别gender
                        行为:学习study,睡觉sleep
public class Person {
        private String name;//姓名
        private int age;//年龄
        private char gender;//性别
        //无参构造函数
        public Person() {
               
        }
        //有参构造函数
        public Person(String name, int age, char gender) {
               
                this.name = name;
                this.age = age;
                this.gender = gender;
        }
        //学习
        public void study() {
                System.out.println(this.name+"学习");
        }
        //睡觉
        public void sleep() {
                System.out.println(this.name+"睡觉");
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
        public char getGender() {
                return gender;
        }
        public void setGender(char gender) {
                this.gender = gender;
        }
       
        public static void main(String[] args) {
                Person person=new Person("lss",15,'男');//创建Person对象
                person.study();//学习
                person.sleep();//睡觉
                System.out.println("**********************");
                Person person2=new Person();//创建Person对象
                person2.setName("sada");//设置名字
                person2.setAge(20);//设置年龄
                person2.setGender('女');//设置性别
                person2.study();//学习
                person2.sleep();//睡觉
        }
}

11、自学Random类,然后通过Random类来实现猜数字的小游戏。
import java.util.Random;
import java.util.Scanner;

public class MyRandom {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);//创建键盘录入对象
                System.out.println("请输入你猜测的数字");//提示
                int mygussce=sc.nextInt();//录入猜测数据
                int gussce=new Random().nextInt(100)+1;//产生答案
                int count=0;//猜测的次数
                while(true){//循环猜测,直到猜对为止
                        count++;//猜测的次数添加
                        if(gussce>mygussce){//如果小了
                                System.out.println("你猜小了,请重新输入:");
                                mygussce=sc.nextInt();//重新录入猜测数据
                        }else if(gussce<mygussce){//如果大了
                                System.out.println("你猜大了,请重新输入:");
                                mygussce=sc.nextInt();//重新录入猜测数据
                        }else{//猜对了
                                System.out.println("你猜了"+count+"次,终于猜对了,答案是:"+gussce);
                                break;
                        }
                }
        }
}

1 个回复

倒序浏览
....你这复制粘贴的......
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马