Java基础语法

一,Java运行原理

  1)JVM简介

  java虚拟机JVM。JVM是java语言最大的特点,java的优缺点也是缘于JVM技术。JVM是一个可运行Java字节码的虚拟计算机系统。它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。还包括一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。这个也是java最大的特色跨平台性,也就是一处编写,处处运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。这就是java最受人批评的一个地方,运行在JVM上面当然没有直接运行在操作系统上快。所以有人总是说java的运行速度比不上C语言。

    

 

Java程序保存、编译及运行

  • 打开文本编辑器,书写代码,并保存为    .java   文件.java文件通过  JDK中的   javac .exe 程序进行编译,     
  • 运行java程序,通过JDK中 java.exe 程序把编译生成的xxx.class放到JVM上运行的

      

Java标识符

  Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关于标识符有以下几点需要注意:

  • 所有标识符都应以字母 ,$ ,或者下划线(_)开始
  • 首字符之后可以是任何字符的组合
  • 关键字和保留字不能做标识符
  • 标识符是大小写敏感的

类的声明与实例化

  类可以看成是创建Java对象的模板

  一个类应包括  1、变量 2、方法   3、构造器

  声明形式为:

    访问控制符  class  类名{

      访问控制符  变量类型  变量名;

               ·

               ·

               ·

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

          方法体

    }

}

  类的实例化 :创建对象的过程 ,方法如下

    类名   对象名 = new类名();就可以获取一个对象

变量的声明与使用

  Java变量类型

    在Java语言中所有的变量在使用前必须声明。基本格式如下:

        Java数据类型  变量一名 ,变量二名 ;

  Java支持的变量类型有:

    •  局部变量
      • 局部变量声明在方法、构造器或者语句块中;
      • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
      • 访问修饰符不能用于局部变量
      • 局部变量只在声明它的方法、构造方法或者语句块中可见;
      • 局部变量是在栈上分配的。
      • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
    •  实例变量
      • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
      • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
      • 实例变量可以声明在使用前或者使用后;   
      • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 
      • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
      • 访问修饰符可以修饰实例变量;
      • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
      • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
      • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。
    •  类变量
      •  类变量也称为静态变量,在类中以static关键字声明,但必须在方法、构造方法和语句块之外。
      • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
      • 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
      • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
      • 静态变量在程序开始时创建,在程序结束时销毁。
      • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
      • 默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
      • 静态变量可以通过:ClassName.VariableName的方式访问。
      • 类变量被声明为public static final类型时,类变量名称必须使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

 

 函数的声明与使用

  

  语法:

  [访问修饰符]  [static] 返回值类型  函数名(参数列表){

      要执行的代码

  }

  函数的使用:

    函数应定义在类中,可以通过  对象名.函数名(参数列表)  的方法进行调用函数

基本数据类型

  Java语言提供了八中基本数据类型

  共分为4类

    整型:bety(8位)  short(16位)  int(32位)  long(64位)

    浮点型:float(单精度)  double(双精度)

    字符型:char

    布尔型:布尔型只有两个值 true  或  false

运算符

   Java运算符

    计算机的最基本的用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操作变量。

    Java中的运算符可分为以下几种:

    1. 算术运算符
    2. 关系运算符
    3. 位运算符
    4. 逻辑运算符
    5. 赋值运算符
    6. 其他运算符

    一、算数运算符

      顾名思义,算数运算符就是用作数学运算的运算符。

操作符       描述
+ 加法:相加运算符号两边的值
- 减法:左边的树减去右边的树
* 乘法:相乘操作两侧的数
/ 除法:左边的数除以右边的数
% 取模(或称取余):左边的数除以左边数得到的余数
++ 自增:操作数值加一。
-- 自减:操作数减一。

 

    

 

 

 

 

 

 

 

 

 

 

 

 

    二、关系运算符

      关系运算符用于比较两个数之间的关系的,符合判断则为真,否则为假。

 

 == 
判断符号两边的值是否相等,相等为真否则为假
 != 判断两边的值是否不等,不想等为真,否则为假
 >  判断左边的值是否大于右边的值,如果大于为真否则为假
 < 判断左边的值是否小于右边的值,如果小于为真否则为假
 >= 判断左边的值是否大于或等于右边的值,如果是为真否则为假
 <= 判断左边的值是否小于或等于右边的值,如果是为真否则为假

 

 

 

 

 

 

 

 

 

 

 

 

    三、逻辑运算符

    1、与(&&)运算

          运算符两边操作都为真,条件才为真

       2、或( || )运算

          如果两个操作任何一个为真,条件就为真

       3、非( !)运算

          用来反转操作的逻辑状态,如果条件为真,通过  ! 运算则会为假,同理如果条件为假,运算后则为真

       四、赋值运算符

    

 = 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
 += 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
 -= 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C -A

 *= 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
 /= 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A等价于C = C / A
 (%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    五、条件运算符  

      条件运算符也称三元运算符,该运算符有3个操作数,并且需要判断布尔表达式,该运算符主要决定哪个值应该付给变量。

         举例: a = (B>C)?B:C

        如果(B>C)为真,则将B的值赋予a,为假则将C的值赋予a

 

 

Java修饰 

  像其他语言一样,Java可以使用修饰符来修饰类中的方法和属性。主要有两类修饰符

  • 1.访问控制修饰符
    • publicdefault
      • 共有的对所有类可见,被声明为public的类、方法、构造方法和接口能被其他任何类访问。如果几个相互访问的public类在不同的包中,则需要导入相应public类所在的包
      • 默认的,在同一个包内可见,
    • protected
      • 受保护的,对同一包内的类和所有子类可见,protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和方法不能声明为protected
    • private
      • 私有的在同一类中可见,private是最严格的的访问级别,被声明为private的方法变量和构造器这能被所属类访问,并且类和接口不能声明为private 

  2.非访问控制修饰符

    • static

        static关键字用来声明独立于对象的静态变量和静态方法。无论类实例化多少对象,他的静态变量只有一份拷贝,静态方法不能使用类的非静态变量。

    • final

        final变量能被显示的初始化并且只能初始化一次,被声明为final的对象的引用不能指向不同的对象,但里面的值可以改变

        final方法,可以被子类继承但不能被子类修改,声明为final的方法主要目的防止该方法的内容被修改  

    • abstract

        被abstract修饰的类称为抽象类,抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充

 

 

 

     

posted on 2019-04-21 21:31  maoboss  阅读(815)  评论(0)    收藏  举报

导航