03-Java的基础语法
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
- 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
第一个Java程序
下面看一个简单的Java程序,它将打印字符串 Hello World
public class HelloWorld {/* 第一个Java程序* 它将打印字符串 Hello World*/public static void main(String []args) {System.out.println("Hello World"); // 打印 Hello World } }
下面将逐步介绍如何保存、编译以及运行这个程序:
- 打开Notepad,把上面的代码添加进去;
- 把文件名保存为:HelloWorld.java;
- 打开cmd命令窗口,进入目标文件所在的位置,假设是C:\
- 在命令行窗口键入 javac HelloWorld.java 按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。
- 再键入java HelloWorld 按下Enter键就可以运行程序了
你将会在窗口看到 Hello World
C : > javac HelloWorld.java C : > java HelloWorld Hello World
基本语法
编写Java程序时,应注意以下几点:
- 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
- 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
- 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行。
Java标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, strictfp
在后面的章节中我们会深入讨论Java修饰符。
Java变量
Java中主要有如下几种类型的变量
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
Java数组
数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何声明、构造以及初始化一个数组。
Java枚举
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
class FreshJuice {enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }FreshJuiceSize size; }public class FreshJuiceTest {public static void main(String []args){FreshJuice juice = new FreshJuice();juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;} }
注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义
Java 关键字
下面列出了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注释
类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。
public class HelloWorld {/* 这是第一个Java程序*它将打印Hello World* 这是一个多行注释的示例*/public static void main(String []args){// 这是单行注释的示例/* 这个也是单行注释的示例 */System.out.println("Hello World"); } }
Java 空行
空白行,或者有注释的行,Java编译器都会忽略掉。
继承
在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。
接口
在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
Java 源程序与编译型运行区别
如下图所示:
转载于:https://www.cnblogs.com/yuanpeng-java/p/9685425.html
03-Java的基础语法相关推荐
- Ajax和JSON-学习笔记03【JSON_基础语法】
Java后端 学习路线 笔记汇总表[黑马程序员] Ajax和JSON-学习笔记01[原生JS方式实现Ajax] Ajax和JSON-学习笔记02[JQuery方式实现Ajax] Ajax和JSON-学 ...
- java字节型的关键字_DAY06-07 Java的基础语法-注释、标识符、关键字、数据类型
Java的基础语法 注释 注释不会被执行,是给人看的 书写注释是一个非常好的习惯. 注释类型: (1)单行注释:// 注释内容 (2)多行注释:/ * - 注释内容-. * / (3)文档注释:/* ...
- 【Java 1】Java的基础语法
Java的基础语法 一.Java运算符 1.1.1 运算符和表达式 1.1.2 算术运算符 1.1.3 "+"号运算的特殊 1.2 赋值运算符 1.3 自增自减运算符 1.4 关系 ...
- Java初级·基础语法
基础语法* 01.关键字 关键字: Java预定义的有特殊含义的单词 特点 1.常用的开发工具高级记事本/IDE,能够变颜色的一些单词 2.都是小写字母组成 3.都是由特殊含义的单词 public : ...
- java的基础语法和数据类型,IDEA
IDEA的用法 快捷方法 主函数:psvm 输出语句:sout java基础语法注释 注释:必须要写注释 单行注释:// 多行注释:/**/ 文档注释javaDoc:/***/ 平时写代码要注意规范 ...
- Java学习基础语法
Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 分支结构 Java Num ...
- 黑马程序员JAVA 教程--基础语法
基础语法 注释 注释概述 注释分类 关键字 关键字概述 关键字特点 常量 常量概述 常量分类 数据类型 计算机存储单元 数据类型 数据类型内存占用和取值范围 变量 变量概述 变量定义 变量的使用 变量 ...
- java入门基础语法及核心机制
本文内容主要记载了我学习Java零基础教程视频的笔记和学习心得,内容主要包括:(1) Java环境的配置:(2) 基础语法:关键字.标识符.字面值.操作符.数据类型等: (3) 核心机制:封装.继承. ...
- 动静结合?Ruby 和 Java 的基础语法比较(入门篇)
前言 这篇文章示例代码比较多, Java 程序员可以看到一些 Ruby 相关语法和使用,Ruby 程序员可以看看 Java 的基本语法和使用方法,本文比较长,将近万字左右,预计需要十几分钟,如果有耐心 ...
- 【超硬核】Java SE 基础语法知识点 (C语言快速转Java)
目录 1.Java程序基础 1.1 JDK和JRD 1.2 命令行操作 1.3 pubilic+class 1.4 字节码文件 2.标识符 2.1 标识符的组成 2.2 遵守驼峰命名方式 2.3 类名 ...
最新文章
- jQuery中的Ajax----03
- RAFT-3D: 基于刚体变换的场景流估计(ICCV 2021)
- 无限轮播的N+2 策略
- linux mysql insert_linux mysql怎么添加数据
- 2018-12-04-Python全栈开发-day92-自动登录
- JavaWeb:Tomcat下配置数据源连接数据库
- centos ping不通局域网_新手小白初次安装虚拟机,网络不通怎么办,踩过的坑都告诉你...
- 20155238 实验四 Android程序设计
- python与正则表达式(part3)--贪婪模式和非贪婪模式
- 通过从备份中排除这些文件夹来节省Time Machine驱动器上的空间
- c语言系统时间的作用,C语言得到当前系统时间
- 收获,不止SQL优化——抓住SQL的本质--第九章
- element-ui的input加单位符号
- 陈天奇的tvm更新了:VTA,开源AI芯片栈
- printf格式化字符串_Java printf()–将格式化的字符串打印到控制台
- 怎么可以同时上内外网,不用切换网络
- java zh_java 中zhis的用法
- 一个喷嚏就能传播病毒?关于病毒,还有多少是你不知道的?
- css 右上角 翻开动画_CSS3 transition动画、transform变换、animation动画
- Android整合网上资源以及个人对GreenDao数据库框架的理解与使用(android-studio开发)
热门文章
- 一种注册表沙箱的思路、实现
- Docker容器中数据两种持久化存储方式:卷和挂载宿主目录
- Windows7/10上快速搭建Tesseract-OCR开发环境操作步骤
- OpenCV代码提取:merge/split函数的实现
- 【Qt】错误GL/gl.h: No such file or directory的解决方法(以及cannot find -lGL解决方法)
- 用c自制编程语言,(怒)自制编程语言
- 怎么修改php.in的时间,melongin怎么设置
- Mybatis入门:4(多表查询操作)
- 病毒的灵魂拷问(绝对原创)
- 中国剩余定理(孙子定理)的证明和c++求解