黑马程序员——一、java基础之java初体验(1)

来源:互联网 发布:wind软件使用 编辑:程序博客网 时间:2024/05/20 03:06

---------------------- android培训、.java培训、期待与您交流! ----------------------

         java初体验,在接触毕老师视频之前,我对java没有多少概念。而学习后,通过第一天的内容,让我知道了java是做什么的,用什么软件做的,以及那个黑乎乎的CMD窗口是做什么用的。这篇博文记载的是我学习毕老师java基础视频第一天内容之后的一些对java的认识。

         什么是软件?什么是系统?什么是虚拟机?以下是我的一些浅显的比喻理解:

         要说软件,就需要先有硬件的基础。以人为例,一个人必须出生后才有生命,有了硬件,随着生长学习不断地更新新的能力——软件。软件的重要性有多大?看一下植物人就知道了。不同的人擅长的领域不同,意味着有不同的软件来实现这些功能。

         系统呢,可以理解为不同的国家、民族。不同地域的人之间是有不同的生长环境的,就是系统。比如美国和中国,中国地大人多,美国人员不那么密集;两国教育环境不同……这就是不同的系统。不同系统下人的功能大同小异,就好比今天linux、windows下都能上网,都能新建文件等。但是不同系统间是有根本性差异的。

         虚拟机,可以理解为中国人在美国生活。本来,中国人和美国人语言不通,是不能交流的,但是一个中国人在学习了英语并且了解美国的文化后,可以很好地融入并生活在美国。中国人在美国生活,需要的是他对美国的语言和文化的调用。这就是虚拟机的作用,在不同系统下模拟出一个需要的环境并调用不同系统底层的资源。

         不恰当的比喻,但是是我对这三大块简单的认识。

         接下来,通过毕老师讲解的内容来详细了解java语言。

1.1软件开发

    1.1.1、什么是软件?

         软件:一系列按照特定顺序组织的计算机数据和指令的集合。使用计算机就是在使用软件,只有硬件没有软件的计算机只能作为武器防身。

         常见的软件:系统软件,如DOSwindowsLinux;应用软件,如扫雷,迅雷,QQ

     1.1.2、什么是开发?

         顾名思义,就是制作软件。也是学习这门课程的最终目标之一。

1.2、人机交互方式

         分为图形化界面:目前最常用的,包括windows及应用在其上的绝大多数软件;命令行方式:通过指令操作计算机,是以前的主要操作系统linux等常用的。

1.3、常用的DOS命令

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

md : 创建目录

rd : 删除目录

cd : 进入指定目录

cd.. : 退回到上一级目录

cd/ : 退回到根目录

del : 删除文件

exit : 推出dos命令行

以下是自己对几个dos命令的小的测试:

1.3.1、cd命令

         进入指定文件夹,书写格式 :cd 具体文件夹位置。

         可直接进入指定的子文件夹。且可以使用“*”代替部分文件夹名称,如cd d:\Study\Edit*\day01,其中,Edit*为“EditPlus_3.4.1.1123”,因为书写麻烦,则用“*”代替部分内容,简化书写。

         cd/cd\功能一致,“/”和“\”无差别使用,包括进入子文件夹时,如cd Study/day01cd Study\day01

         但是统一书写成为“\”为宜,为规范。

1.3.2、md命令

         创建文件夹命令,书写格式:md 文件夹名称。

         md可以创建文件夹,并且可以直接创建文件夹的子类文件夹,如md Study2\day01。此处不可以用“/”,如md Study/day01,提示“命令语法不正确”(区别于cd命令)。当已有同名文件时,如md Study,提示“子目录或文件Study已经存在”。

         md命令不受是否已经打开此文件夹影响。

实验:

         接下来尝试md命令能否直接创建一个文件夹,并同时创建多个子文件夹。

        使用“md Study2\day01;day02”和“md Stuey2\day01 day02”命令。

         得出的结论是不能。且失败同时,也没有建立文件夹Study2.

1.3.3、rd 命令

         删除文件夹命令,书写格式:rd 指定文件夹名称。

         文件夹内有内容时不能直接删除文件夹。

疑问:rd Study2/day01命令返回提示“无效开关”的原因

实验:

         接下来重新新建Study2文件夹,并且让文件夹内存在两个子文件夹day01day02day01day02均为空文件夹),做出尝试。

         rd命令不能使用*来删除所有子文件夹。

1.3.4、echo命令

         创建文件命令,格式:echo 内容>文件名.文件类型 

         ①创建文件时无同名文件,创建一个新的文件,并将文件内容写入。

         ②创建文件时如果已有同名文件存在,则将原文件内容替换。例:存在1.doc,其中内容为lisi,现在执行echo wangwu>1.doc,那么不会报错也不会新建一个1.doc文件,而是将wangwu替换原有内容“lisi”,1.doc内内容为“wangwu”。

异常:如果写成echo lisi>2.txt;kangri>1.doc,则文件内容更改为“lisi;kangri”;写成echo lisi>2.txt kangri>1.doc,则文件内容更改为“lisi kangri”。即第一个>后的内容从出现分号或者空格符开始读取,并将分号或者空格符写入。

         ③如果“echo 内容>文件名.文件类型”中内容为纯数字,负数可以正常写入文件,0和正数则返回提示“echo为打开状态”,文件内无数据(如果已存在文件且含有内容,原内容被清空)。此规则适用于创建和更改文件时。

         发现更改.doc文件时,如果此文件已打开,则返回提示“另一个程序正在使用此文件,进程无法访问”,命令无效;而更改.txt文件时,不会出现此提示,只是需要重启文件后才显示更改内容。猜测与不同类型文件自身的机制有关,不做深究。

1.3.5、del命令

         删除文件命令,书写格式del 文件夹名称或者del 文件名称或者del *.文件类型。

         del命令是删除文件且只能删除文件,并且其删除的文件不进回收站。

         ②“del 文件夹名称”命令默认删除文件夹内所有类型文件;要想删除文件夹下指定类型文件(.txt文件)使用del Study2\*.txt命令。

注意:第二种方法只能一次删除一种类型,del Study2\*txt*.docdel Study2\*.txt   *.doc(为明显,“;”用的是中文分号,且空格加大,但是这两种格式中空格个数均不产生影响)均只能删除Study2中的.txt文件,然后从根目录下寻找,很容易删错文件。在根目录下可以使用此命令。

         ③“del 文件名称”命令可以删除指定的文件,可以使用“del 文件名.*”来删除不同类型的同名文件,且可以使用“del 文件名1.*;文件名2.*”来同时删除同一目录下, 文件名1和文件名2的不同类型的同名文件。

         ④发现删除.doc文件时,如果此文件已打开,则返回提示“另一个程序正在使用此文件,进程无法访问”,命令无效;而更删除.txt文件时,不会出现此提示,直接删除txt文件,如果将已经打开的.txt文件不做任何改动关闭,则被删除,如果做出改动,那么关闭之前会提示是否保存,直接保存也可以重新生成一个原名txt文件(猜测为原文件)。猜测与不同类型文件自身的机制有关,不做深究。

 

1.4、计算机语言

         首先呢,我对语言的理解就是:语言的存在只有一个目的——交流。中国有不同的方言,而普通话是所有人都能听懂的,所以普通话就是我们需要学习的;和外国人交流就需要英语,因为英语普及范围广,而不会英语,我们也可以用肢体语言交流,比如,揍老外一拳就是告诉他看他不爽。。。

         所以,学习编程就需要学习计算机能懂得语言,而语言的学习并不难,就像我们不是狗,但是也可以知道什么时候它们要咬人。

         语言包括要学习的java语言的重点在于思想。

         老外有可能永远都学不会,原来“我艹”除了表示愤怒还可以表示惊讶。

         所以,我们重点要学习的是,编程的思想。

java语言的概述

         是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。在网络兴起时推出,贡献极大。

是一种面向Internet的编程语言。

         随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

         是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。此处的与平台无关是借助了java虚拟机(JVM Java Virtual Machine),而JVM是需要借助平台的。

1.4.1、语言的架构

以后的开发过程需要用JAVAEE,学习过程中使用JAVASE

1.4.2、JRE、JDK

JRE(Java Runtime Environment  Java运行环境)

         包括Java虚拟机(JVM Java Virtual Machine)Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK(Java Development Kit  Java开发工具包)

         JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

         其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)

         简单而言:使用JDK开发完成的java程序,交给JRE去运行。       

1.5、环境变量的配置

         配置环境变量原理:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。

         好处:将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序,而不用每次去bin目录下查找使用。

配置方法:

    配置jdk路径path:

   (a)我的电脑→属性→高级→环境变量

          编辑path环境变量,在变量值开始处加上java工具所在目录,后面用“ ”和其他值分隔开即可。

         这种方法是永久有效的。为了不因经常移动jdk目录而经常改变path值,可通过3中的动态获取方式进行配置。

  (b)临时配置方式:通过dos命令中set命令完成

         set :用于查看本机的所有环境变量的信息。

         set 变量名:查看具体一个环境变量的值。

         set 变量名=:清空一个环境变量的值。

         set 变量名=具体值:给指定变量定义具体值。

  (c)想要在原有环境变量值基础上添加新值呢?

         首先,通过%变量名%操作符获取到原有环境变量的值。然后加上新值后在定义给该变量名即可

         举例:给Path环境变量加入新值

         set path=新值;%path%l 注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。

         新创建一个环境变量JAVA_HOME 记录住jdk的目录。

         path中通过%%动态的获取JAVA_HOME的值即可。

         JAVA_HOME=F:\jdk1.6.0_01

         path=%JAVA_HOME%\bin;%path%

         %path%:动态获取path环境变量的值。

         %JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。

配置classpath

         既然class文件(字节码文件)java的运行文件,可不可以实现,在任意目录下都可以执行某一目录下的class文件呢?

          根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。

         例:set classpath=c:\classpath变量值是java类文件的目录

               JVM查找类文件的顺序:

         如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。

         如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。

         值的结尾处如果加上分号,那么JVMclasspath目录下没有找到要指定的类文件,会在当前目录下在查找一次。

         值的结尾出如果没有分号,那么JVMclasspath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。

         建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用“.”表示。

path和classpath的差异:

       1、path变量是windows程序文件的路径;classpath是字节码文件的路径。

    2、path是先查找当前路径,再找Path;classpath是先查找classpath中的路径,找不到时视设置情况决定是否查找当前。

1.6我的“Hello World”

         最简单的java程序,第一次手打的java代码,纪念意义非凡。并且重要的是在简单的“Hello World”中,出现了错误,更值得纪念。

class Demo//定义类{public static void main(String[]args)//主函数作为入口必须存在,固定的格式           //简单的主函数格式在书写时出错,String错写成string,忘记加main{System.out.println("hello world");//输出语句}}/*看完了全部视频后再写hello world竟然出错,编程真的必须靠敲出来啊。简单的hello world写出来后, 真的很爽,是没写之前不能体会到的,尤其是出了错。*/


 

       黑马能给我我需要的,所以,黑马,我来了!

                                                                                                ——爱编程,爱黑马,我是快乐的小32

 

---------------------- android培训、.java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

原创粉丝点击