1.分别写出分支结构,循环结构的语法格式
分支结构有if结构、switch结构
if结构:
switch结构:
循环结构有while结构,do-while结构,for循环
while结构:
do-while结构:
for循环:
2.写出控制循环结构的相关语句,并描述其作用
break:在循环体中,使用 break 关键字跳出整个循环。
continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。
3.数组初始化的方式有哪些?请举例说明。
静态初始化:
int[]arrs = {1,2,3,4};
动态初始化:
type[] arrayName = new type[length];
4.请写出一个合理的数组,并使用foreach循环遍历到控制台。
for (int i = 0; i < arrs3.length; i++) {
System.out.println(arrs3[i]);
}
for(int a : arrs3) {
System.out.println(a);
}
5.类和对象是什么关系?类的命名规范是什么?
类是一群对象的特征母版
类是一群对象的抽象
对象是类的具体实例
命名规范:首先要符合标识符的定义,在实际开发中,我们一般使用驼峰命名方式定义类名,并且首字母大写。
6.类的成员有哪些?用于成员变量的修饰符有哪些?
成员变量,方法,构造器
private,protected,public,static,final
7.成员变量包含哪些?命名规范分别是什么?
实例变量:符合标识符定义规则,开发中,一般用驼峰命名,首字母小写
静态变量(类变量):符合标识符定义规则,在开发中,一般全部大写,多个单词之间用_
8.请书写定义方法的语法?
[修饰符] 方法的返回值数据类型 方法名(形参列表){
方法体语句
}
9.请书写构造器定义的语法?构造器的用途是什么?
[修饰符] 类名(参数列表){
执行语句
}
10.请简述你对this的理解?写出使用this调用成员变量、方法、构造器的代码示例。
this本身没有什么意义,在具体应用中,在方法中调用this,代表当前该方法的对象
public class Client {
private String stu;
public Client(String stu) {
this.stu = stu;
}
public void fun() {
System out println(this.stu);
}
}
11.方法的参数其实传递的是什么类型的数据?如果传入的是基本数据类型,是否原数据的值会发生改变?如果传入的是引用数据类型呢?阐述原因。
其实传递的是值类型;如果传入的是基本数据类型,原数据的值不会发生改变,如果是引用数据类型会改变,因为方法参数传递是“拷贝值(如果是基本数据类型拷贝本身的值,如果是引用数据类型拷贝的是对象的引用、地址)的副本”
12.方法签名是什么意思?
只包含方法名和参数列表
13.什么是方法重载?
如果在一个类中出现多个方法名一样,参数列表不一样的情况,我们把这样的方法称为方法的重载。
重载的意义是这些方法实现的功能基本一致,但是传入的参数可能不一样。
14.请分别说明类变量、实例变量、局部变量的生命周期?
1.局部变量
局部变量是指定义在方法或代码块中的变量,局部变量必须初始化,在方法或代码块内有效,之外则无效,方法执行开始入栈时创建,执行完毕出栈时销毁。
2.实例变量
其作用域受限定符限定,Private的只能在本类中使用,protected子类可用,public任何地方都可用。
生命周期从对象创建开始到对象销毁结束。
3.类变量
类变量是指类的static变量,用类名可以直接访问。生命周期从加载类开始,到销毁类结束。
15.请书写标准的对下面两个成员变量的封装方法:
a) private String name;
b) private String stuCode;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setStuCode(String stuCode) {
this.stuCode = stuCode;
}
public String getStuCode() {
return this.stuCode;
}
16.在企业开发中包名定义的规范是什么?
符合标识符的命名规范,在实际开发中,为了让类有相对唯一性,使用企业的域名倒着写来定义包名,包名全部用小写规范。
com.dodoke.项目名,模块名
17.我们一般在什么情况下使用import语句?如果不使用import语句,有什么其他的解决方案?
如果在一个类中需要引用不在当前类包中的其他类的时候,使用import语句
不使用import使用类全名:类的包名+类名
18.访问控制修饰符有哪些?分别的控制范围是什么?
private:同一类
default:同一类,同一个包
protected:同一类,同一包,子类
public:所有都可以
19.对象在创建时的成员变量的默认值分别是什么?
数值型:0,字符串:'\u0000',布尔型:false,
引用数据类型: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课
(提示:需要定义的类包括:老师类、学员类、课程类等等,要运用封装的概念,要有类变量的定义。最后需要通过方法在控制台打印出上述语句)
Teacher类
package com.dodoke.test02;
/**
* 创建教师类
* @author 54649
*
*/
public class Teacher {
//声明教师的姓名,年龄,星座
private String name;
private int age;
private String constellation;
//创建构造器
public Teacher(String name, int age, String constellation) {
super();
this.name = name;
this.age = age;
this.constellation = constellation;
}
public Teacher() {
super();
}
//对属性值封装
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 String getConstellation() {
return constellation;
}
public void setConstellation(String constellation) {
this.constellation = constellation;
}
}
Student类
package com.dodoke.test02;
/**
* 学生类
* @author 54649
*
*/
public class Student {
private String name;
private String calss;
public Student() {
super();
}
public Student(String name, String calss) {
super();
this.name = name;
this.calss = calss;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCalss() {
return calss;
}
public void setCalss(String calss) {
this.calss = calss;
}
}
Course类
package com.dodoke.test02;
/**
* 建立课程类
* @author 54649
*
*/
public class Course {
private String name;
//建立构造器
public Course() {
super();
}
public Course(String name) {
super();
this.name = name;
}
//封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
School类
package com.dodoke.test02;
/**
* 建立shool类
* @author 54649
*
*/
public class School {
public static final String NAME="南通青鸟教育";
//构造器
public School() {
super();
}
}
Main类
package com.dodoke.test02;
/**
*
* @author 54649
*
*/
public class Main {
public static void main(String[] args) {
Teacher zh=new Teacher("张老师",55,"天秤座");
Student stu=new Student("学员","Java100班");
Course cou=new Course("Java课");
System.out.println(zh.getAge()+"岁"+zh.getConstellation()+"的"
+zh.getName()+"在给"+School.name+stu.getCalss()+"的"+stu.getName()+"上"+cou.getName());
}
}