java . 语法_Java基础语法

缺乏、安全感 2022-11-02 00:55 446阅读 0赞

一,Java运行原理

1)JVM简介

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

0e0072efcac0d74a8a43f63097337085.png

f77c92394b52d87e20625ddd11d2781e.png

Java程序保存、编译及运行

打开文本编辑器,书写代码,并保存为 .java文件.java文件通过 JDK中的 javac .exe 程序进行编译,

0a089c9bcaf9d8e7086845248e2d92e5.png

运行java程序,通过JDK中 java.exe 程序把编译生成的xxx.class放到JVM上运行的

f85ba682425765598d0283934fbc3c05.png

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、非( !)运算

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

四、赋值运算符

=

简单的赋值运算符,将右操作数的值赋给左侧操作数

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修饰的类称为抽象类,抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充

发表评论

表情:
评论列表 (有 0 条评论,446人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java基础语法

    一、基本语法 1. 大小写敏感:Java是大小写敏感的。 2. 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成, 那么每个单词的首字母应该大写。

    相关 Java 基础语法

    一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 - **对象**:对象是类的一个...