Java 基础语法
作者:CDFMLR 发布时间:2021-09-21 19:26:32
目录
1、基本语法
2、标识符(合法的变量名)
3、关键字(保留字)
4、注释
5、Java 包
5.1 package 语句
5.2 import 语句
6、源文件声明规则
前言:
Java 是一门面向对象的解释型编程语言。
面向对象 意味着我们应该把一个 Java
程序看作一系列对象的集合,我们的工作就是构建这些对象,并通过调用彼此的方法来让各种对象协同工作,解决实际的问题。
解释型 意味着:
Java编译程序生成字节码(byte-code
),而不是通常的机器码。 相同的代码设计成可有效地传送程序到多个平台。
1、基本语法
Java 大小写敏感
Java 源文件名必须和类名相同(如果文件名和类名不相同则会导致编译错误)
Java 程序由
public static void main(String []args)
方法开始执行。
2、标识符(合法的变量名)
Java 标识符可以包含以下字符:
字母:
A-Z、a-z
数字:
0-9
符号:
$、_
首字符不能是数字Java
标识符大小写敏感
关键字不能用作标识符
3、关键字(保留字)
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,声明布尔类型的关键字 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范[1] |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
4、注释
Java 中的注释和 C 语言相同,有/* ... */
和 // ...
两种。
示例:
/*
多行
注释
*/
/* 行中注释 */
// 行尾注释
5、Java 包
包主要用来对类和接口进行分类。当开发Java
程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
5.1 package 语句
package
指定的信息直接将生成的 class
文件生成到对应目录下。如 package aaa.bbb.ccc
编译器就将该 .java 文件下的各个类生成到 ./aaa/bbb/ccc/
这个目录。
5.2 import 语句
import
是为了简化使用 package
之后的实例化的代码。假设 ./aaa/bbb/ccc/
下的 A
类:
假如没有 import
,实例化A类为:new aaa.bbb.ccc.A();
使用 import aaa.bbb.ccc.A
后,就可以直接使用 new A()
了; 也就是编译器匹配并扩展了 aaa.bbb.ccc.
这串字符串。
例如:下面的命令行将会命令编译器载入 java_installation/java/io 路径下的所有类:
import java.io.*;
6、源文件声明规则
一个源文件中只能有一个
public
类(非 public 的不限)源文件的名称应该和
public
类的类名保持一致。(源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java)如果一个类定义在某个包中,那么
package
语句应该在源文件的首行。如果源文件包含
import
语句,那么应该放在package
语句和 类定义 之间。如果没有package
语句,那么import
语句应该在源文件中最前面。import
语句和package
语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
来源:https://juejin.cn/post/7025787430569508895


猜你喜欢
- 如果不知道,类的静态变量存储在那? 方法的局部变量存储在那? 赶快收藏Java内存区域主要可以分为共享内存,堆、方法区和线程私有内存,虚拟机
- Mapper类中存在名称相同的方法重载报错项目场景官网项目开发问题描述Mapper类中存在名称相同的方法重载报错为了省事,直接在mapper
- RocketMQ存储路径默认是${ROCKRTMQ_HOME}/store,主要存储消息、主题对应的消息队列的索引等。1、概述查看其目录文件
- **正所谓,一入商城深似海~ 商城类的App,确实是有许多东西值得学习,但是只要略微斟酌一下,你又会发现,它们之间存在着许多不谋而合的相似,
- 问题(1)synchronized的特性?(2)synchronized的实现原理?(3)synchronized是否可重入?(4)sync
- 方法一:需要调用win32api,winform、wpf通用[DllImport("user32.dll")]publi
- 前言回想写过的图书管理系统、租房系统、电影院卖票系统都是基于原生的JavaSE、OOP,没有用到任何框架,在层与层的关系中一个类要想获得与其
- 一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值。其实这
- 线程中start方法与run方法的区别在线程中,如果start方法依次调用run方法,为什么我们会选择去调用start方法?或者在java线
- 此组件解决的问题是:「谁」在「什么时间」对「什么」做了「什么事」本组件目前针对 Spring-boot 做了 Autoconfig,如果是
- springboot和springmvc的区别spring boot 内嵌tomcat,Jetty和Undertow容器,可以直接运行起来,
- 本文实例为大家分享了android桌面悬浮窗,实现录屏时间控制显示效果的具体代码,供大家参考,具体内容如下悬浮窗效果如上图所示:很简单的一个
- 本文实例讲述了C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法。分享给大家供大家参考。具体如下:1.示例图P(x1,y1)以点A(a
- 在日常系统开发中,经常需要在adroid的framework修改或添加自己的配置。例如在config.xml 添加一个新的变量。我这边测试发
- 以前的左右滑动效果采用自定义scrollview或者linearlayout来实现,recyclerview可以很好的做这个功能,一般的需求
- 什么是不可变对象?String对象是不可变的,但这仅意味着你无法通过调用它的公有方法来改变它的值。众所周知, 在Java中, String类
- 获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了。// 获取ROOT权限pub
- 做了Android开发这么久了,经常会遇到一个问题是adb端口被占用,大家都知道Android默认的adb端口是5037,电脑上有一些应用的
- java向文件中追加内容与读写文件内容源码实例代码向文件尾加入内容有多种方法,常见的方法有两种:RandomAccessFile类可以实现随
- 今天实现一个很多app中使用到的加载进度条的效果,可能我们平时数据加载都使用到的是系统自带的,但是也有很多app加载进度条的效果实现挺好看,