java零基础起步群里多多可供_第1页
java零基础起步群里多多可供_第2页
java零基础起步群里多多可供_第3页
java零基础起步群里多多可供_第4页
java零基础起步群里多多可供_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、初学者如果想学好 Java 的,2016.Java 学习有免费学习公开课+ 42676-8854复习数组一维数组的使用方式如图 1.1 所示:图 1.1数组比变量强大一些,变量只能一个,而数组可以多个,经常有一些数据链的话,那么就得找数组就。二维数组的使用方式如图 1.2 所示:图 1.2二维数组用的比较多,他像一个表格,但是在内存中表示的形式就是图 1.2 中所示的,这就是二维数组的一个结构。那么三维数组的表现形式想象中就是多张表格,在内存中的表示其实也是数组中有数组,数组中再有数组,这就称之为三维数组。如图 1.3 所示:图 1.3三维数组用的很少,基本上不用,用的最多的就是一维,二维用的

2、也多,所以写好一二维就可以了。他无非就是变量,无非就是存放多个值。foreach 语句:foreach 与 for 的不同之处如图 1.4 所示:图 1.4觉得用for 遍历数组有点麻烦,那么foreach 语句就出现了,他代表了 for 循环的遍历,这种形式,就是foreach 语句。他比 for 循环模式要简单的多,一句话就可以搞定,而且输出的时候,只要输出j 就可以了。那么这是一种什么机制呢?如图 1.5 所示:图 1.5首先放在冒号后面的,他可以是数组的类型,也可以是集合类型,还可以是枚举类型,也就是说只要写上类似于这种容器,能够多个的就是行。那这个i 是什么意思呢?就是,每次循环的时

3、候,他取出一个值交给变量j,变量 j 就是接收者,接收从数组或者集合里拿出来的值交给接收者。每次循环重新接收值。就算这样写,但是最后编成 class 文件,他还是还原了以前的写法,他只是一种简写,就是为了加快开发的速度,但是他底层的东西是没有发生改变的,所以这只是一种简写的方式,最终还是转换成了机器认识的东西。任何的编程语言不管什么样的写法,他其实最终都会转成机器的代码,机器他认识的都那一个。为什么很容易如图 1.6 所示:图 1.6用户写代码,转成机器认识的代码,机器码是可以翻译过来的,而源代码别人是看不到的,不知道逻辑是怎么运行的。比如饭店,有火爆的也有不火爆的,其实最重要的是管理的制度,

4、做菜也是一样的材料,一样的地方好的,但是他做出来的就是好吃,或者人家的服务就是好,那么人家的做法,人家的服务就是人家的逻辑,你给的什么材料无非就是资源。所以逻辑是理念是看不到的,最终的结果就是一盘菜出来。所以做反编译,做解码那些大部分都是从机器码下手的,机器码都是可以看到的。只有中间的这个源代码部分看不到。什么是开源,开源就是把人能够看懂的代码开源出来。结合上面的内容,foreach 语句紧紧只是一种简写的写法而已,不管到哪,他最终都会形成 for 循环的那种形式。也就是不管任何的编码他怎么做,他最终都会转成机器码去执行。需要注意的是,你的数组是什么类型的,那么 foreach 语句的接收者也

5、得是什么类型的不然会报错,如图 1.7 所示:意思是说,这个类型不匹配,你是字符串的类型,那么接收者也必须是字符串类型。图 1.7二维数组如何使用 foreach 语句如图 1.8 所示:图 1.8先取数组,取出了数组再取值。j 是取出数组,然后n 是取出j 里面一个个的值,然后打印出来。命令行参数:命令行参数就是main 方法里面的参数String args 他就是一个数组,args 只是数据类型的一个名称,就是一个数组的变量,名称无所谓,类型没变就行了。这个就是程序的入口点。如图 1.9所示:图 1.9那他是怎么运行的?为什么要传递一个字符串?比如a.txt,为什么双击他就会打开记事本?因

6、为在双击的时候windos 首先把双击文件的path 路径收集起来,之后看后缀名称是.txt 关联的是什么程序,是记事本程序那么就把参数传递了进来。也就是在windos 点开一个文件的时候,会把文件路径收集起来,去找一下是打开这个后缀,找到那个程序之后就会把这个路径提交给记事本,这种方式就叫做接收外界参数的值。如图 2.0 所示:图 2.0就比如 CS,只要往程序里面加上一个参数,那么就可以形成窗口的模式。参数有些程序是非要不可的,无论打开也好doc 文档也好,他其实都是一种参数的传递,都是把路径交给一个,根据这个路径去打开它。为什么一个类里面会有一个 String,因为是来接收外界参数的。怎

7、么运行的如图 2.1 所示:图 2.1运行Test,后面跟了一个路径称之为参数,首先他找Java.exe程序, 找到了然后把 Test D:/a.txt 交给了 Java.exe然后分析Test.calss 去当前的目录,或者去classpath 里找,找到了去就加载这个文件的static 静态参数。加载完了就把 D:/a.txt 封装成String然后String 数组调用main 方法的时候把String传递过来。也就是在我们的类后面写的参数,写多少个无所谓,写好之后jdk 会自动形成一个字符串数组,然后传递过来。为什么会字符串数组,因为可以传递多个值。为什么放进 String 数组里面?

8、因为String 数组是最大的所以要申请为String 可以放很多个。不同类型也没事,无非就是当作为字符串类型,今后要用的时候才自行转换就可以了。例题 2.2 所示:图 2.2连在一起那么就会当作一个参数,写空格就多个参数,但是就要空格又要一个参数那么就引号引起来,传*他会把当前目前的内容都呈现出来。静态块:静态块是类里面的构造器,对象有构造器那么类也有构造器,类里面的构造器叫做初始化方法。也就是new 一个对象他会经过一个构造器。加载一个类,也有被初始化的一片代码,这个就称之为静态块。一个类里面可以有很多个静态块,静态块的运行过程是,如果一个类里面有多个静态块,那么他是从上到下运行的。如图

9、2.3 所示:图 2.3图 2.3 中可以看出,他是从上到下的运行,但是需要哪一个的时候他就会被加载实例化,但静态块还是从上到下执行。里面可以包含很多代码,但是静态块不能被实例的成员。如图 2.4 所示:图 2.4意思是静态块不能被实例的成员。这个是错误的,因为静态块不能非静态的成员。静态块是类被加载的时候就创建起来的。静态块会被几种方式加载呢?第一种new 对象静态块会初始化,激发类被加载。如图 2.5所示:图 2.5第二种静态的属性,也会激发类被加载。如图 2.6 所示:图 2.6第三种调用里面的静态方法,也会触使类加载起来。如图2.7 所示:图 2.7第四种用 Class.forName

10、(“Test”);可以通过字符串加载起来,这种方式叫做动态加载,也可以触使一个类加载起来。如图2.8 所示:图 2.8类的成员什么时候用就什么时候加载,什么时候不用就不加载,静态的成员就必须使用的时候才会加载。常量成员不能被初始化加载如图 2.9 所示:图 2.9打印的是 10,但是静态块的东西没有打印出来,那就说明这个类没有被加载起来,因为他是一个静态的常量,静态的常量不属于类的内存,他没有分配在这个类内存里面,他不需要初始化这个类。静态的属性为什么能,因为静态的属性内存必须要分配在这个类里面,所以他会被初始化加载。所以图中的静态块不会被加载起来。方法集合参数:方法的集合参数就是这个方法的参数有多个,可以无限个。如图 3.0 所示:这种方式太麻烦,所以JDK1.5 以后就有了另式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论