今天也算是正式地开始学习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. maven私服搭建nexus介绍(二)

    1.各个仓库介绍 Hosted:宿主仓库 主要放本公司开发的SNAPSHOTS测试版本,RELEASES正式发行版.合作公司第三方的jar包. Proxy:代理仓库 代理中央仓库:代理Apache下测 ...

  2. iOS关于JSONKit解析Unicode字符内容出错,问题出在\u0000

    JSONKit虽然很强大,但是一些特殊的Unicode,比如\u0000是无法解析的. 在github上作者解释了这个问题,说这个是内容提供的错误,不符合标准的内容,所以他不认为这个是自己的错误,这个 ...

  3. Felx布局(三)

    flex网格布局 平均分布 最简单的网格布局,就是平均分布.在容器里面平均分配空间,跟上面的骰子布局很像,但是需要设置项目的自动缩放

  4. Java Script 数组操作

    常用几种数组操作方法: concat() join() toString() pop() push() shift() unshift() slice() splice() sort() revers ...

  5. 【PAT_Basic日记】1004 成绩排名

    至今仍然存在问题,第一个测试点不过 #include <stdio.h> #include <stdlib.h> #include <string.h> typed ...

  6. html 压缩工具 html-minifier

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

  7. vue2.0仿今日头条开源项目

    vue-toutiao 这是用 vue.js 2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版. 前言 本人是 今日头条 的重度用户,在学习vue.js过程中,在GitHub ...

  8. 如何有效快速提高Java服务端开发人员的技术水平?

    我相信很多工作了3-5年的开发人员都会经常问自己几个问题: 1.为什么总是感觉技术没有质的提高? 2.如何能够有效和快速的提高自身的技术水平? 3.如何进入到一个牛逼的大公司,认识牛逼的人? 这篇文章 ...

  9. Mysql PHP

    if(_mysql.query(sql.data()) < 0) 这里不能使用sql.c_str() 因为这个会有‘\0’而在Mysql查询中,这个0是不希望出现的.

  10. 关于div+css布局值得注意的地方

    注意项 我们知道,如果想要两个 div(即块级元素)挨着一起排列,可以将其设置为inline-block(行内-块元素). 不过要注意两个div内的内容的对齐方式将是垂直中间对齐,所以这时候就需要使用 ...