Java语言概述练习
java语言特点
-
面向对象:
两个概念:类,对象
三大特性:封装、继承、动态 -
健壮性:
吸收了C/C++语言的优点,但是去掉了影响程序健壮性的部分,比如指针,内存的申请和释放等,提供了一个相对安全的内存管理和访问机制
-
跨平台:
通过java语言编写的应用程序在不同的系统平台上都可以运行
一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以。但是最多只有一个类名声明为public,与文件名相同:
package test;
public class test {
}
class test1{
}
class test2{
}
为什么要设置path
目的是为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有指令
程序中若只有一个public修饰的类,且此类含main方法。那么类名与源文件名可否不一致?
不可以。
- 每个编译单元只能有一个public类,这表示,每个编译单元都有一个单一的公共接口,用public表示
- 具体参见:https://blog.csdn.net/zhizhengguan/article/details/104071744
JDK、JRE和JVM的关系是什么?
JDK包含jre,jre包含jvm
源文件名是否必须与类名相同?如果不是,那么什么情况下,必须相同?
不是。当public class生命的类必须和元文件名相同。
实验过程如下:https://blog.csdn.net/zhizhengguan/article/details/104071607
Java的注释方式有哪几种,格式为何?
- 单行注释:
// 注释 - 多行注释:
/*注释 */ - 文档注释:
/**
@author 指定java程序的作者
@version 指定源文件的版本
*/
- 单行注释和单行注释,不会被jvm解释执行
- 注释内容可以被jdk提供的javadoc解析,生成一套以网页文件形式体现的改程序的说明文档
自己使用java文档的方式编写程序,并且使用javadoc命令解析
- 程序:
/**
* @author OceanStar
* @version V1.0.0
*/
public class Hello {
public static void main(String[] args) {
System.out.println("hello world");
}
}
- cmd:
javadoc -d mydoc -author -version -encoding utf8 Hello.java
GC是什么,为什么要有GC
GC是垃圾收集,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存会导致程序或者系统不稳定甚至崩溃,java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的显示操作方法。
GC的基本原理是什么?GC可以马上回收内存吗?有什么方法主动通知虚拟机进行垃圾回收
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址,大小以及使用情况。通常,GC采用有向图的方式记录和管理堆中的所有对象。通过这种方式确定哪些对象是“可达的“,哪些对象是“不可达”的
当GC确定一些对象是“不可达”的,GC就有责任回收这些内存空间。
GC可以马上回收内存
程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定执行。
输出一个心形【待研究】
爱心的公式 (x²+y²-1)³-x²*y³=0
public class Hello {
public static void main(String[] args) {
aiXin();
}
public static void aiXin(){
for(float y = (float) 1.5;y>-1.5;y -=0.1) {
for(float x= (float) -1.5;x<1.5;x+= 0.05){
float a = x*x+y*y-1;
if((a*a*a-x*x*y*y*y)<=0.0) {
System.out.print("^");
}
else
System.out.print(" ");
}
System.out.println();
}
}
}
https://blog.csdn.net/qq_39098813/article/details/79781396
Something类的文件名叫OtherThing.java【事实胜于雄辩】
class Something {
public static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}
答案: 正确。从来没有人说过Java的class名字必须和其文件名相同。·但public class的名字必须和文件名相同
。
System.out.println()和System.out.print()什么区别呢?【无趣】
以下代码的运行效果是什么?
System.out.println();打印完后,会换行。
System.out.print();打印完后,不会换行。