Java基本语法(如有不对或者有需要补充的地方请各位帅哥美女提出宝贵意见,谢谢)
一.第一个java程序
1.首先打开记事本,输入以下代码
2.将这个Hello.txt后缀改为Hello.java
3.找到这个文件所在目录,例如:我这个文件放在桌面上,找到这个文件路径为:D:deskop/Hello.java,如图
4.点击D:\deskop,输入cmd,进入命令行
输入javac Hello.java (这个指令是将.java编译成.class字节码文件,让计算机能运行文件)
然后输入java Hello执行这个程序
二.基本语法
1.区分大小写:Java严格区分大小写,但在Windows系统下,类名大小写区分开也不能一样。
2.类名:类名首字母应该大写,如果是由多个单词组成的类名,应该每个首字母都大写,形成大驼峰,例如:MyFirstProject。
3.方法名:方法名首字母应该为小写,如果是有多个单词组成的方法名,后面的单词首字母应该大写,形成小驼峰,例如:myFirstProject。
4.程序文件名:程序文件名应该类名一样,Java严格区分大小写,类名与文件名必须大小写也一样,文件后缀应为.Java,否则无法编译成功。如果一个类声明的时候使用了public class
进行了声明,则文件名称必须与这个主类名称完全一致。如果一个程序中没有声明public class
,则文件名可能与类名不同,Java中没有要求一定有public class
。
5.Java程序处理要从main
方法开始,每个java程序都必须要有public static void main(String[] args){}。
三.Java标识符
标识符(identifier
)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。
1.标识符只能由字母,数字,下划线"_
",美元符号$
组成。
2.首字母不能为数字。
3.没有长度限制。
4.区分大小写。
5.不能插入空格。
6.不能为保留字。
四.Java修饰符
Java语言提供了很多修饰符,可以通过修饰符来修改类,方法等。
修饰符主要分为以下两类:
访问修饰符:
public
:对所有类可见。使用对象:类、接口、变量、方法。
private
:在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
protected
:对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
default
:缺省,在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
非访问修饰符:
final
:用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
static
:用来修饰类方法和类变量。
abstract
:用来创建抽象类和抽象方法。
synchronized
:主要用于线程的编程。
五.Java变量
在程序设计中,变量是指一个包含值的存储地址以及对应的符号名称。从定义上来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。简单来说,变量就是存储数据的载体。Java 是一种强类型的语言,因此变量都必须有一个类型。创建一个变量(也叫声明一个变量)需要两步,首先给变量起一个名字,这个名字就是标识符,然后定义数据类型。以下是Java中的变量类型 :
① 局部变量
② 类变量(静态变量)
③ 实例变量(非静态变量)
1.成员变量有默认初始值,局部变量没有。
2.成员变量的作用域在整个类的内部,局部变量在当前方法或代码块中。
3.初始化变量是指为变量指定一个明确的初始值。初始化变量有两种方式:一种是声明时直接赋值,一种是先声明、后赋值。
4.多个同类型的变量可以同时定义或者初始化,但是多个变量中间要使用逗号分隔,声明结束时用分号分隔。
- 变量使用的注意点:
- 变量必须先声明,后使用
- 变量都定义在其作用域内。在作用域内,它是有效的。换句话说,出了作用域,就失效了
- 同一个作用域内,不可以声明两个同名的变量
- 变量是类或者结构中的字段,如果没有显式地初始化,默认状态下创建变量并默认初始值为 0。
- 方法中的变量必须显式地初始化,否则在使用该变量时就会出错。
六.Java常量
常量是指在程序的整个运行过程中值保持不变的量。在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。
常量值又称为字面常量,它是通过数据直接表示的,所以常量有整型,浮点型,字符型,布尔型,字符串型多种数据类型。
Java 语言使用 final 关键字来定义一个常量,其语法如下所示:
final int temp = 10;
其中,final 是定义常量的关键字,int指明常量的数据类型,temp是变量的名称,10是初始值。
final 关键字表示最终的,它可以修改很多元素,修饰变量就变成了常量。例如,以下语句使用 final 关键字声明常量。
public class HelloWorld {
// 静态常量
public static final double PI = 3.14;
// 声明成员常量
final int y = 10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
}
常量有三种类型:静态常量、成员常量和局部常量。
代码第 3 行的是声明静态常量,使用在 final 之前 public static 修饰。public static 修饰的常量作用域是全局的,不需要创建对象就可以访问它,在类外部访问形式为 HelloWorld. PI。这种常量在编程中使用很多。
代码第 5 行声明成员常量,作用域类似于成员变量,但不能修改。代码第 9 行声明局部常量,作用域类似于局部变量,但不能修改。
- 在定义常量时,需要注意如下内容:
- 在定义常量时就需要对该常量进行初始化。
- final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
- 为了与变量区别,常量取名一般都用大写字符。
七.Java关键字
Java关键字是预先定义的具有特别意义的标识符,也可以叫Java保留字,Java关键字不能用作变量名、方法名、类名、包名和参数。
Java关键字类别 | Java关键字 | 关键字含义 |
---|---|---|
访问控制 | private | 一种访问控制方式:私用模式,访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量) |
访问控制 | protected | 一种访问控制方式:保护模式,可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符 |
访问控制 | public | 一种访问控制方式:共用模式,可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 |
类、方法和变量修饰符 | abstract | 表明类或者成员方法具有抽象属性,用于修改类或方法 |
类、方法和变量修饰符 | class | 声明一个类,用来声明新的Java类 |
类、方法和变量修饰符 | extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
类、方法和变量修饰符 | final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
类、方法和变量修饰符 | implements | 表明一个类实现了给定的接口 |
类、方法和变量修饰符 | interface | 接口 |
类、方法和变量修饰符 | native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
类、方法和变量修饰符 | new | 用来创建新实例对象 |
类、方法和变量修饰符 | static | 表明具有静态属性 |
类、方法和变量修饰符 | strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
类、方法和变量修饰符 | synchronized | 表明一段代码需要同步执行 |
类、方法和变量修饰符 | transient | 声明不用序列化的成员域 |
类、方法和变量修饰符 | volatile | 表明两个或者多个变量必须同步地发生变化 |
程序控制 | break | 提前跳出一个块 |
程序控制 | continue | 回到一个块的开始处 |
程序控制 | return | 从成员方法中返回数据 |
程序控制 | do | 用在do-while循环结构中 |
程序控制 | while | 用在循环结构中 |
程序控制 | if | 条件语句的引导词 |
程序控制 | else | 用在条件语句中,表明当条件不成立时的分支 |
程序控制 | for | 一种循环结构的引导词 |
程序控制 | instanceof | 用来测试一个对象是否是指定类型的实例对象 |
程序控制 | switch | 分支语句结构的引导词 |
程序控制 | case | 用在switch语句之中,表示其中的一个分支 |
程序控制 | default | 默认,例如:用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
错误处理 | try | 尝试一个可能抛出异常的程序块 |
错误处理 | catch | 用在异常处理中,用来捕捉异常 |
错误处理 | throw | 抛出一个异常 |
错误处理 | throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
包相关 | import | 表明要访问指定的类或包 |
包相关 | package | 包 |
基本类型 | boolean | 基本数据类型之一,声明布尔类型的关键字 |
基本类型 | byte | 基本数据类型之一,字节类型 |
基本类型 | char | 基本数据类型之一,字符类型 |
基本类型 | double | 基本数据类型之一,双精度浮点数类型 |
基本类型 | float | 基本数据类型之一,单精度浮点数类型 |
基本类型 | int | 基本数据类型之一,整数类型 |
基本类型 | long | 基本数据类型之一,长整数类型 |
基本类型 | short | 基本数据类型之一,短整数类型 |
基本类型 | null | 空,表示无值,不能将null赋给原始类型(byte、short、int、long、char、float、double、boolean)变量 |
基本类型 | true | 真,boolean变量的两个合法值中的一个 |
基本类型 | false | 假,boolean变量的两个合法值之一 |
变量引用 | super | 表明当前对象的父类型的引用或者父类型的构造方法 |
变量引用 | this | 指向当前实例对象的引用,用于引用当前实例 |
变量引用 | void | 声明当前成员方法没有返回值,void可以用作方法的返回类型,以指示该方法不返回值 |
保留字 | goto | 保留关键字,没有具体含义 |
保留字 | const | 保留关键字,没有具体含义,是一个类型修饰符,使用const声明的对象不能更新 |
八.Java基本数据类型
变量是用于存储值的保留内存位置。当创建变量时,它会在内存中保留一些空间。
根据变量的数据类型,操作系统分配内存并决定可以存储在保留内存中的内容。 因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符。
Java有两种数据类型:基本数据类型
,引用数据类型
。
八大基本数据类型:
名称 | 默认值 | 大小范围 | 示例 |
---|---|---|---|
byte | 0 | -128-127 | byte i = 100; byte a = -99; |
short | 0 | -2^15 ~ 2^15-1 | short a = 10000; short b = -10400; |
int | 0 | -2^31 ~ 2^31-1 | int a = 100000; int b = -100400; |
long | 0L | -2^63 ~ 2^63-1 | long a = 100000L; long b = -100400L; |
float | 0.0F | —— | float a = 10.0F; float b = -3.8F; |
double | 0.0d | —— | double a = 10.222; double b = -5.111; |
char | —— | ISO 单一字符集 | char a =‘A’ ; |
boolean | false | true/false | boolean a = true; |
- 注意:
- java八种基本数据类型的字节数:1字节(byte、boolean)、 2字节(short、char)、4字节(int、
float)、8字节(long、double) - 浮点数的默认类型为double(如果需要声明一个常量为float型,则必须要在末尾加上f或F)
- 整数的默认类型为int(声明Long型在末尾加上l或者L)
- 八种基本数据类型的包装类:除了char的是Character、int类型的是Integer,其他都是首字母
大写 - char类型是无符号的,不能为负,所以是0开始的
- java八种基本数据类型的字节数:1字节(byte、boolean)、 2字节(short、char)、4字节(int、
引用数据类型:
引用数据类型建立在基本数据类型的基础上,包括数组、类和接口。
引用数据类型是由用户自定义,用来限制其他数据的类型。