欢迎光临
我们一直在努力

初学Java:对于Java的基础认识

文章目录

    • 对于Java的基础认识
      • 1.Java语言概述
        • 1.1 Java是什么
        • 1.2 Java语言的重要性
        • 1.3 Java语言发展简史
        • 1.4 Java语言的特性
        • 1.5 Java开发环境的安装
      • 2. 认识与运行Java程序
        • 2.1 初识Java的main方法
        • 2.2 运行Java程序
      • 3. 注释
        • 3.1 基本规则
        • 3.2 注释规范
      • 4. 标识符
      • 5. 关键字

对于Java的基础认识

1.Java语言概述

1.1 Java是什么

Java是一种优秀的程序设计语言,它具有让人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个具有完整的计算体系的语言,广泛运用与嵌入式系统,移动终端,企业服务器等各种场合。

1.2 Java语言的重要性
  • 语言使用的广泛性 下图数据来源于TIOBE编程语言社区2017年12月和2018年10月的最新排行榜,常年占据语言排行榜榜首,是近些年以来热门的编程语言之一。 在这里插入图片描述 这里需要注意一下:TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜的排名基于互联网有经验的程序员,课程和第三方厂商的数量。排名是使用一些有名的搜索引擎。 也就是说,这份排行榜是有含金量的。 注意:上述排行榜上的排名,不能说明那个语言更好,也不能说明哪一门语言不好,每一门编程语言都有自己适应的场景。
  • 工作领域 Java语言在IT领域的应用是非常广泛的,具体包括: (1) 企业级系统 比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统开发中有广泛应用,涉及到金融,电信,交通,电子商务,ERP系统等。 (2)Web开发领域 java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较强的扩展性,Java语言一直是大型互联网平台的重要解决方案。 (3)android平台应用 Android是一种智能手机操作系统,Java是一门非常流行的编程语言,Android上的应用程序就是大多是以Java来进行编写的,甚至于说,Android的SDK大部分就是直接将JavaSDK翻译过来的,所以具有Java基础,也可以快速上手Android。 (4)大数据平台开发 大数据相关的各类框架,比如:Hadoop,spark,storm,flink等,以及各种中间件flume,kafka,sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。
  • 在校招中的岗位需求 在这里插入图片描述 从上述岗位需求来看,由于应届生缺少实际工作经验,因此在校招时企业更看重学生的基础,也就是说,会从语言,数据结构/算法,操作系统,网络,数据库等进行判定,其他的属于加分项。
  • 1.3 Java语言发展简史

    Java语言源于1991年4月,Sun公司 James Goling博士 领导的绿色计划,后续由于种种原因,这项计划被放弃了。随着1995年代时的互联网的发展,Java于1995年正式发布。

    1.4 Java语言的特性

    以下Java语言特性来源于Java白皮书:

  • 简单性 Java的语法是C++语法的一个“纯净版本”,相当于对C++做减法,在Java里。没有头文件,指针运算,甚至指针语法,结构,联合。虚基类等等。不仅如此,Java开发环境还要远远的超出其他的大多数编程语言的开发环境。
  • 面向对象 什么是面向对象? 在Java的世界里,一切皆为对象。比如:人,狗,手机,电脑等都是对象。所谓的面向对象,指的就是依靠对象之间的交互来完成事情,比如:人用手机完成购物。 Java面向对象的特性于C++可谓是旗鼓相当的,与C++的主要不同点主要在于多重继承。在Java中,取而代之的是接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
  • 分布式(微服务) Java有丰富的例程库,用于处理想HTTPP和FTP之类的TCP/IP协议。Java应用程序能够通过URT打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
  • 健壮性 Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅运行时才能检测出来的问题。
  • 安全性 Java适用于网络/分布式环境。为了达成这个目的,在安全性方面投入了大量的精力。使用Java可以构建防病毒,防篡改的系统。 从一开始,Java就设计成了能够防范各种常见的攻击手段: (1) 运行时堆栈溢出。蠕虫和病毒常用的攻击手段 (2)破防自己进程空间之外的内存。 (3)未经授权读写程序
  • 体系结构中立 编译器生成一个体系结构中立的目标文件格式,按照该规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设置的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码 在这里插入图片描述 而且用其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成 class 文件,也可以在JVM上运行。
  • 1.5 Java开发环境的安装

    这里大家自己去搜索教程,就不过多赘述。

    2. 认识与运行Java程序

    2.1 初识Java的main方法

    public class Teat{
    public static void main(String[] args){
    System.out.println("hello world");
    }
    }

    在这里我们先不解释为什么要这么去写,咱们先提出一个方法,我们上面写了这么多,不要把他当作都有什么特殊含义,我们就把他看出单纯的字母之间的相互组合,去从零来认识他们。

    (补充:当我们通过命令行的形式来进行Java程序的书写时的流程: 在这里插入图片描述 当我们使用第二个命令时(java),会把上一步生成的class文件(二进制文件)放入Java虚拟机中,然后再输出运行完的结果 上述提到的Java虚拟机,如果我们是安装了jdk的话,那么在jdk中就已经包含了Java虚拟机,我们接下来补充一下在jdk里面是什么样子的: 有3层,JVM被JRE包裹,然后整体被JDK包裹,图示: 在这里插入图片描述 所以说,jdk里面已经包含了JVM。 当然,这个只是补充哈。)

    解释一下上面的代码快以及注意事项:

  • public class 是固定写法
  • Test 是类名【大驼峰MaxNum,被public修饰的类名,必须要和文件名相同】 这里的大驼峰的意思是:单词首写大写,像驼峰
  • public static void main 是 main方法 ,为固定写法
  • String[] args args 叫做 数组 , 我们Java的数组与C语言是不一样的,在C语言中我们表示数组时,举例: C语言 :int a[] Java :int[] a 其实我个人认为Java的会更好理解一些,类型就是在前面就是类型在前面,就是,int[],就是类型 变量 的形式,没有分开来,不过这说到底也是我个人的感觉。 而前面的 String 代表的是 Java中的字符串类型。 合起来就是一个字符串数组
  • System.out.println 相当于 C语言 的 printf + \\n 这里的 \\n 就是Java代码的ln,即 println 后面的ln 。
  • 后面的hello world 就是我们要输出的内容,要输出字符串时需要使用双引号,是Java的规范要求。
  • 在这里我们再来说明一下这个String[] args,到底有什么用 如果咱们有C语言的基础(没有也没关系,直接看下面的结论),我们就会有一个这样的解法:
  • public class Tset{
    public static void main(String[] args){
    for(int i = 0;i < arge.length; i++){
    System.out,println(arge[i]);
    }
    }
    }

    然后我们可以采用命令行的形式(IDEA也可以用)进行执行,会发现没有立刻得出结果,需要我们输入一些值,当我们输入 zzz hhh ooo 时,会输出: zzz hhh ooo 也就是说,我们String[] args 存储了我们在运行时所输入的参数,我们把他叫做运行时的命令行参数,也就是说,我们在运行Java程序时,是可以输入一些值的,然后存储在 arge 中,这就是我们String[] args 的意义。 不过需要注意的是,这里的输入跟C语言的 scanf 可不一样噢。

  • 千万注意:我们的左花括号一定是在当前行的。
  • 我们上述的代码块解释基本上就是这些,还有一些细节后面补充。

    现在我们来看另外一个方面,我们从上面的Java程序里面可以看出一个完整的Java程序的结构,由以下三个部分组成:

  • 源文件(扩展名 * java):源文件带有类的定义,用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在或花括号里面。
  • 类:类中带有一个或多个方法,方法必须在类的内部进行声明。
  • 方法:在方法的花括号中编写方法应该执行的语句。 总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。 图例: 在这里插入图片描述
  • 注意:在一个源文件中只能有一个被public修饰的类,而且源文件名字必须与public修饰的类名相同

    接下来我们来看运行时的情况。

    2.2 运行Java程序

    Java是一门半编译型,半解释型的语言。先通过 javac编译程序 把 源文件 进行编译,编译后生成的 .class文件 是由字节码组成的与平台无关的,面向 JVM 的文件。最后启动Java虚拟机来运行 .class 文件,此时JVM会将字节码转换成平台能够理解的形式来运行。

    这个一图流就是;xxx .java —> javac.exe —> xxx.class —> 在电脑上输出

  • 使用记事本或者IDEA(集成开发环境)编写Java源程序。
  • 使用javac.exe编译器编译Java源文件·,生成xxx.class的字节码文件 语法格式:javac xxx.java
  • 使用java运行xxx.class字节码文件,语法格式:java xxx
  • 注意:在运行Java程序前,必须安装好JDK(Java Development Kit 即:Java开发工具包),JDK里面就包含了 javac 和 java 工具,Java程序最终是在JVM(Java虚拟机)中运行的。 【面试题】JDK,JRE,JVM之间的关系? (1) JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包括JRE,同时还包含了编译器javac与自带的调试工具Jconsole , jstack等。 (2) JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行时的所需环境。 (3) JVM:Java虚拟机,运行Java代码。 图示: 在这里插入图片描述

    在我们编写和运行第一个Java程序时,可能会遇到的一些错误:

  • 源文件后缀不是 .java
  • 类名与文件名不一致
  • main方法名字写错
  • 类没有使用public修饰。
  • 方法中的语句没有以分号结尾
  • 分号写为了中文格式
  • JDK环境没有配置好,操作系统不能识别javac或者java命令
  • 3. 注释

    注释是为了让代码更容易被读懂而附加的描述信息,不参与编译运行,但是却非常重要。

    3.1 基本规则

    Java中的注释主要分三种:

  • 单行注释:// 注释内容 (用的最多)
  • 多行注释:/* 注释内容 */ (不推荐)
  • 文档注释:/** 文档注释 **/ (常见于方法和类之上的描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件为体现的程序说明档案。
  • 注意:

  • 多行注释不能嵌套使用
  • 无论是单行注释还是多行注释,都不参与编译。(即:编译之后生成的 .class 文件中不包含注释信息)
  • 代码演示: 1:

    /**
    文档注释
    **/

    public class Test{
    /*
    多行注释
    */

    public static void main(String[] args){
    //行注释
    System.out.println("hehe");
    }
    }

    2:

    /**

    **/
    public class Test{
    /*

    */
    public static void main(String[] args){
    //
    System.out.println("hehe");
    }
    }

    这里给大家说一下,如果是采用记事本来进行源代码的书写,那么我们在cmd上运行时可能会报错(这里说报错的代码段是 2 ,我们通过比较代码段1与代码段2,可以发现是中文问题),为什么呢? 答:记事本上的中文是按照 UTF8 编码的,javac进行编码的时候 cmd 是按照GBK编码的,由于编码的不一致,所以我们的中文编译会出现问题,会报错。 补:

  • 这个问题是可以解决的,统一编码就好,在这里就不过多阐述啦。
  • 还有的是采用 IDEA 来进行编码的,由于 IDEA 的内部已经给我们处理好了这个流程,所以感知不到。
  • 由于每个人的电脑是不一样的,有的人电脑上的记事本可能就是按照GBK(中文编码)进行编译的,不需要进行指定编码方式,所以没问题。
  • 关于文档注释是相对复杂的,也非常重要,这边建议大家去学习一下文档注释的各种用法。

    3.2 注释规范
  • 注释的内容要和代码一致,匹配,并在代码修改时及时更新。
  • 注释的长度应该合理,即不应该太精简,也不应该长篇大论。
  • 尽量使用中文,一般的中国公司都要求使用中文写注释,外企另当别论。
  • 要积极向上,注释中不要包含负能量(例如:某某SB等)。
  • 4. 标识符

    在上述程序中, Test 称为类名,main 称为方法名,也可以称其为标识符,即:****。 在上述程序中,Test称为类名,mian称为方法名,也可以称其为标识符,即:在程序中由用户给类名,方法名或者变量所取得名字。 【硬性规则】 标识符中可以包括:字母,数字,下划线和 $ 符号等等。 注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。

    【软性建议】 (1)类名:每个单词的首字母大写(大驼峰) (2)方法名:首字母小写,后面每个单词的首字母大写(小驼峰) (3)变量名:与方法名相同

    public class Test{
    public static void main(String[] args){
    System.out.println("hello");

    int a = 10;
    int maxNum = 10;//小驼峰
    int a3 = 10;
    int A = 10;
    int $a = 10;

    }

    public static void funNum(String[] args){

    }
    }

    补充一下: (1) mian也可以作为变量名,但是不推荐,所以尽量不用。 (2) 有的变量命名是合法但是不合理的,例如: _a,_____这样的变量名。 一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名,比如:person,PERSON,Person,_person,将会使程序非常混乱,如果大家在取名时能够遵循一定的约束(即规范),那多人写出的代码就仿佛是由一个人所写的。

    5. 关键字

    通过观察上述程序可以发现,public,class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。

    注意:用户不能使用关键字来定义标识符

    在Java中的关键字有很多,这里给大家列出来一部分,先了解,后续会给一部分进行逐一的详细解释。 在这里插入图片描述 以上就是一些关于Java的基础认识,下次见!

    赞(0)
    未经允许不得转载:171主机测评 » 初学Java:对于Java的基础认识
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址