本文目录一览:
- 1、菜鸟学习java,求大神解释下面的代码各段是什么意思,尽量详细,谢谢
- 2、Java编程学习中从菜鸟开始应该掌握的知识点都哪些?
- 3、我是JAVA菜鸟,刚学,希望帮忙下
- 4、java 菜鸟初学者之super疑惑
- 5、Java菜鸟学习编写第一个java程序HelloWorld
- 6、菜鸟:刚学java,堆区,栈区,静态区,代码区,晕了!!!!!
菜鸟学习java,求大神解释下面的代码各段是什么意思,尽量详细,谢谢
Zip.java
import java.io.*;
import java.util.zip.*;
public class Zip {
static final int BUFFER = 2048; // 定义缓冲区大小
public static void main (Stringargv[]) {
try {
BufferedInputStream origin= null; // 创建带有缓冲区的inputstrream
FileOutputStream dest = new
FileOutputStream("c:\\zip\\myfigs.zip"); // 创建文件输出流,并打开zip文件 CheckedOutputStream checksum = new
CheckedOutputStream(dest,new Adler32()); // 创建过滤流,并验证数据的完整性
ZipOutputStream out = new
ZipOutputStream(new
BufferedOutputStream(checksum)); // 创建压缩文件输出流,并传入参数
//out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = newbyte[BUFFER]; // 创建字节数组
// get a list of files fromcurrent directory
File f = newFile("."); // 创建File变量读取根目录用于文件的读写
String files[] = f.list(); // 读取f文件夹下所有的文件名
for (int i=0; i files.length; i++) { // 根据文件名的数量进行循环
System.out.println("Adding: "+files[i]); // 打印出添加的文件名到控制台
FileInputStream fi = new
FileInputStream(files[i]); // 创建文件读取流,读取当前循环到的文件
origin = new
BufferedInputStream(fi, BUFFER); // 把文件流放入带有缓冲区的inputstream,并指定缓冲区大小
ZipEntry entry = newZipEntry(files[i]); // 创建zip压缩入口实例化,放入当前循环到的文件
out.putNextEntry(entry); // 输出流中放入压缩的文件
int count;
while((count =origin.read(data, 0,
BUFFER)) != -1) {// 当count值等于缓冲区读取的数据字节大小,且不等于-1
out.write(data, 0,count); // 输出流写入count字节大小的数据
}
origin.close();// 关闭带有缓冲区的inputstream
}
out.close(); // 关闭输出流
System.out.println("checksum:
"+checksum.getChecksum().getValue()); // 打印验证压缩文件的值到控制台
} catch(Exception e) { // 捕捉异常
e.printStackTrace(); // 打印异常信息
}
}
}
Java编程学习中从菜鸟开始应该掌握的知识点都哪些?
建议你先了解JAVA的面向对象思想.
刚刚开始学习的时候千万别用什么集成开发环境,比如说eclipse那样的的开发工具,直接用记事本或者是EditPlus或者是UltraEdit32等文本编辑器.那样你学习起来更快.自己学着怎么搭建开发环境.
如果是出学者的话建议你买本张孝祥的JAVA就业培训教程,讲得很清楚,注意学习集合类,IO等方面的知识,如果你要向J2ME方向发展的话就要学习SWING等方面的知识.
JAVA核心技术和JAVA编程思想都不太适合初级学者,因为我就是一个学法律转型学计算机的.在刚刚开始接触JAVA的时候我买了这两本书,根本看不懂是个什么意思.等到现在回头再看,真是受益非浅.
如果是要视频方面的知识的话建议你看马士兵的,因为张孝祥的基础视频讲得有点罗嗦.
祝你学习愉快!
我是JAVA菜鸟,刚学,希望帮忙下
1. 在Java程序中,通过类的定义只能实现_____单_____重继承,但通过接口的定义可以实现____多_____重继承关系。
2. Java中类成员的限定词有:_public,private,defult,Protected ____。其中,____public_______的限的范围最大。
3. JAVA 中的循环控制语句有___for______,__do-while____,___while____三种基本形式。
4. 在闰年的判断中满足 ( a ) 能被4整除,但不能被100整除;( b )能被4整除,又能被100整除,试用一个表达式表达:___(a)_if year%4==0 and year%100!=0____(b) if year%4==0 and year%100==0_______。
5. do-while 循环的基本条件结构:
[初始化部分]
do
{
循环体;
[ __循环条件____ ]
} while ( __终止条件_____ );
java 菜鸟初学者之super疑惑
1,java中的每个类构造的时候都会调用父类的无参构造
2,如果该父类没有无参构造,就必须在第一行用super(...)来调用父类的某个构造
3,这只是调用一个方法,并不构造一个对象
Java菜鸟学习编写第一个java程序HelloWorld
不管学哪门语言,第一个HelloWorld程序成功运行起来的时候,代表着你的学习已经跨进了一小步。做这个java实验之前,读者最少要在自己的电脑上安装好JDK(包括配置好环境变量),如果读者还不会安装JDK和配置环境变量可以看作者的另一遍经验。
编写并保存代码。打开记事本编写如图1所示代码,图1代码为(注意输入代码时输入法一定切换到英文输入状态下):
public class HelloWorld {
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在D盘建立一个JAVA文件夹用于保存代码,保存的时候一定要注意,如图2所示,“保存类型(T)”要选择“所有文件(*.*)”,“文件名(N)”一定要为 HelloWorld.java 。如图3所示,保存后到D:JAVA下检查下文件名是否正确,HelloWorld.java.txt,HelloWorld.txt都是错误的文件名。JAVA程序代码后缀为.java,文件名常常要求保持和类名一致。JAVA语言是严格区分大小写字母的,但是Windows的文件名却不区分大小写。
启动命令提示符并进入到D:JAVA文件夹。如图1所示,按下WIN+R键启动运行命令框,输入cmd命令后回车,就可以启动命令提示符窗口。然后在命令提示符窗口中输入下面命令进入D:JAVA目录:
D: 回车
cd JAVA 回车
调用编译指令javac把HelloWorld.java转换为字节码文件HelloWorld.class 。如下图所示,执行指令:
javac HelloWorld.java 回车
执行指令如果没提示什么信息就是最好的信息,这时检查JAVA文件夹就会发现多了一个.class文件,这就是字节码文件了。如果提示错误信息就要回过头检查了。首先检查JDK环境变量是否配置好,然后检查类名和文件名是否一致,再检查代码是否有用正文输入法输入等等。
运行程序。代码转换为.class 文件后就可以在JVM虚拟机下运行了。在命令提示符敲入命令:
java HelloWorld 回车
如图所示,回车后打印输出:
HelloWorld!
注意,这时实际上是运行HelloWorld.class,但是命令中并不用加后缀名。
分析第三步的伪编译原理。如图所示,.java后缀的是源代码,一个或者多个源代码要经过java编译器生产.class后缀的字节码。字节码是和平台无关的,和C语言编译生成平台相关的机器码是不一样的。机器码可以只能在对应的平台执行,字节码执行是平台无关的但是必须有解释器。
分析第四部JAVA程序的执行过程。图为.class文件被读取后进行解释为平台相关机器码执行的过程。和编译型语言(比如C)程序最大的不同是JAVA程序经过解释器转换为和平台相关的机器码才可执行,可见这个过程在执行过程中动态解释,而编译型语言(比如C)是在执行之前就编译成了和平台相关的机器码了。这也是JAVA语言可以“一次(伪)编译,到处运行”的重要原因。
菜鸟:刚学java,堆区,栈区,静态区,代码区,晕了!!!!!
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内在的分配,有六个地方都可以保存数据:
1、 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。
2、 堆栈。驻留于常规RAM(随机访问存储器)区域。但可通过它的“堆栈指针”获得处理的直接支持。堆栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。创建程序时,java编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活性,所以尽管有些java数据要保存在堆栈里——特别是对象句柄,但java对象并不放到其中。
3、 堆。一种常规用途的内存池(也在RAM区域),其中保存了java对象。和堆栈不同:“内存堆”或“堆”最吸引人的地方在于编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间。因此,用堆保存数据时会得到更大的灵活性。要求创建一个对象时,只需用new命令编制相碰的代码即可。执行这些代码时,会在堆里自动进行数据的保存。当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间
4、 静态存储。这儿的“静态”是指“位于固定位置”。程序运行期间,静态存储的数据将随时等候调用。可用static关键字指出一个对象的特定元素是静态的。但java对象本身永远都不会置入静态存储空间。
5、 常数存储。常数值通常直接置于程序代码内部。这样做是安全的。因为它们永远都不会改变,有的常数需要严格地保护,所以可考虑将它们置入只读存储器(ROM)。
6、 非RAM存储。若数据完全独立于一个程序之外,则程序不运行时仍可存在,并在程序的控制范围之外。其中两个最主要的例子便是“流式对象”和“固定对象”。对于流式对象,对象会变成字节流,通常会发给另一台机器,而对于固定对象,对象保存在磁盘中。即使程序中止运行,它们仍可保持自己的状态不变。对于这些类型的数据存储,一个特别有用的技艺就是它们能存在于其他媒体中,一旦需要,甚至能将它们恢复成普通的、基于RAM的对象。