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 ...
随机推荐
- 网络语音视频技术浅议(附多个demo源码下载)
我们在开发实践中常常会涉及到网络语音视频技术.诸如即时通讯.视频会议.远程医疗.远程教育.网络监控等等,这些网络多媒体应用系统都离不开网络语音视频技术.本人才疏学浅,对于网络语音视频技术也仅仅是略知皮 ...
- 关于MYSQL存储中文问题
最近在学习MYSQL时遇到了不能存储中文的问题,在网上找了很多类似的方法,最后都失败了(失败原因:修改完my.cnf文件后mysql server重新启动失败),濒临崩溃的时候重装了下mysql(Ub ...
- jQuery制作右侧边垂直二级导航菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Java设计模式之(建造者模式)
建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 建造者模式通常包括下面几个角色: 1. builder:抽象建造者,给出一个抽象接口,以规范产品对象的各个组 ...
- 排序算法合集 python
直接选择.插入排序 直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的 ...
- iOS开发 - Swift实现清除缓存功能
前言: 开发移动应用时,请求网络资源是再常见不过的功能.如果每次都去请求,不但浪费时间,用户体验也会变差,所以移动应用都会做离线缓存处理,其中已图片缓存最为常见. 但是时间长了,离线缓存会占用大量的手 ...
- 01背包Bone Collector
好几天没写博客了,整天忙着打比赛,希望能有参加省赛的资格,不容易啊. 今天复习背包,之前集训讲过,现在又忘了,昨天杭电校赛刚好有一题背包,居然不会做了,好尴尬,重新复习一下. https://vjud ...
- Jenkins + Maven + Ansible + Tomcat 实现JAVA代码自动部署
自动部署过程: jenkins从svn拉取代码,调用maven去打war包,用ansible去解压war包,最后重启tomcat. 前情回顾:在前面的文章我的环境已经有Jenkins+ansible ...
- Java并发包分析——BlockingQueue
之前因为找实习的缘故,博客1个多月没有写了.找实习的经历总算告一段落,现在重新更新博客,这次的内容是分析Java并发包中的阻塞队列 关于阻塞队列,我之前是一直充满好奇,很好奇这个阻塞是怎么实现.现在我 ...
- Intellij IDEA快捷键(必备)
快捷键 功能描述 Ctrl + Shift + Space 智能代码提示(必备) Ctrl + R 在当前文件进行文本替换 Ctrl + F 在当前文件进行文本查找 Ctrl + Y 删除光标所在行 ...