Java基础之002-Java概述

简介: Java基础之002-Java概述                                       35岁学习Java1、温故而知新    这个部分比较简单,所有的语言都有相通之处,学会一门语言,对其他语言也能触类旁通。

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环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.”表示。

相关文章
|
3月前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
70 2
|
4月前
|
Java
【Java基础面试四】、介绍一下Java的数据类型
这篇文章介绍了Java的数据类型,包括8种基本数据类型(整数、浮点、字符、布尔)和3类引用数据类型(数组、类、接口),并提供了基本数据类型所占内存空间和数据范围的详细信息。
|
21天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
81 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
439 37
|
2月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
21 1
|
2月前
|
Oracle Java 关系型数据库
|
3月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
3月前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
4月前
|
Java C++
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
这篇文章讨论了Java单继承的设计原因,指出Java不支持多继承主要是为了避免方法名冲突等混淆问题,尽管Java类不能直接继承多个父类,但可以通过接口和继承链实现类似多继承的效果。
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?