总结

1.java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以".java"结尾的源文件中
编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名

2.在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。 而且要求声明为public的类的类名必须与源文件名相同。

3.程序的入口是main()方法。格式是固定的。

4.输出语句: System.out.println():先输出数据,然后换行 System.out.print():只输出数据

5.每一行执行语句都以";"结束。

6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。

问题:java语言的特点是什么?

面向对象性:两个基本概念:类、对象;三大特性:封装、继承、多态
健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”

问题:System.out.println()和System.out.print()什么区别呢? 以下代码的运行效果是什么?

System.out.println();打印完后,会换行。
System.out.print();打印完后,不会换行。

问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

答:可以。但最多只有一个类名声明为public,与文件名相同。

Something类的文件名叫OtherThing.java
 class Something {
 public static void main(String[] something_to_do) {
 System.out.println(“Do something …”);
 }
 }


这个很明显。
答案: 正确。从来没有人说过Java的class名字必须和其文件名相同。但public class的名字必须和文件名相同。

问题:为什么要设置path(或者说,设置path的目的是什么)?

目的是为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有指令。

JAVA_HOME = bin的上一层目录
Path = % JAVA_HOME %\bin
JDK,JRE和JVM的关系是什么?
JDK包含JRE,JRE包含JVM.
Jdk = jre + java的开发工具(java.exe , javac.exe , Javadoc.exe)
Jrd = jvm + java的核心类库

问题:源文件名是否必须与类名相同?如果不是,那么什么情况下,必须相同? Public 需要相同

程序中若只有一个public修饰的类,且此类含main方法。那么类名与源文件名可否不一致?

问题:Java的注释方式有哪几种,格式为何?

1.java规范的三种注释方式:
单行注释
多行注释
文档注释(java特有)

2.单行注释和多行注释的作用:
① 对所写的程序进行解释说明,增强可读性。方便自己,方便别人
② 调试所写的代码

3.特点:单行注释和多行注释,注释了的内容不参与编译。
换句话说,编译以后生成的.class结尾的字节码文件中不包含注释掉的信息

4.文档注释的使用:
注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

5.多行注释不可以嵌套使用

自己使用java文档注释的方式编写程序,并用javadoc命令解析

超纲题目:GC是什么? 为什么要有GC

答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,
忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

超纲题目:垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收

答:对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。
当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

输出:心形

方式一:

class PrintHeart {
	public static void main(String[] args) {
		System.out.print("\t");
		System.out.print("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");

		System.out.println("*");

		System.out.print("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("I love java");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");

		System.out.println("*");

		System.out.print("\t");
		System.out.print("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");

		System.out.println("*");

		System.out.print("\t");
		System.out.print("\t");
		System.out.print("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.println("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.println("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("*");
		System.out.print("\t");
		System.out.println("*");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("\t");
		System.out.print("    ");
		System.out.print("*");
	}
}

方式二:

class PrintHeart1 {
	public static void main(String[] args) {

		System.out.print("\t" + "*" + "\t\t\t\t\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
		System.out.print("*" + "\t\t" + "*" + "\t\t\t\t" + "I love Java" + "\t\t\t\t\t" + "*" + "\t\t" + "*" + "\n");
		System.out.print("\t" + "*" + "\t\t\t\t\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
		System.out.print("\t\t" + "*" + "\t\t\t\t\t\t\t\t\t\t" + "*" + "\t\t" + "\n");
		System.out.print("\t\t\t" + "*" + "\t\t\t\t\t\t\t\t" + "*" + "\t" + "\n");
		System.out.print("\t\t\t\t" + "*" + "\t\t\t\t\t\t" + "*" + "" + "\t" + "\n");
		System.out.print("\t\t\t\t\t" + "*" + "\t\t\t\t" + "*" + "" + "\t\t" + "\n");
		System.out.print("\t\t\t\t\t\t" + "*" + "\t\t" + "*" + "" + "\t\t" + "\n");
		System.out.print("\t\t\t\t\t\t\t" + "*" + "\n");
	}
}