美文网首页
【Java】入门简介

【Java】入门简介

作者: 大基本功 | 来源:发表于2018-08-30 17:01 被阅读12次

    操作系统

    操作系统:(Operating System,简称OS):是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
    见图:操作系统所处位置
    系统分类:Unix家族和Windows家族
    见图:Unix家族图和Windows家族和发展
    平台相关性:
    我们称能够支持程序运行的硬件或软件环境为平台。
    不同的平台都有其特有的指令格式,也就是说Win支持的指令格式和Linux支持的指令格式是不一样的,
    进而导致了Windows的可执行文件(exe)不能在Linux平台上运行,反之Unix的可执行文件也无法再Windows上运行,把这种情况称为平台相关性。
    比如Windows系统的exe文件,Mac系统的app文件等等.


    Windows
    Unix

    进制

    进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。
    十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
    二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据.
    八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一.
    十进制:由0,1,2、3、4、5、6、7、8、9组成.


    二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。
    计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
    位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte),1KB不等于1000B.
    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;

    进制间的转换

    十进制--->二进制:
    对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。
    另外,所得到的商的最后一位余数是所求二进制数的最高位。
    二进制--->十进制:
    进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第2位的权值是2的2次方……公式:第N位 * 2的N-1次方,结果再相加.


    十进制和八进制之间转换:
    十进制--->八进制:
    10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。
    八进制--->十进制:
    进制数第1位的权值为8的0次方,第2位权值为8的1次方,第3位权值为8的2次方


    十进制和十六进制之间转换:100
    十进制--->十六进制:
    10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。
    十六进制--->十进制:
    第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……


    二进制和八进制之间转换:
    二进制和十六进制之间转换:

    原码、反码和补码操作

    原码、反码和补码操作:
    在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。
    正数的原码,反码,补码都相同,负数稍微复杂。
    操作5(101)和-5的二进制。
    原码:
    就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
    反码:
    负数的反码是对其原码逐位取反,但符号位除外。
    补码:
    负数的补码是在其反码的末位加1。


    求反码的时候,最高位是符号位不能改变。
    正数的符号位是0.

    正数5:
    5的二进制是:00000101
    原码:00000101
    反码:00000101
    补码:00000101


    负数:-5:
    5的二进制是:00000101
    原码:10000101
    反码:11111010
    补码:11111011

    计算机语言

    计算机语言分类:
    ① 机器语言:直接用二进制指令表达,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义(如0000 代表 加载(LOAD),0001 代表 存储(STORE))。
    ② 汇编语言:使用一些特殊的符号来代替机器语言的二进制码(又称符号语言),计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言,汇编语言依赖于硬件体系,开发难度大(如加法指令ADD/ADC、减法指令SUB/SBB)。
    ③ 高级语言:使用一定格式的自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行,不直接操作硬件,把繁琐的翻译操作交给编译器完成。

    sun公司和Java平台

    美国SUN(Stanford University Network)公司,在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”。
    1982年,SUN公司诞生于美国斯坦福大学校园,并于1986年上市,在NASDAQ(纳斯达克:是全美证券商协会自动报价系统)的标识为SUNW,2007年改为JAVA。
    2009年4月20日19点40分,美国数据软件巨头甲骨文公司(Oracle)宣布以74亿美元收购SUN公司,从此Java也有“干爹”了,在这个拼爹的时代,Java的发展前景不容置疑。


    Java的三大平台:见图
    1999年SUN公司发布了基于Java的三个平台技术标准:J2SE,J2EE,J2ME,2005年开始分别改名为:JavaSE,JavaEE,JavaME。随着J2EE的发布,Java正式的迎来了属于自己的“春天”。
    ① Java SE(Java Platform Standard Edition):Java标准平台,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,如做一个桌面版的QQ,JavaSE能为Java EE和JavaME提供开发基础。
    ② Java EE(Java Platform Enterprise Edition):Java企业平台,可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序,如企业的应用系统ERP等。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web等应用程序。
    ③ Java ME(Java Platform Micro Edition):Java微型平台,也叫K-JAVA,用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机等)。随着Android的迅猛发展,JavaME现在使用的越来越少了,Android会逐渐的取代JavaME的市场份额。
    以Java作为开发语言的其他设备有很多,如:如日中天的Android智能设备。
    学习Java,我们都是从JavaSE开始的,只有学好JavaSE才能很好的掌握JavaEE和Android的知识。对于Java的就业,很少有人从事单纯的JavaSE开发的,这不是Java的强势之处,我们应该面向市场更广阔的JavaEE和Android就业方向。

    Java跨平台原理

    Java跨平台的原理:
    1):编译之后会生成与平台无关的字节码文件。
    2):得以来不同平台的虚拟机(JVM)。
    JVM是不跨平台的。


    Java跨平台原理

    JDK-JRE-JVM概述

    见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版本

    JVM是Java程序的解释和执行器。


    Java的编译和运行机制

    Java的编译和运行机制

    classpath环境变量

    CLASSPATH顾名思义就是class文件的路径,表示JVM从哪里去寻找class文件。
    CLASSPATH = c:\test就表示执行java命令时去c:\test目录中去找需要被执行的class文件。
    在java5之前CLASSPATH没有默认值,要是设置成当前路径的话,得使用“.”,
    若CLASSPATH=.;c:\test,就表示先在当前目录找class文件,要是没找到就去c:\test目录找(当一个变量有多个值时,多个值之间用英文的分号隔开)。
    从Java5开始CLASSPATH默认就是当前路径,一般情况下不需再指定。
    若使用Java5以前的版本,设置CLASSPATH应该是:
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    dt.jar是关于运行环境的类库,主要是swing的包;tools.jar是工具类库;
    后来SUN公司改进了JDK设计,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar。那么从Java5开始,再也不必为设置CLASSPATH变量感到头疼了。
    暂时不需要配置,就让CLASSPATH默认表示当前目录路径。


    如何把编译出来的class文件存放到指定的目录:




    Java基本语法

    规定

    Java基本语法:
    1):Java语言严格区分大小写,好比main和Main是完全不同的概念。
    2):一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类。若源文件中包括了public类,源文件必须和该public类同名。
    3):一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同。
    4):若一个类必须运行,则必须拥有main方法,因为main方法是程序的入口.

    编程建议:
    一个Java源文件只定义一个类,不同的类使用不同的源文件定义;
    将每个源文件中单独定义的类都定义成public的;
    保持Java源文件的主文件名与源文件中的类名一致;

    注释

    Java提供3种注释类型:
    ① 单行注释;
    ② 多行注释;
    ③ 文档注释;
    单行注释:// ; //注释信息,从//开始到本行结束的所有字符会被编译器忽略;
    多行注释:/* /;/ 注释信息 /之间的所有字符会被编译器忽略
    文档注释:/
    * /;/* 注释信息 */和多行注释一样,除此之外还可以专门生成文档信息API。

    关键字与保留字

    关键字:在编程语言中有一些事先定义的,有着特殊含义和用途的单词。

    保留字:和关键字一样都是编程语言事先定义好的,只是说现在暂时没有特殊的用途,但说不定以后某天会突然被赋予意义和被使用到,因此被保留下来的单词,goto和const就是Java的保留字。

    相关文章

      网友评论

          本文标题:【Java】入门简介

          本文链接:https://www.haomeiwen.com/subject/izxdwftx.html