移动互联网,就是将移动通信和互联网二者结合起来,成为一体。是指互联网的技术、平台、商业模式和应用与移动通信技术结合并实践的活动的总称。
操作系统:(Operating System,简称OS):是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
系统分类:
Unix家族和Windows家族;
那么用户和操作系统以及软硬件之间的关系是什么样呢?
我们称能够支持程序运行的硬件或软件环境为平台。
不同的平台都有其特有的指令格式,也就是说Win支持的指令格式和Linux支持的指令格式是不一样的,
进而导致了Windows的可执行文件不能在Linux平台上运行,反之Linux的可执行文件也无法再Windows上运行,把这种情况称为平台相关性。
比如Windows系统的exe文件,Mac系统的app文件等等.
Win键的样子
---编辑操作-----------------------------------------------------------------------------------------------------------
CTRL+C--------复制 CTRL+X--------剪切 CTRL+V--------粘贴
CTRL+A--------全选 CTRL+Z--------撤销 CTRL+S--------保存
---基本操作-----------------------------------------------------------------------------------------------------------
【Win】+D 显示桌面 【Win】+R 打开“运行" 【Win】+L 屏幕锁定
【Win】+E 打开“我的电脑” 【Win】+F 搜索文件 【ALT】+TAB AB项目切换
先使用 【Win】+R 打开“运行窗口",输入:
calc—>启动计算器 mspaint—>打开画图板
notepad—>打开记事本 cmd—>CMD命令提示符 截图工具
---常用命令-----------------------------------------------------------------------------------------------------------
盘符之间的切换: 盘符:回车,如进入E盘, E:回车
进入指定目录 :cd will
:cd javaseday01
目录的回退 :cd.. 回到上一级目录
:cd 回到盘符根目录
清屏 :cls
一个中国人喜欢听的谣言:
其大意是:莱布尼兹(数学家)通过在中国的传教士,得到了八卦图,他领悟到只要把八卦中的阴爻代表0,阳爻代表1,就可以创立一种新的记数法:二进制。
这一神话虽经部分数学史家之批驳,但至今仍广为传播。
--------------------------------------------------------
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
---------------------------------------------------------
二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据.
八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一.
十进制:由0,1,2、3、4、5、6、7、8、9组成.
十六进制:由0~9以及A,B,C,D,E,F组成.
--------------------------------------------------------
二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。
位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte)
1B(byte,字节)= 8 bit;
1KB(Kibibyte,千字节)=1024B= 2^10 B;
1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;
1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B;
1TB(Terabyte,万亿字节,太字节)=1024GB= 2^40 B;
1PB(Petabyte,千万亿字节,拍字节)=1024TB= 2^50 B;
计算250的各个进制值。
十进制和二进制之间转换:
十进制--->二进制:(11111010)
对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。
二进制--->十进制:
进制数第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方……公式:第N位 * 2的N次方,结果再相加.
-------------------------------------------------------------------------------
十进制和八进制之间转换:
十进制--->八进制:
10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。
八进制--->十进制:
进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方
-------------------------------------------------------------------------------
十进制和十六进制之间转换:
十进制--->十六进制:
10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。
十六进制--->十进制:
第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
-------------------------------------------------------------------------------
二进制和八进制之间转换:
二进制和十六进制之间转换:
八进制和十六进制之间转换:
在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。
正数的原码,反码,补码都相同,负数稍微复杂。
操作5(101)和-5的二进制。
正数5的二进制:101
原码=101,反码=101,补码=101;
---------------------------------------
原码:
就是二进制表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
什么是计算机语言:
生活中的两个人的交流主要是方式无非是采用一种都能够识别的语言,那么也就是说该语言是他们之间传递信息的媒介。
那么什么是计算机语言呢?计算机语言是指用于人与计算机之间通讯的一种特殊语言,是人与计算机之间传递信息的媒介。
那计算机怎么能读懂我们给它发出的的信息呢?此时就需要编写一套由字符、数字所组成并按照某种语法格式的一串串计算机指令,而这些计算机指令就是计算机语言。
软件就是由若干条计算机指令所组成的。
计算机语言分类:
① 机器语言:直接用二进制指令表达,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。
② 汇编语言:使用一些特殊的符号来代替机器语言的二进制码(又称符号语言),计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言,汇编语言依赖于硬件体系,开发难度大。
③ 高级语言:使用一定格式的自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行,不直接操作硬件,把繁琐的翻译操作交给编译器完成。
我们将学习的Java就属于高级语言范畴。
什么是编程:
前面说了计算机语言就是用来实现人和计算机通讯的,那为什么人要和计算机通讯呢,其原因就是为了让计算机帮我们完成一些人为起来比较复杂的工作。
那计算机怎么知道我们要它解决的问题是什么,怎么知道解决问题的具体的步骤是什么呢?此时我们就得通过编程语言去告诉计算机去,做什么,怎么做。这种人和计算机之间交流的过程,我们称之为编程。
举例:计算机例子/分页的例子。
计算机语言排行情况
美国SUN(Stanford University Network)公司,在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”。
1982年,SUN公司诞生于美国斯坦福大学校园,并于1986年上市,在NASDAQ(纳斯达克:是全美证券商协会自动报价系统)的标识为SUNW,2007年改为JAVA。
2009年4月20日19点40分,美国数据软件巨头甲骨文公司(Oracle)宣布以74亿美元收购SUN公司,从此Java也有“干爹”了,在这个拼爹的时代,Java的发展前景不容置疑。
帅气的高司令(java之父詹姆斯高斯林)
java三大平台:
平台的相关性:
WSindows平台只能运行windows的可执行文件。
Linux平台只能运行Linux的可执行文件。
---------------------------------------------------------
比如我现在以游戏开发者的身份,要使用某一种编程语言编写一套游戏软件,为了能在不同平台都能玩该游戏,我得为每一种平台制作一份可执行文件,就拿Win和Linux平台举例。
编写游戏 → Win版的可执行的游戏文件。
编写游戏 → Linux版的可执行的游戏文件。
这样看来,那我岂不是要为每一种平台都写一套游戏吗?假如某个软件只编写一次,就能够运行在任何平台之上(跨平台性、可移植性的本质),就太好了。
那如何做到该游戏的跨平台呢?
游戏玩家的角度如何玩该游戏:
0):下载游戏包、下载游戏模拟器
1):先安装游戏模拟器
2):启动游戏模拟器
3):选择指定的一个游戏包---》加载/载入。
4) :玩游戏。
-----------------------------------
游戏模拟器是不跨平台的,因为游戏模拟直接安装在系统里面。
windows系统: windows版游戏模拟器;
Linux系统: linux版游戏模拟器;
Mac系统: mac版游戏模拟器;
游戏可以这样实现跨平台,那么Java的跨平台性是怎么实现的呢?
也应该产生一种和系统平台无关的文件,然后再在各个平台的电脑上装上模拟器,让跨平台的文件运行在模拟器里,不就OK了么?---->引出JVM.JVM是不跨平台的,类似于游戏模拟器。
为什么不直接编写class文件.
见Java模型概念图:
JRE(Java Runtime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。
JDK(Java Development Kit):Java开发工具,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。
Java虚拟机(Java Virtual Machine),简称JVM,它是运行所有Java程序的虚拟计算机,好比是街机游戏的模拟器。
JVM是Java语言的运行环境,也是Java 最具吸引力的特性之一。JVM用于读取并处理编译过的与平台无关的字节码(class)文件,从而实现Java的可移植性。
但是值得注意的是Java虚拟机是不跨平台的。也就是说在Win下得装Win版的JVM,在Linux下装Linux版的JVM。
见图:选择不同平台的JDK版本
搭建Java的开发和运行环境:
步骤1:安装JDK;
步骤2:配置PATH环境变量:
----------------------------------
PATH变量用于指定Java开发工具的位置,如D:OpenSourcesjdk1.8.0_45in .
配置环境变量的过程和教研使用截图方式.
安装JDK注意:
1):jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;
2):避免C:WINDOWSsystem32出现所有名字以java开头的文件,有,删之;
3):常见问题:“javac不是内部或者外部命令”,原因是path配置错误。
开发第一个Java程序:
需求:在控制台输出:师姐那么美,我想去看看
注意:请同学们打开文件的拓展名(如有图)。
-------------------------------------------------------------------------------
开发步骤:
1):新建一个文本文档,改名为:Hello.java;
2):使用记事本打开Hello.java文件,键入以下内容;
3):进入Hello.java文件所在的目录:
4):编译Hello.java文件:
编译成功,会产生一份字节码文件:Hello.class.
编译失败,编译报错。
5): 启动JVM,并运行Java程序:
CLASSPATH顾名思义就是class文件的路径,表示JVM从哪里去寻找class文件。
发现:默认情况下,JVM从当前路径去寻找指定的字节码文件。
------------------------------------------------------------------------
CLASSPATH = c: est就表示执行java命令时去c: est目录中去找需要被执行的class文件。
在java5之前CLASSPATH没有默认值,要是设置成当前路径的话,得使用“.”,
若CLASSPATH=.;c: est,就表示先在当前目录找class文件,要是没找到就去c: est目录找(当一个变量有多个值时,多个值之间用英文的分号隔开)。
从Java5开始CLASSPATH默认就是当前路径,一般情况下不需再指定。
若使用Java5以前的版本,设置CLASSPATH应该是:
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar
dt.jar是关于运行环境的类库,主要是swing的包;tools.jar是工具类库;
后来SUN公司改进了JDK设计,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar。那么从Java5开始,再也不必为设置CLASSPATH变量感到头疼了。
暂时不需要配置,就让CLASSPATH默认表示当前目录路径。
--------------------------------------------------------
如何把编译出来的class文件存放到指定的目录:
使用javac -d C:myclasses Hello.java
Java基本语法:
1):Java语言严格区分大小写,好比main和Main是完全不同的概念。
2):一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类。若源文件中包括了public类,源文件必须和该public类同名。
3):一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同。
4):若一个类要运行,必须拥有main方法才能运行,因为main方法是程序的入口.
编程建议:
一个Java源文件只定义一个类,不同的类使用不同的源文件定义;
将每个源文件中单独定义的类都定义成public的;
保持Java源文件的主文件名与源文件中的类名一致;
平时教学中我们在一个源文件中定义多个类,完全是为了让学生看起来方便。开发中一般都是一个文件一个类且都是使用public修饰的。
ava的注释信息是给程序员看的,编译器(javac)在编译的时候会忽略掉源文件中的注释信息。
为此,Java提供3种注释类型:
① 单行注释;
② 多行注释;
③ 文档注释;
单行注释:// ; //注释信息,从//开始到本行结束的所有字符会被编译器忽略;
多行注释:/* */;/* 注释信息 */之间的所有字符会被编译器忽略
文档注释:/** */;/** 注释信息 */和多行注释一样,除此之外还可以专门生成文档信息API。在讲面向对象的javadoc时详述。
注意:多行注释和文档注释之间彼此都不能交叉嵌套.
关键字:在编程语言中有一些事先定义的,有着特殊含义和用途的单词。
保留字:和关键字一样都是编程语言事先定义好的,只是说现在暂时没有特殊的用途,但说不定以后某天会突然被赋予意义和被使用到,因此被保留下来的单词,goto和const就是Java的保留字。
看图;
注意关键字和保留字都是由小写字母组成,关键字不要去记,我们学一个记一个。
Java语言分隔符:
分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
方括号([]):定义数组和访问数组元素时使用。
圆括号(()):使用很广泛,具体用到细讲。
圆点(.):类和对象访问它的成员时使用。
空格( ):把一整条语句分割成几段,空格的次数不限制,好比一句英文里单词都要分开写一样。
注意:必须都是半角下的英文符号。
-------------------------------------------------------------------------------------
标识符:
在写代码的时候为了增强代码的阅读性会自定义很多名字,比如:类名,方法名,变量名等。
在编程的里我们把这种为了增强程序阅读性而自定义的名称,称为标识符。
标识符命名规则:
① 由字母、数字、下划线、$组成,但不能以数字开头(注:此处的字母可以是中文、日文等)。
② 大小写敏感。
③ 不得使用java中的关键字和保留字。
④ 不用Java API里的类名作为自己的类名。
其实,大家也没必要记这么多,王道:使用一个非关键字和保留字的有意义的英文单词就很OK了,不准起非主流名字。 规范:类名首字母大写。
Editplus工具:能够友好地使用颜色区分出关键字保留字(蓝色)甚至是JDK里内置的类名(红色)。
可能有同学,知道开发Java还有更好的工具:
Eclipse、MyEclipse.
--------------------------------------------
建议:现阶段,慢慢来.
任务:
1):了解二级制.
2):熟悉Java的跨平台性的原理.
1>:产生了一种和平台无关的字节码文件;
2>:JVM是不跨平台的.
3):搭建Java的开发和运行环境:
1>:安装JDK;
2>:配置PATH环境变量:
PATH=javac工具所在的目录
4):独立写出Hello程序(背).
5):掌握Java的编译和运行机制.
6):把Editplus环境配置OK.