1.Java第一课:初识java
今天也算是正式地开始学习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的更多相关文章
- java第一课,java基础
Java: 是1991年SUN公司的James Gosling等人开发名称为Oak的语言,希望用于控制嵌入在有线电视交换盒,PDA等的微处理器.java.是面向互联网的语 ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- 初识Java——第一章 初识Java
1. 计算机程序: 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合. 2. JAVA相关的技术: 1).安装和运行在本机上的桌面程序 2).通过浏览器访问的面向 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- 尚学堂Java第一课
今天是北京尚学堂郑州分校开课的第一天,小班面授教学. 我很兴奋,是一个小白对IT大神渴求传道授业解惑的兴奋. 杨老师还是一贯耐心详细的手敲了第一堂课的完整大纲,必须给杨老师赞赞赞!!! 从幽默的制定班 ...
- Android入门第一课之Java基础
通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...
- 快乐的一天从JAVA第一课开始,生活美滋滋!!!
---恢复内容开始--- 学JAVA第一天 今天稀里糊涂就把JAVA环境配好了 现在回想一下,吧环境跟大家分享一下…… 第一步:下载 JAVA(推荐使用谷歌浏览器,因为谷歌浏览器右键点 ...
- JAVA基础第一章-初识java
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 从今天开始,我将会持续更新java基础知识,欢迎关注. java的诞生 ...
- 安卓开发JAVA基础之初识JAVA
JAVA的一大特点------不依赖平台 JAVA在平台之上提供了一个JAVA运行环境(Java Runtime Environment, JRE),该环境由Java虚拟机(Java Virtua ...
随机推荐
- Jquery Validation 验证控件的使用说明
转载自:http://blog.csdn.net/huang100qi/article/details/52453970,做了一些简化及修改 下载地址:https://jqueryvalidation ...
- MySQL 5.7贴心参数之 log_timestamps
写在前面 使用 MySQL 的过程中,经常会有人碰到这么一个问题,看错误日志.慢查询日志的时候,时间总是和本地时间对不上,差了 8 个小时,这样分析起来就相对麻烦了一些. 新改进 对于不知道是什么原因 ...
- Linux--谈父子进程执行过程
fork函数用于从已存在进程中创建一个新进程,新进程成为子进程,原进程成为父进程.这两个进程分别返回他们各自的返回值, 其中父进程的返回值是子进程的进程号,子进程则返回0,因此返回值大于0标识父进程, ...
- Python 三级菜单与优化(一层循环嵌套)
优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...
- sqoop关系型数据迁移原理以及map端内存为何不会爆掉窥探
序:map客户端使用jdbc向数据库发送查询语句,将会拿到所有数据到map的客户端,安装jdbc的原理,数据全部缓存在内存中,但是内存没有出现爆掉情况,这是因为1.3以后,对jdbc进行了优化,改进j ...
- 杜教筛 && bzoj3944 Sum
Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans ...
- python编程总结
1.signal.signal(signal.SIGCHLD,signal.SIG_IGN) 这句话的作用是 防止产生僵尸进程.详细解释看 http://www.cnblogs.com/Anker/p ...
- log4j的Appenders配置
因为是刚开始使用log4j,很多配置方面的东西都不懂,记录下. 下面是我用STS(Spring Tool Suite)新建Spring MVC项目的时候,帮我自动生成的一个log4j.xml配置文件. ...
- Docker学习总结(一)
<认识Docker> 不定期更新~~~~~~~ 历史区别: 13年之前:网络大多使用"协议栈堆叠"的形式进行开发,需要部署单一专有的服务器进行操作.包括(中间件,运行时 ...
- Lucene5.5.4入门以及基于Lucene实现博客搜索功能
前言 一直以来个人博客的搜索功能很蹩脚,只是自己简单用数据库的like %keyword%来实现的,所以导致经常搜不到想要找的内容,而且高亮显示.摘要截取等也不好实现,所以决定采用Lucene改写博客 ...