今天也算是正式地开始学习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 ...
随机推荐
-
SharePoint手机App巅峰对决:rShare 挑战 SharePlus
真是个移动的时代,当我们去百度,Bing,雅虎等搜索引擎,搜索关键字比如“SharePoint iOS”, “SharePoint 安卓”, “SharePoint iPhone”,“SharePoi ...
-
.NET Core 给使用.NET的公司所带来的机遇
今晚在余晟的微信公众号看到了一篇文章< 从.NET/C#开发的“后继无人”说起: https://mp.weixin.qq.com/s/rO2d0xZ58Z2syqT7AaNT3w>. 这 ...
-
ollydbg入门记录
1.软件窗口说明 OllyDBG 中各个窗口的名称如下图.简单解释一下各个窗口的功能, 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址.HEX 数据.反汇编.注释可以通过在窗口中右击出现的菜单 ...
-
VS2015创建类库项目后添加不了WPF资源字典,窗口,用户控件处理办法
打开项目工程文件在PropertyGroup标签最后加上下面3行: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FA ...
-
pygame 笔记-4 代码封装&;发射子弹
继续之前的内容,随着游戏的内容越来越复杂,有必要把代码优化一下,可以参考OOP的做法,把人物类抽象出来,弄成一个单独的类,这们便于代码维护,同时我们给小人儿,加个发射子弹的功能,代码如下:(看上去略长 ...
-
unresolved external symbol boost::throw_exception
使用boost库,VS生成的时候一直报错, error LNK2019: 无法解析的外部符号 "void __cdecl boost::throw_exception(class std:: ...
-
windows10如何查看wifi密码
1.首先,在你的电脑的右下角的WiFi的图标,右击它,选择"网络和internet设置"或者选择打开设置 :如下图 点击"更改适配器选项" 选择 WLAN选项, ...
-
Linux下Shell命令加减乘除计算
使用 expr命令 (其中做乘的时候*号要用斜杠进行转义) 除以 [hadoop-user@hadoop1]$ echo `expr 9 / 3` 3加 [hadoop-use ...
-
SharePoint PowerShell 修改计时器任务
前言 最近碰到需要修改计时器任务的需求,然后搜了搜,发现有powershell命令可以搞定,记录一下. $timerJob = Get-SPTimerJob -Identity "DocID ...
-
Apache+modproxy布置tomcat集群
一.环境: Apache: 2.2.14: 下载地址:http://archive.apache.org/dist/httpd/binaries/win32/ Tomcat: 7.0.82 JDK1. ...