(1) - 基础学习

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

1、 常见dos命令

打开dos界面:计算机的开始--》运行-->输入cmd,或者win键+R

常见命令,用用就会了:

dir:列出当前目录下的文件以及文件夹。

md:创建目录。c\:>md 文件夹名

rd :删除目录。c:\>rd 文件夹名,前提是文件夹要是空的

del :删除某目录下的所有文件

cd :进入指定目录。c:\>cd 文件夹路径名,相当于打开某文件

cd..:退回到上级目录。c:\>cd.. 文件夹路径名

cd/ :退回到根目录

del :删除文件

exit :退出dos命令行

cls :清屏。

start:新建另一个相同配置的dos窗口。


2、Java语言的三种技术及Java虚拟机

(1)Java语言的三种技术构架

J2EE:即(Java 2 Platform EnterpriseEdition),用于企业开发。该技术体系中包含的技术如Servlet,jsp等,主要针对于Web应用程开发。

J2SE:即(Java 2 Platform Standart Edition),用于普通桌面和商业程序的开发。该技术体系是其它两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。

J2ME:即(Java 2 Platform Micro Edition),用于开发电子消费产品和嵌入式设备。该技术体系主要用于小型电子消费类产品,如手机中的应用程序等。

Java5.0版本后,上述分别更名为JAVAEE,JAVASE,JAVAME

(2)Java虚拟机

虚拟机(JVM)其实也是个软件,它是Java程序的解析器,在某个操作系统上只要先装上对应的JVM,运行Java程序时先通过JVM进行解析后再在操作系统上运行。JVM对上都是Java语言编的程序,对下是该JVM能解析的操作系统,起到一个中介作用,实现Java语言的跨平台性。由于每种操作系统都不同,所以身为程序的JVM也是要分别对待的,这也说明JVM是不能跨平台的。


3、 什么是JRE和JDK?

        JRE(Java RuntimeEnvironment):即java运行环境,其中包括java虚拟机(JVM:Java Virtual Machine)和java程序所需的核心类库等,如果想要运行一个卡法好的java程序,计算机中需要安装JRE。

        JDK(Java Development Kit):即Java开发工具包,顾名思义,JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括的JRE。其中开发工具有:编译工具(java.exe)、打包工具(jar.exe)。

        虚拟机包含在JRE中,又由于JDK包括了JRE,所以安装了JDK就不用在单独安装JRE了,简而言之:使用JDK开发完成的Java程序,交给JRE去运行。


4、 Java环境变量的配置

JDK的bin文件夹中包含了Java程序开发时所必须的工具,如编译用的java.exe,执行类文件的java.exe等,我们在写好java源码时保存于.java后缀的文件中,需执行javac.exe来编译生成class类文件。为了简化这些工具的调用命令,我们需进行环境变量的配置,需配置的一般有path,calsspath,JAVA_HOME,可在我的电脑属性中设置,也可在dos下用set命令动态临时配置。

 

Path:一般配置路径path=C:\jdk1.6\bin。其bin目录下就是开发用的程序,你在执行java命令时,JVM需要找到java环境的配置路径才能正常执行开发程序,而我们在设置路径时只需要在Path上设置一次,系统在执行java命令时将会自动按照path的路径去需找java开发程序。


JAVA_HOME:其实是个记录路径的临时变量,一是为了我们在书写path路径时不用在重复写很长的字符串,比如path=C:\jdk1.6\bin,我们可简写成path=%JAVA_HOME%\bin,二是为了让我们在变更java系统运行路径时能更方便操作,不易因变更路径书写失误,而导致路径错误。如path=%JAVA_HOME%\bin,我们要变更盘符路径时只需修改JAVA_HOME,不用每次将绝对路径打一遍。


Classpath:可连续配置加载.class文件目录的多条路径,以分号隔开,点代表当前目录。如.;%JAVA_HOME%\kkk,他是在执行类时,jvm需加载类时会根据该变量中所写路径去需找路径目录下的类文件。

 

5、 Java的基本数据类型

八种基本类型:boolean,byte,char,short,int,long,float,double。当作为类的成员变量时可指定初始值,若不指定会默认为0。


常见的三种引用类型:类(class),接口(interface),数组。引用类型是以一种特殊的方式指向变量的实体,这种机制有点类似于C语言的指针。其变量在声明时是不会分配内存的,必须另外开辟内存空间。一般引用变量存储在栈内存中,实体(一般经new)存储在堆空间中。


基本数据类型的一些简述,其它比较基本的在以后应用中慢慢体会:

boolean的取值被定死,只能是false和true二选一,所以与其它类型不能进行转换

 

byte(8位),short(16位),int(32位),long(64位)为整数数据类型,括号中是他们所占的位数,也可换算成字节(byte),每8位一字节。注意一点,自然数字(如0,1,2…..)被默认为整型常量,所以int n =9999999999999999999999999999999999999;等号中右边常量以超出整型的范围,编译报溢出错误。


char默认的情况下是Unicode字符集,一字符占2字节,还有UTF-8一般占3字节,GBK一汉字占2字节。所以在一些解码程序上要注意解码时的字符集的选择。在java输出字符时由\或单引号(‘)等是不能单独输出的,在前面再加一个反斜杠\即可,如’\\’输出’\’。

 

float(单精度)和double(双精度)即浮点类型,俗称小数,float占32字节,double占64字节,float变量赋值,右部常量需加f,如float f = 1.0f,double后加的d(或D)却可有可无。

 

数据类型的自动转换:一般遵循(1)同类型。(2)转换后类型比转换前类型范围大。如short向int自动转换是对的,同是整型,且int表数范围大于short,而short s = 1;s = s+1;后条语句会报错,参与运算的语句,会自动转成int型,再转向short,违背第2点。

 

数据类型都向String类型转换,即任何类型的变量或常量碰到String都转向String,他们中用”+”号连接,这也方便了我们的输出。

 

6、 java基本语法

常规基本语法不再赘述,记录下我在学习和练习中碰到的一些语法知识。

(1)   语句

switch分支结构,要求括号内判断条件的类型或返回类型是字符、可转int型的条件及枚举常量,如long类型就不能做为条件,long不能向低级自转成int。一般情况下切记在每个选择分支case后接break,否则会是顺序结构。并且在case内不能有局部变量的声明操作,如在case中int a = 7;会报错。


自动转型:先声明short s = 1;有语句s =s+1;与s +=1;编译会发现,s=s+1报错而s+=1却正常,这是因为s=s+1,中s+1会被提升成int,再赋值给short型时会报错。而+=是java规定的运算符,java编译时会对其进行特殊处理,所以正确编译。


final其定义是说变量一被初始化便不可再次更改,即从头到尾只能赋一次值。可是该定义是针对基本数据类型而言,对于引用型变量,是指其引用变量不可变,而该引用变量所指的对象内容是可以更改的。

如:

fianl StringBuffer a = new StringBuffer (“aaaa”);
//执行a=new StringBuffer(“bbbb”);时报错,而执行a.append(“ccc”);则通过。

final修饰的方法只可继承,不可覆盖。final修饰的类,不可继承。


==和equals的区别:简单说==是比较变量的值,而equals可以比较两个独立变量的值是否相等。其问题关键是在独立两个字上,即两变量存储内容是否各有自己的内存空间,而这个关键又在于变量所指内存地址。

String a = new String("abc");
String b = new String("abc");
//结果a==b返回false,a.equals(b)返回true;
//a和b存储的都是字符串”abc”,可往内存看,a和b其实存储的内容空间是独立的,a所指内存地址并不等于b。

String a = new String("abc");
String b =a;
//这时两个返回都为true。
//所以在对String的变量比较时,是用equals方法进行比较:

String str ="abc":
if(str.equals("abc")){}
//这样才能保证正确性。而==常用于基本数据类型的比较。


(2)   运算符

%取余,当两操作数有负数时,看左边的来决定取余后的值是正是负。如-10%3=-1,-10%-3=-1,10%-3=1。


逻辑运算符&(与)、&&(短路与)、|(或)、||(短路或):非短路的运算符(&和|),可进行数学的与和或运算,当做为判断条件时:

if(a & b){}//判断时 a和b都得执行。
if(a &&b){} //只要a为flase就不必考虑b了(短路),a为true才用b。
if(a|b){} //判断时 a和b都得执行。
if(a||b){}//若a=true,b不再考虑,a=false时考虑b。


>>>无符号右移,一般带符号位移,二进制数码的最左位表符号位,随着移动,缺出的最左位以上一位来填补,而>>>在数字的二进制位向右移动时,最左边的缺位用0来补。即不考虑符号位。

             

(3)   帮助文档

首先要生成帮助文档的类,是被public修饰的,被public修饰的也就意味着其文件名与类名必须一致。在dos下被javadoc命令行生成帮助文档。帮助文档有点像注释,用/**….*/包围内容。一些提取量用@修饰,当然后面会有注解关键字也带@,切勿弄混淆。

如:

/**
@author 作者
@version 版本
@throws 函数抛出的异常
@param 函数的参数描述
@return 函数的返回值描述
*/


7、java的特点和回收机制

       

Java的几个重要特点:

跨平台:java程序依靠JVM屏蔽底层操作系统的差异,使java程序与平台无关。

面向对象:java算是纯面向对象的语言。

简单性:这是相对其他编程语言而言的,如与C++比,取消了指针,内存自动回收不需开发者过度关注。

可移植性:这个多亏可跨平台性,并且java类库也实现了很多与不同平台的接口。

分布性:java是面向网络的语言。

还有高性能(字节码容易转机器码等),多线程(可并发同步执行),动态性(类库新增方便等),安全性(避免指针乱指等),解释执行(字节码文件解释执行等)等等特点。

记:“平面简植多动,安高分解”。


垃圾回收机制:

垃圾回收用于释放以后不再使用的对象所占用的内存,注意是清理内存而不是对象本身。它是JVM提供的能力。一般情况下是会去检查出无用对象,如引用对象已等于null,则会自动回收其内存。也可以手动,用System.gc(),显示的通知JVM进行一次垃圾回收,但具体会在声明时候回收,这个却是不可预料的。



---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值