5.18日周测

1.分别写出分支结构,循环结构的语法格式。

分支选择结构有 if 结构、switch 结构
if 结构:
形式一:
if (logic expression) {
    statement;
}

形式二:
if (logic expression) {
    statement;
} else {
    statement;
}

形式三:
if (logic expression) {
    statement;
} else if (logic expression) {
    statement;
} else {
    statement;
}

switch 结构:
switch (expression) {
    case condition1 : {
        statement;
        break;
    }
    case condition2 : {
        statement;
        break;
    }
    default : {
        statement;
        break;
    }

}

循环结构:
while 结构:

while (test_expression) {
    body_statement;
    [iteration_statement];
}

do-while 结构:
do {
    body_statement;
    [iteration_statement];
} while (test_expression)
无论如何都会执行一次循环体内容

for 循环:
for ([init_statement]; test_expression; [iteration_statement]) {
    body_statement;

}


2.写出控制循环结构的相关语句,并描述其作用。

break:在循环体中,使用 break 关键字跳出整个循环。

int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum = sum + i;
    if (i == flag) {
        break;
    }
}
System.out.println(sum); 

continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。

int sum = 0;
for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    sum = sum + i;
}

System.out.println(sum); 


3.数组初始化的方式有哪些?请举例说明。

静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
type[ ] arrayName = {element1, element2,....}; // 比较常见
type[ ] arrayName = new type[ ]{element1, element2,...};
int[ ] arrs = {1, 2, 3, 4};
int[ ] arrs2;
arrs2 = new int[ ]{1, 2 ,3 ,4};

动态初始化:只需要指定数组的长度,通过程序动态的给每个元素赋值(即由系统为每个数组元素分配初始值)。

type[ ] arrayName = new type[length];


4.请写出一个合理的数组,并使用foreach循环遍历到控制台。

for (type element : array | collections) {
    element...
}


例:
int[ ] arr={1,2,3};
for(int a : arr) {
    System.out.println(a);

}


5.类和对象是什么关系?类的命名规范是什么?

类: 是一种自定义的数据类型。
对象:通过类创建的变量,或者叫类的实体。
类是一群对象的特征母版,对象是类的具体实例。
类是一群对象的抽象。

类的首字母大写


6.类的成员有哪些?用于成员变量的修饰符有哪些?

类:成员变量、方法、构造器

成员变量的修饰符:public、protected、private、static、final,但public、protected、private只允许出现一个,也可以省略


7.成员变量包含哪些?命名规范分别是什么?

[修饰符] 数据类型 成员变量名 [= 默认值]
修饰符:可以省略,也可以是 public protected private static final,其中 public protected private 只允许出现一个。
数据类型:可以是任意的数据类型(包含基本数据类型、类类型、数组类型)

默认值:如果是类类型的,没有定义默认值,那么成员变量的值为 null,如果是基本数据,没有定义默认值,那么成员变量的值是有意义的,比如 int 就是 0,boolean 就是 false。


8.请书写定义方法的语法?

[修饰符] 方法的返回值数据类型 方法名(形参列表) {
    方法体语句;

}


9.请书写构造器定义的语法?构造器的用途是什么?

[修饰符] 类名([参数列表]) {}

1、创建对象 2、初始化成员变量 3、添加逻辑判断


10.请简述你对this的理解?写出使用this调用成员变量、方法、构造器的代码示例。

出现在构造器中:引用该构造器正在初始化的对象;
普通方法中:调用该方法的对象。


Student1(String name, int age, String code) {
    this.name = name;
    this.age = age;
    this.code = code;
}

String intro() {
    return "我叫" + this.name + ",我的学号是" + this.code + ",我今年" + this.age + "岁了。";
}

void listen() {
    System.out.println("自我介绍:" + this.intro() + "  " + this.name + "在上课。");
    return;

}


11.方法的参数其实传递的是什么类型的数据?如果传入的是基本数据类型,是否原数据的值会发生改变?如果传入的是引用数据类型呢?阐述原因。

参数的传递都是「值传递」,在调用方法的时候,参数会被创造出一个副本,原本的值是不会改变的。
基本数据类型,也称为「值类型」

如果方法中传入的是基本数据类型,那么原变量的值是不会发生改变的,如果方法中传入的是引用数据类型(即类类型),那么传入方法中,如果对对象的相关属性进行了修改,那么原对象的相关属性也会发生改变


12.方法签名是什么意思?

包括方法名字和方法参数


13.什么是方法重载?

重载是跟方法的签名有关系,方法名相同,传入的参数不同


14.请分别说明类变量、实例变量、局部变量的生命周期?

类变量是指类的static变量,用类名可以直接访问。生命周期从加载类开始,到销毁类结束
实例变量作用域受限定符限定,Private的只能在本类中使用,protected子类可用,public任何地方都可用。生命周期从对象创建开始到对象销毁结束

局部变量是指定义在方法或代码块中的变量,局部变量必须初始化,在方法或代码块内有效,之外则无效,方法执行开始入栈时创建,执行完毕出栈时销毁


15.请书写标准的对下面两个成员变量的封装方法:
a)private String name;

b)private String stuCode;

private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

private String stuCode;
public String getStuCode() {
return stuCode;
}
public void setStuCode(String stuCode) {
this.stuCode = stuCode;
}


16.在企业开发中包名定义的规范是什么?

第一层是企业的域名的反写
例如:com.ntqingniao
第二层是企业项目的名称
例如:com.ntqingniao.j96、com.ntqingniao.crm
第三层是企业项目模块的名称

例如:com.ntqingniao.j96.oop、com.ntqingniao.crm.base


17.我们一般在什么情况下使用import语句?如果不使用import语句,有什么其他的解决方案?

使用 import 关键字将本类要使用的其他包中的类进行引入。使用 ALT+/ 可以单个引入,也可以使用 CTRL+SHIFT+O 全部引入。如果要引入某个包下面的所有类,可以使用通配符*,但是通配符只能出现在最后。

java.lang包是自动引入的,不需要显式的加import引入,因此可以直接引用System、String、Math等。


18.访问控制修饰符有哪些?分别的控制范围是什么?

private:只能在当前类中被访问,一般用于对成员变量的修饰;
default:没有定义修饰符就是 default;
protected:可以在子类和本包中被访问,外部包不能被访问,在有一定业务意义的包中,可以定义类中成员变量是protected;

public:一般定义在方法或者一些常量中,用于外部接口的访问


19.对象在创建时的成员变量的默认值分别是什么?

基本数据:数值型的为0,布尔类型的为false,char类型的为’\u0000’;
引用数据类型:null;

如果在方法中定义的局部变量:系统是不会对其设置默认值的,必须要显式的通过赋值运算符=给变量赋值。


20.请至少写出3个常用的JDK包。

java.lang:包含了 Java 语言的核心类库,如 String、System、Math等等,使用该包下的类是不需要显式引入;
java.util:包含了大量的工具类,如 Date、集合框架;
java.net:Java 网络编程的类和接口包;
java.io:Java 输入输出,如流等方面编程的包;
java.text:格式化方面的类;
java.sql:数据库编程方面的类和接口包;

java.awt:图形用户界面方面的类和接口包。


附加题:编程实现
55岁天秤座的张老师在给南通青鸟教育Java100班的学员上Java课

(提示:需要定义的类包括:老师类、学员类、课程类等等,要运用封装的概念,要有类变量的定义。最后需要通过方法在控制台打印出上述语句)








猜你喜欢

转载自blog.csdn.net/j94926/article/details/80371390