Java是有法_Java基础语法
Java的基础语法包含三大类:标识符、修饰符、关键字。
一、标识符。
定义:标识符是以数字、字母、下划、$符号(美元符)所组成的用来标志类名、对象名、方法名、类型名、数组名、包名的有效字符序列。(简单的说是Java所有组成部分的名字)
命名规则:类名首字母大写、变量名和方法名采用驼峰标志法(驼峰式命名法:简单的说是变量名的单词首字母大写造成的此起彼伏像驼峰一样,又分小驼峰法(如:int myStudentCount)和大驼峰法(如:int MyStudentCount )。小大也就是变量名第一个单词首字母是否大写的区别。),常量全大写,多个单词之间用“_”(英文符号)隔开,包名全小写;
(1)只能由阿拉伯数字、字母、下划线、$符号组成
(2)不能以数字开头
(3)Java语言区分大小写
(4)不能使用Java中的关键字或保留字
二、修饰符
定义:修饰符是用于限定类型以及类型成员(方法或属性等)的声明的一种符号。主要有两类修饰符:访问控制修饰符和非访问控制修饰符。
(1)访问修饰符:访问修饰符是用来控制其他类对该类的类、实例变量、构造方法、实例方法的访问权限。Java有四种分别是public、protected、default(默认)、private。
default: (即缺省,什么也不写): 无访问修饰符,可以被同一包中所有类访问。使用对象:类、接口、变量、方法。
private : 只能够被当前类访问。使用对象:变量、方法。注意:不能修饰类(外部类)
public : 可以被任何类访问。使用对象:类、接口、变量、方法
protected : 可以被同一包内的所有类和所有子类访问。使用对象:变量、方法。 注意:不能修饰类(外部类)
默认访问修饰符-不使用任何关键字
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。
私有访问修饰符-private
私有访问修饰符是最严格的访问级别,所以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
公有访问修饰符-public
被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问。
如果几个相互访问的 public 类分布在不同的包中,则需要导入相应 public 类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子类继承。
Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类。
受保护的访问修饰符-protected
protected 需要从以下两个点来分析说明:
子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;
子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。
protected 可以修饰数据成员,构造方法,方法成员,不能修饰类(内部类除外)。
接口及接口的成员变量和成员方法不能声明为 protected。
访问控制和继承
请注意以下方法继承的规则:
父类中声明为 public 的方法在子类中也必须为 public。
父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
父类中声明为 private 的方法,不能够被继承。
非访问修饰符
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和volatile 修饰符,主要用于线程的编程
三、关键字
三、关键字
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别关键字说明
访问控制
private
私有的
protected
受保护的
public
公共的
类、方法和变量修饰符
abstract
声明抽象
class
类
extends
扩充,继承
final
最终值,不可改变的
implements
实现(接口)
interface
接口
native
本地,原生方法(非 Java 实现)
new
新,创建
static
静态
strictfp
严格,精准
synchronized
线程,同步
transient
短暂
volatile
易失
程序控制语句
break
跳出循环
case
定义一个值以供 switch 选择
continue
继续
default
默认
do
运行
else
否则
for
循环
if
如果
instanceof
实例
return
返回
switch
根据值选择执行
while
循环
错误处理
assert
断言表达式是否为真
catch
捕捉异常
finally
有没有异常都执行
throw
抛出一个异常对象
throws
声明一个异常可能被抛出
try
捕获异常
包相关
import
引入
package
包
基本类型
boolean
布尔型
byte
字节型
char
字符型
double
双精度浮点
float
单精度浮点
int
整型
long
长整型
short
短整型
变量引用
super
父类,超类
this
本类
void
无返回值
保留关键字
goto
是关键字,但不能使用
const
是关键字,但不能使用
null
空
Java是有法_Java基础语法相关推荐
- java方法四要素_Java基础语法
Free Talk 最近在JavaGuide博客里面兜兜转转了几天,一边等华为的实训消息,一边随便看点Java后端开发的知识.但是这一周总感觉看了就忘,而且光看也很容易走神发呆,要不然就是去打王者啥的 ...
- java 数组下标 变量_Java基础语法:数组
一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...
- java default修饰符_Java基础语法二
Java循环结构 for循环 /* for(初始化;布尔表达式;更新) {执行代码 } */ for(int i=0; i < 5; i++) {System.out.println(i); } ...
- java大括号定义数组_Java基础语法_数组
数组的概念 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长幅在程序运行期间不可改变 数组的定义格式 数组的 ...
- java中和char功能相反的是_JAVA基础语法
java的基础语法 Java中的程序可分为结构定义语句和功能执行语句. 结构定义语句:用于声明一个类或方法,功能执行语句用于实现具体的功能. 功能执行语句:每条功能执行语句的结尾都必须用英文分号(;) ...
- JAVA运算的类型兼容原则_Java基础语法回顾(一)
Java基础语法 Java规范 image.png Java字节码 java程序是以".java"为扩展名,当我们编写完java程序后,要执行程序需要经过两个阶段:编译和运行. 编 ...
- java 基本语法与流程控制_Java基础语法之控制流程
Java基础语法之控制流程 语言的流程控制提供了对程序步骤的基本方法. 三大流程控制语句:顺序.选择.循环 复合结构 复合结构是以一个区块为单位的,由"{"开始"}&qu ...
- java简述标识符和保留字区别_Java 基础语法 - 流年似水莫停留的个人页面 - OSCHINA - 中文开源技术交流社区...
Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...
- java 多线程语法_Java基础语法之多线程学习笔记整理
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...
最新文章
- 负载均衡Load Balance学习
- 牛客 - Subset of Five(背包)
- SpringSecurity权限框架实战
- 第二十五章补充内容 5 不能为0的变量
- [vue] vue性能的优化的方法有哪些?
- Kotlin 势必取代 Java?
- 有关科学计算方面的python解决
- 哪种存储器是非易失的_ROM是易失性存储器还是非易事性存储器?
- 源支付源码客户端+云端+监控+协议三网免挂免输入(全套版)
- spark学习之sparksql语法优化
- 领导力提升的科学:如何提升领导力?
- LaTeX升级打怪路之自定义指令篇1
- 用户、巨头、计算平台,最终都是“社交”的傀儡?
- 如何用Nuxt.js构建项目,SSR官网项目搭建流程
- The type 类名 is already defined
- SQL教程之作为 SQL 数据分析师给初学者的5个技巧提升
- PowerShell 7.1 中的新增功能
- 回溯法——回溯法的算法思想
- 有Go语言实战培训班吗?go语言开发环境搭建
- 2022最新树莓派4B学习笔记:系统备份 OpenCV SPI TFT HTML