Java基础之002-Java概述

Java基础之002-Java概述

                                       35岁学习Java

1、温故而知新

    这个部分比较简单,所有的语言都有相通之处,学会一门语言,对其他语言也能触类旁通。不过千里之行始于足下,还是要打好基础;而且温故而知新,可以为师矣。所以还是要坚持把基础打扎实。

2、什么是软件?

软件:一系列按照特定顺序组织的计算机数据和指令的集合。

a)      系统软件:

如:DOS,windows,Linux等。

b)      应用软件:

如:扫雷,迅雷,QQ等。

3、什么是开发?

制作软件

4、人机交互

软件的出现实现了人与计算机之间的更好的交互。

交互方式:

a)    图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。

b)    命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。

dos命令行,常见的命令:

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

2)      md : 创建目录

3)      rd : 删除目录

4)      cd : 进入指定目录

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

6)      cd/ : 退回到根目录

7)      del : 删除文件

8)      exit : 推出dos命令行

5、什么是计算机语言?

a)    语言:是人与人之间用于沟通的一种方式。

例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。

b)    计算机语言:人与计算机交流的方式。

如果人要与计算机交流,那么就要学习计算机语。计算机语言有很多种,如:C,C++,Java等。

6、Java语言概述

a)    是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。

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

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

d)    是简单易学,完全面向对象,安全可靠,与平台无关的编程语言

7、Java语言的三种技术架构

J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。

J2SE(Java 2 Platform Standard Edition)标准版


是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。

比如Java版的扫雷。

J2ME(Java 2 Platform Micro Edition)小型版

是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

Java5.0版本后,更名为JAVAEE    JAVASE    JAVAME

8、Java语言的特点:跨平台性

a)    什么是跨平台性?

通过Java语言编写的应用程序在不同的系统平台(Windows,Linux,MAC)上都可以运行。

b)    原理是什么?

只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

9、什么是JRE,JDK?

JRE(JavaRuntimeEnvironment    Java运行环境)

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

JDK(JavaDevelopmentKit    Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等

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

10、Java6.0 Platform


11、下载及安装JDK

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

b)    官方网址:

1)    www.oracle.com            (sun公司已经被Oracle甲骨文公司收购,这是最新下载网址)

2)    java.sun.com                  (sun公司原来的下载网址)

12、配置环境变量

永久配置方式

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

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

c)    打开DOS命令行,任意目录下敲入javac。

d)    如果出现javac 的参数信息,配置成功。

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

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

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

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

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

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

f)     首先,通过%变量名%操作符获取到原有环境变量的值。

g)    然后加上新值后在定义给该变量名即可

h)    举例:给path环境变量加入新值

i)     set  path=新值;%path%

注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

配置技巧

为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。

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

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

c)    JAVA_HOME=F:\jdk1.6.0_01

d)    path=%JAVA_HOME%\bin;%path%

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

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

13、Java程序开发体验--Hello World

a)    将Java代码编写到扩展名为.java的文件中。

b)    通过javac命令对该java文件进行编译。

c)    通过java命令对生成的class文件进行运行。

步骤一:编写

a)    选择最简单的编辑器记事本。

b)    敲入代码

      class Demo

      {}

c)    将文件保存成Demo.java,这个文件是存放java代码的文件,称为源文件。

步骤二:编译

a)    有了java源文件,将其编译成JVM可以识别的文件。

b)    在该源文件目录下,通过javac编译工具对Demo.java文件进行编译。

c)    如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的java的程序。

步骤三:运行

a)    有了可执行的java程序(Demo.class字节码文件)

b)    通过运行工具java.exe对字节码文件进行执行。

c)    出现提示:缺少一个名称为main的方法。

   

a)    因为一个程序的执行需要一个起始点或者入口,所以在Demo类中的加入public static void main(String[] args){}

b)    对修改后的Demo.java源文件需要重新编译,生成新的class文件后,在进行执行。

c)    发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。

d)    想要和JVM来个互动,只要在main方法中加入一句System.out.println("hellojava");在重新编译,运行即可。

14、配置classpath

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

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

c)    例:set  classpath=c:\

d)    classpath变量值是java类文件的目录

e)    path变量是windows程序文件的目录

JVM查找类文件的顺序:

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

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

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

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

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

时间: 2024-10-23 23:23:56

Java基础之002-Java概述的相关文章

Java基础知识之Java语言概述_java

Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言. 2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权. Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念.语法和编程思想,有不能理解的地方请

《21天学通Java(第7版)》—— 第1章 Java基础 1.1 Java语言

第1章 Java基础 Java试图解决众多领域的问题,实际上也确实在这方面取得了极大的成功.它让程序员能够开发应用程序服务器和手机程序.进行科学编程.编写软件以及进行星际导航等. --Java语言之父James Gosling如是说 1995年首次发布时,Java编程语言是一个用于万维网的颇具创意的玩具,但有很大的发展潜力. "潜力"是一个有时限的恭维之词.潜力迟早需要变成现实,否则将被"衰弱"."浪费"."失望"等取代. 通

Java基础:初学者Java语言入门精典文章

初学 Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案.在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考. 我在学习Java的过程中主要围绕以下几个方面来学习: 1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java. 2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以.要注意,即便对一个简单的例子也要有耐心去琢磨.调试.改动. 3.在学习的

Java基础:JVM(Java 虚拟机)的详细讲解

可能有很多学习Java的朋友还不知道Java的运行原理.Java虚拟机是怎么工作的,本文将为你详细讲解(JVM)Java 虚拟机. 在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器.这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口.编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行.在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机.每一种平台的

java基础小问题 ...-java基础api小问题随便给解决一下

问题描述 java基础api小问题随便给解决一下 string a="csagmtacsmgtcs";问计算cs的个数求大神代码 解决方案 Pattern p = Pattern.compile("cs"); Matcher m = p.matcher("csagmtacsmgtcs"); int sum = 0; while(m.find()) { sum ++; } System.out.println(sum); 解决方案二: 给楼上补下

java基础-请教方向(Java研发方向),初学者

问题描述 请教方向(Java研发方向),初学者 刚学了一学期Java, 想知道Java一般的学习过程是先学什么,后学什么比较合理.望不吝指教- 解决方案 1.变量 方法 逻辑分支语句 循环语句 运算符 逻辑运算符 基本数据类型 引用数据类型 数组 集合 ,基本语法必须要熟练掌握,这些东西可能是习惯养成 2.把类.抽象类.接口 继承 变量 方法 重写 重载 转型 ,结合面向对象以及内存角度来理解,面向对象就是从现实生活中对象之间关系引出的一种编程思想 最简单的理解就是 class就是种类的意思 用

Java基础:浅析Java抽象类和接口的比较

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解.对于设计意图的理解是否正确.合理.本文将

Java基础-创建Java程序中的线程池

程序|创建 线程是Java的一大特性,它可以是给定的指令序列.给定的方法中定义的变量或者一些共享数据(类一级的变量).在Java中每个线程有自己的堆栈和程序计数器(PC),其中堆栈是用来跟踪线程的上下文(上下文是当线程执行到某处时,当前的局部变量的值),而程序计数器则用来跟踪当前线程正在执行的指令. 在通常情况下,一个线程不能访问另外一个线程的堆栈变量,而且这个线程必须处于如下状态之一: 1.排队状态(Ready),在用户创建了一个线程以后,这个线程不会立即运行.当线程中的方法start()被调

java基础-刚学Java碰到的的一些问题?

问题描述 刚学Java碰到的的一些问题? 1.collection与collections的有什么关系?2.List和Set有什么异同点?3.Map有哪些常用类和特点是什么? 解决方案 1.Collection 接口,Collections 包装类 http://pengcqu.iteye.com/blog/4921962.List有序,Set无序 http://jingyan.baidu.com/article/5d368d1e1887b93f60c057d0.html3.HashMap,Ha

java基础-学到java集合框架中对那个复写equals的疑问,求解答

问题描述 学到java集合框架中对那个复写equals的疑问,求解答 import java.util.*; class Student implements Comparable { private String name; private int age; Student(String name,int age) { this.name = name; this.age = age; } public int compareTo(Student s) { int num = new Inte