前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础语法

Java基础语法

作者头像
泰斗贤若如
发布2019-06-19 12:13:50
1.1K0
发布2019-06-19 12:13:50
举报
文章被收录于专栏:泰斗贤若如

Java基础语法

一.   认识Java

代码语言:txt
复制
- ​
    -  1. Java 简介  java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的。从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的硬件设备上运行。
***
 
代码语言:txt
复制
    -  2. Java语言
代码语言:txt
复制
    - java 是1995年,[sun公司](https://www.cnblogs.com/gemuxiaoshe/p/10607968.html)推出的一种面向对象的程序设计语言。
    - 由詹姆斯.戈士林设计完成,并完成了Java的原始编译器和虚拟机。Java原名oak,在1995年被正式以Java命名发布。詹姆斯.戈士林被称为Java之父。
    - Java语言是一种通过解释来执行的语言,其语法与c语言相似。同时其也是一种跨平台的程序设计语言。
    - 与c语言相比,Java语言简洁,且提高了可靠性,除去了最大的程序错误根源。并且Java具有较高的安全性。
    - Java程序既是编译型的,又是解释型的。**Java程序经过编译转换为一种Java字节码的中间语言,通过Java虚拟机(JVM)将字节码进行解释和运行。编译只进行一次,而解释,在每次运行时都会进行。**

Java程序的编译运行过程图解:

        1. Java的一些应用领域

借助Java,程序开发人员可以自由的使用现有的硬件和软件系统平台。Java是独立于平台的,它还可以应用于计算机之外的领域。Java主要在桌面应用开发,嵌入式系统开发,电子商务应用,企业级应用开发,交互式系统应用开发,多媒体系统开发,分布式系统开发,web应用系统

        1. Java的几个版本
代码语言:txt
复制
1. **java SE**Java SE是Java的标准版,主要用于企业级分布式的网络程序。包含Java语言基础,JDBC(Java数据库连接性)操作,I/O(输入/输出),网络通信,多线程技术。

java SE结构图:

   2.java EE

                              java EE是Java的企业版,主要用于开发企业级分布式网络程序。其核心是EJB(企业Java组件模型)。

java EE结果图:

  3.Java ME

                        java ME 主要应用于嵌入式系统开发

           5.  Java API文档

API(application programming interface,缩写作 API),即应用程序编程接口,JavaAPI文档是java程序开发不可或缺的编程词典。记录了Java中海量的API,主要包括类的继承结构,成员变量和成员方法,构造方法,静态成员的详细和描述信息。

参考文档:

java api 官方在线文档

java API在线中文文档

java API1.8中文版下载

  • 6.  java语言的一些特性

简单,面向对象,分布性,可移植性,解释型,安全性,健壮性,线程性,高性能,动态。

面向对象的:

面向对象是Java语言的基础,也是Java语言的重要特性,它本身就是一种纯面向对象的程序设计语言。Java提出万物皆对象。语法中不能在类外面定义单独的数据和函数。即Java语言的最外部数据类型就是对象,所有的元素都要通过类的对象来访问。

分布性:

Java的分布性包括操作的分布和数据的分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存在不同的主机上面。Java可以通过URL(统一资源定位符)对象访问网络对象,访问方式于访问本地系统相同。

可移植性:

Java 程序具有于体系结构无关的特性,可以方便的移植到网络上的不同计算机中。同时,Java的类库也实现了针对不同平台的接口,使这些类库可以移植。

多线程:

多线程机制能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据,使用多线程,可以带来更好的交互能力和实时行为。

二.    数据类型、变量和运算符

详细见 https://cloud.tencent.com/developer/article/1448094

1. 数据类型

基本数据类型

代码语言:txt
复制
**整型** 
代码语言:txt
复制
    byte(1个字节     表示范围:-2^7 ~ (2^7)-1) 
代码语言:txt
复制
    short(2个字节    表示范围:-2^15~(2^15)-1) 
代码语言:txt
复制
    int(4个字节      表示范围:-2^31 ~ (2^31)-1) 
代码语言:txt
复制
    long(8个字节     表示范围:-2^63 ~ (2^63)-1)
代码语言:txt
复制
**浮点型**
代码语言:txt
复制
    floot(32位 4个字节)
代码语言:txt
复制
    double(64位 8个字节)
代码语言:txt
复制
**字符型**
代码语言:txt
复制
    char(16位,2个字节)
代码语言:txt
复制
**布尔型**
代码语言:txt
复制
    boolean(两个值:true和false)

引用数据类型

代码语言:txt
复制
数组
代码语言:txt
复制
代码语言:txt
复制
接口

2. 数据类型转换

隐式转换

代码语言:txt
复制
小类型的数据赋进大类型的变量
代码语言:txt
复制
**例如:**

           byte、short、int、char运算时都转换为int

           short s = 1;

           s= s+1;`这是错误运算应改成s+=1;

显示转换

           小类型的变量=(小类型)大的数据会造成精度的丢失

3.运算符

算数运算符

         + 加法 、- 减法、\* 乘法、/ 除法

         % 取余 ++ 自增 -- 自减 + 字符连接符(当操作数中只要有一个是String类型,系统会自动将另一个操作数转换成字符串类型,然后进行连接)

赋值运算符

          =

关系运算符(结果为boolean类型)

逻辑运算符

位运算

4、标识符

标识符的命名规则

           必须以字母、下划线(_)或美元符号($)开头

           余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限。标识符中不能有空格。

           不能使用Java中的关键字或者保留字做为标识符

类名: Pascal规则 eg:Person StudentDemo

方法名: Camel规则 eg:getAge setUserName

包名: 全部小写 eg:com.neusoft

常量名: 全部大写 eg:MAX_VALUE

5.  流程控制语言

1、流程控制语句

代码语言:c#
复制
    条件控制         if-else
代码语言:javascript
复制
if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}
代码语言:javascript
复制
代码语言:javascript
复制
if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}
代码语言:javascript
复制
代码语言:javascript
复制
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

switch-case

代码语言:javascript
复制
switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
代码语言:c#
复制
    循环控制     for 
代码语言:javascript
复制
for(初始化; 布尔表达式; 更新) {
    //代码语句
}


//增强型 for 循环
for(声明语句 : 表达式)
{
   //代码句子
}

代码语言:c#
复制
    while 
代码语言:javascript
复制
while( 布尔表达式 ) {
  //循环内容
}
代码语言:javascript
复制
代码语言:c#
复制
    do-while
代码语言:javascript
复制
do {
       //代码语句
}while(布尔表达式);
代码语言:javascript
复制
代码语言:javascript
复制

6.  数组

详见 https://cloud.tencent.com/developer/article/1448095

1. 数组:数组可以看成多个相同类型的数据的组合,实现对这些数据统一管理

2. 数组的长度:数组中元素的个数

3. 数组的其他基本概念

       数组的索引 -- index

       数组的类型 -- type

       数组的名称 – name

       数组的声明

       数组类型 数组名

4. 数组的创建

数组名 = new 数据元素类型元素个数

5. 数组的初始化

数组类型 数组名 = { 元素1 ,元素2 ,…}

数组类型 数组名 = new 数据类型 { 元素1 ,元素2 ,…}

6. 数组的访问

代码语言:txt
复制
Java中,数组元素的下标从0开始
代码语言:txt
复制
元素的下标可以是整型常量或整型表达式
代码语言:txt
复制
赋值:数组名[元素下标] = 元素值
代码语言:txt
复制
取值:数据元素类型 变量名 = 数组名[元素下标]

7. 数组的遍历

for(int i = 0;i<数组长度;i++){

代码语言:txt
复制
    数组名[i];
代码语言:txt
复制
}

8. 多维数组创建

代码语言:txt
复制
数组类型[ ] [ ] 数组名

9. 数组的复制

System.arraycopy(source,srcPos,dest,destPos,length)

代码语言:txt
复制
复制source数组中从下标srcPos开始的length个元素到目标数组dest,并从目标数组的下标为destPos的位置开始储存
代码语言:txt
复制
    source: 源数组
代码语言:txt
复制
    srcPos: 源数组中的起始位置
代码语言:txt
复制
    dest: 目标数组
代码语言:txt
复制
    destPos:目标数组中的起始位置
代码语言:txt
复制
    length: 要复制的数组元素的个数

10. 数组的排序

代码语言:txt
复制
Arrays.sort(数组名)

11. 对数组排序

代码语言:txt
复制
Arrays.sort(数组名,fromIndex,toIndex)
代码语言:txt
复制
    对数组从下标为fromIndex到toIndex的数组排序(不包括下标为toIndex的元素)
代码语言:c#
复制

7. 方法的创建和调用

1. 什么是方法

            方法是完成某个功能的一组语句,通常将常用的功能写成一个方法

2. 方法的定义

            访问控制符 返回值类型 方法名(参数列表){

                                            方法体

             }

3.修饰符:

            public 、static 被称为修饰符(详见 https://cloud.tencent.com/developer/article/1482554

4.返回值类型:

            用来说明该方法运算结果的类型。如果返回其他类型,编译就可能出错

5.方法名:

            它作为调用时引用方法的标识

6.参数列表:

            方法的参数个数可以是0个到多个,每个参数前面要声明参数的数据类型;每个参数要用逗号分开。也可以一个参数都没有。

7. 方法体:

            它是一个语句块,执行特定的功能操作。对于有返回值类型的方法,方法体当中最后一个语句是return关键字,它的作用是把方法的执行(运算)结果返回到方法外部。

8.return 表达式 :

            这里,进一步分析,return后面的表达式就是方法的返回值。需要注意表达式的类型,必须与方法头中声明的“返回类型”相 匹配。

形式参数:在方法被调用时用于接受外部传入的变量

9.参数类型:

            就是该形式参数的数据类型

10. 返回值:

            方法在执行完毕后返回给调用它的程序的数据

11. 返回值类型:

            方法要返回的结果的数据类型

12. 方法的分类

            根据参数个数

            无参方法

            有参方法

            根据返回值类型

            有返回值方法

                   返回值类型可以是基本数据类型,也可以是引用数据类型

           无返回值方法

                   void(void不可以省略,必须要写,用来占位)

13. 方法的调用

             方法只有在被调用后才能生效

14. 方法的调用方法

代码语言:txt
复制
    无参方法的调用

       方法名()

代码语言:txt
复制
    有参方法的调用

       方法名(实参列表)

    注:实参列表与定义方法时的形参列表需一致

15. 使用方法时的注意问题

             形参必须注明数据类型

             实参直接写,不需要类型声明

             return只能返回一次

             遇到return语句,方法执行结束,后续语句不执行

             方法的返回值必须与声明中的返回值类型匹配

             方法不能嵌套定义,但可以嵌套调用

16. 方法的重载

             方法的重载就是在同一个类中允许同时存在一个以上同名的方法

17. 方法重载的规则

 重载发生在一个类中

        方法名称相同

        方法的参数列表不同

        参数个数不同或者参数类型不同

        与返回值类型无关,可相同,也可以不同

18. 方法的重写

代码语言:txt
复制
重写(rewrite)

       对从父类中继承来的方法进行改造

       在子类继承父类时发生

19. 方法重写的规则

      方法名称相同

      方法的参数列表相同(参数数量、参数类型、参数顺序都要相同)

      方法的返回值类型相同

      子类重写方法的访问权限要不小于父类中被覆盖方法的访问权限

代码语言:c#
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •            5.  Java API文档
  • 二.    数据类型、变量和运算符
    • 1. 数据类型
      • 2. 数据类型转换
      • 5.  流程控制语言
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档