今天也算是正式地开始学习Java了,一天学的不是太多,旨在入门了解Java。还好现在学的都是基础,也能赶得上进度,希望以后能一直保持这种精神状态坚持学下去。下面就简单来说说今天所学的内容吧。

  

1计算机语言的发展史

  第一代语言:机器语言:机器语言是机器直接能够识别,它主要有0和1组成,优点:执行效率高,缺点:开发困难,可读性差,移植性差;

  第二代语言:汇编语言:汇编语言引入一些指令,一定程度上改善了机器语言的缺点,其缺点:开发困难,可读性差,移植性差;

  第三代语言:高级语言:分为面向对象的语言和面向过程的语言。更加接近自然语言,更容易理解和编写,执行效率小于汇编语言和机器语言,但开发效率要高于机器语言和汇编语言。s

2 Java发展史

James Gosling(伟大的Java之父)

1995年,推出Java测试版;

1996年,JDK1.0;

1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2;

1999年,Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生;

....

2014年 ,JavaSE8.0。

3 Java版本及特点

  JavaSE:标准版:JavaSE(Java  Standard  Edition):定位在个人计算机上的应用,这个版本是Java平台的核心。

  JavaEE:企业版:  JavaEE(Java Enterprise  Edition):定位在服务器端的应用。

  JavaME:微型版:  J2ME(Java  Micro  Edition):定位在微型电子产品的应用上。

  Java是一种纯面向对象的语言,跨平台、安全、简单、健壮等。

  Java三大关键词:封装 继承 多态

4 JVM,JRE和JDK之间的关系

  JVM(Java vritual Mechinal)Java虚拟机,解释和执行字节码文件。JVM是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机。Java虚拟机是Java最核心技术,也是跨平台的基础。

  JDK(Java Development Toolkit):java开发工具包,包含JRE(java运行环境)和一些开发工具。

  JRE(java runtime envirnment) :java运行时,提供了java运行所需要的环境,包含JVM和基础类库。

5 JVM和Java跨平台特性

  通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立的中间文件格式)。

  通过“解释器”将Java字节码文件解释为对应机器语言并运行。

Java和C跨平台原理的比较:

  Java:一次编译,到处运行。Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。字节码文件不面向任何具体平台,只面向虚拟机。

  C语言:多次编译,到处运行。C语言直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。

6 如何开发Java程序

  1)搭建java开发环境

安装JDK,然后配置环境变量。JDK(Java Development Kit)包含:JRE的超集,包含编译器和调试器等用于程序开发的文件,在JRE的基础上增加了编译器及其他一些开发工具。

  JRE (Java Runtime Environment ) 包含:Java虚拟机、库函数、运行Java应用程序和Applet所必须文件。

   如果只是要运行JAVA程序,只需要JRE就可以。 JRE通常非常小,也包含了JVM。如果要开发JAVA程序,就需要安装JDK。

  2)编写Java源程序(扩展名为.java)

  先编写java源程序(扩展名为.java)--->程序员编写

  将java源文件编译成字节码文件(扩展名为.class)---->由编译器完成。

  使用javac命令,语法格式:javac 源文件的名称(包含扩展名)

  eg: javac HelloWorld.java

  3)运行字节码文件

  使用JVM中解释器解释并执行字节码文件。---->解释器完成。

  使用java命令运行字节码文件,语法格式: java 字节码文件名称(不包含扩展名) eg: java HelloWorld

7 注释

  注释就是程序员为读者作的说明,是提高程序可读性的一种手段。

  注释分为三种:单行注释: //

   多行注释:  以‘/*’开始,以‘*/’结束;

  文档注释: 以/**开头,以*/结束 ,生成帮助文档(类似于java api帮助文档)。

  Java中的注释不会出现在字节码文件中。即JAVA编译器编译时会跳过注释语句。

8 写程序中注意事项

  在一个文件中是可以定义多个类(class),但只能有一个使用public修饰的类,并且文件名称必须与public修饰的类名相同,且以“.java”为扩展名。

在编译时将生成多个字节码文件(针对每一个类都会生成一个字节码文件): Test.class Test2.class

关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。

关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种纯面向对象的语言。

main方法是Java应用程序的入口方法,它有固定的书写格式: public static void main(String[]  args) {…}

  编程风格:

  1)注意缩进!

   2)成对编程!

  

  

1.Java第一课:初识java的更多相关文章

  1. java第一课,java基础

    Java:                是1991年SUN公司的James Gosling等人开发名称为Oak的语言,希望用于控制嵌入在有线电视交换盒,PDA等的微处理器.java.是面向互联网的语 ...

  2. Java 第一章 初识Java

    第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...

  3. 初识Java——第一章 初识Java

    1. 计算机程序: 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合. 2. JAVA相关的技术:      1).安装和运行在本机上的桌面程序      2).通过浏览器访问的面向 ...

  4. Java 面向对象编程——第一章 初识Java

      第一章    初识Java 1.  什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...

  5. 尚学堂Java第一课

    今天是北京尚学堂郑州分校开课的第一天,小班面授教学. 我很兴奋,是一个小白对IT大神渴求传道授业解惑的兴奋. 杨老师还是一贯耐心详细的手敲了第一堂课的完整大纲,必须给杨老师赞赞赞!!! 从幽默的制定班 ...

  6. Android入门第一课之Java基础

    通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...

  7. 快乐的一天从JAVA第一课开始,生活美滋滋!!!

    ---恢复内容开始--- 学JAVA第一天 今天稀里糊涂就把JAVA环境配好了 现在回想一下,吧环境跟大家分享一下…… 第一步:下载         JAVA(推荐使用谷歌浏览器,因为谷歌浏览器右键点 ...

  8. JAVA基础第一章-初识java

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 从今天开始,我将会持续更新java基础知识,欢迎关注. java的诞生 ...

  9. 安卓开发JAVA基础之初识JAVA

    JAVA的一大特点------不依赖平台 JAVA在平台之上提供了一个JAVA运行环境(Java  Runtime Environment, JRE),该环境由Java虚拟机(Java  Virtua ...

随机推荐

  1. B/S 和 C/S两种架构

    一: 什么是B/S(Browser/Server)架构? 应用系统完全放在应用服务器上, 并通过应用服务器同数据库服务器进行通信,系统界面 是通过浏览器来展现的. T是浏览器模式. 优点: 1)客户端 ...

  2. 【模板】二分图最大权完美匹配KM算法

    hdu2255模板题 KM是什么意思,详见百度百科. 总之知道它可以求二分图最大权完美匹配就可以了,时间复杂度为O(n^3). 给张图. 二分图有了边权,求最大匹配下的最大权值. 所以该怎么做呢?对啊 ...

  3. java多线程基本概述(四)——死锁

    package mytask; public class Task { public static void main(String[] args) { DeadThread thread = new ...

  4. selenium结合docker构建分布式测试环境

    selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...

  5. html 压缩工具 html-minifier

    https://github.com/kangax/html-minifier#options-quick-reference 1.参数列表 option Description Default re ...

  6. PHP的laravel框架后台实现数据导出excel的功能

    要想在PHP后台实现excel导入导出功能,一种简单有效的方法就是使用phpexcel插件. 要使用phpexcel插件,首先需要下载composer,这个工具是专门用来管理项目中库之间的依赖关系的. ...

  7. Js插件开发

    简易JS插件开发,本文效果是一个简单的弹出层,意在记录插件的封装Demo. 完整源码压缩包:demo.rar 效果图(如下): 插件脚本: /** * 节点配置属性方式配置参数:专业的做法是配置到,每 ...

  8. 通过向日葵(或者TeamViewer)创建VPN

    1.向日葵软件的安装比较简单.主要要开启VPN服务. 2.向日葵管理界面,添加机器. 3.组网. 4.作为VPN服务端机器(内网机器)安装传入的连接 5.外网客户端机器 一.登录向日葵客户端 一般使用 ...

  9. 给自己的QQ群开启腾讯官方的群聊机器人

    看到腾讯有个机器人还不错 能聊天 能唱歌 方法:1.点击链接填写https://wj.qq.com/s/946969/64ac 群聊机器人内测邀请.按照提示填就行了 2.然后就是开启机器人了 http ...

  10. [周译见] C# 7 中的模范和实践

    原文地址:https://www.infoq.com/articles/Patterns-Practices-CSharp-7 关键点 遵循 .NET Framework 设计指南,时至今日,仍像十年 ...