JAVA 入坑教程 | 基础语法

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),美元符($)、或者下划线(_)开始
  • 首字符之后可以是任何字符的组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary


Java修饰符

 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:(作用域)

  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, strictfp 

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保留字。这些保留字不能用于常量、变量、和任何标识符的名称。

关键字 描述
abstract 抽象方法,抽象类的修饰符
assert 断言条件是否满足
boolean 布尔数据类型
break 跳出循环或者label代码段
byte 8-bit 有符号数据类型
case switch语句的一个条件
catch 和try搭配扑捉异常信息
char 16-bit Unicode字符数据类型
class 定义类
const 未使用
continue 不执行循环体剩余部分
default switch语句中的默认分支
do 循环语句,循环体至少会执行一次
double 64-bit双精度浮点数
else if条件不成立时执行的分支
enum 枚举类型
extends 表示一个类是另一个类的子类
final 表示一个值在初始化之后就不能再改变了
表示方法不能被重写,或者一个类不能有子类
finally 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。
float 32-bit单精度浮点数
for for循环语句
goto 未使用
if 条件语句
implements 表示一个类实现了接口
import 导入类
instanceof 测试一个对象是否是某个类的实例
int 32位整型数
interface 接口,一种抽象的类型,仅有方法和常量的定义
long 64位整型数
native 表示方法用非java代码实现
new 分配新的类实例
package 一系列相关类组成一个包
private 表示私有字段,或者方法等,只能从类内部访问
protected 表示字段只能通过类或者其子类访问
子类或者在同一个包内的其他类
public 表示共有属性或者方法
return 方法返回值
short 16位数字
static 表示在类级别定义,所有实例共享的
strictfp 浮点数比较使用严格的规则
super 表示基类
switch 选择语句
synchronized 表示同一时间只能由一个线程访问的代码块
this 表示调用当前实例
或者调用另一个构造函数
throw 抛出异常
throws 定义方法可能抛出的异常
transient 修饰不要序列化的字段
try 表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
void 标记方法不返回任何值
volatile 标记字段可能会被多个线程同时访问,而不做同步
while while循环

Java注释

 类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略


Java 空行

空白行,或者有注释的的行,Java编译器都会忽略掉。


继承

在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。


接口

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。


Java 源程序与编译型运行区别

如下图所示:

时间: 2024-08-30 03:50:55

JAVA 入坑教程 | 基础语法的相关文章

JAVA 入坑教程 | 章节十 基本数学运算Math类

点击左上角[目录] 简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节. 有问题可加入安卓QQ群: 246231638 在高数中总会运用到各种类型的计算,如正弦.余弦.正切.π.反正切.底数e的参数次方等等,那这些在计算机中如何表述?当然,可以用数值类型(如int.double.float)去模拟所有方法的实现,但是这样等同于解一个方程式的值,痛苦不堪,其实在Java中已经帮我们封装好了这些函数的调用,就是这个Math 类,先来看看其API有哪些方法可以给我们玩的. AP

JAVA 入坑教程 | 章节九 详解java的装箱和拆箱

简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节 什么是装箱?什么是拆箱?代码如何展示? 装箱过程是怎样的?拆箱过程是怎样的? 有问题可加入安卓QQ群: 246231638 装箱和拆箱的概念 简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节: //自动装箱 Integer total = 9999; //自动拆箱 int totalprim = total; 装箱:就是自动将基本数据类型转换为包装器类型: 拆箱:就是自动将包装器类型转换为基本数

JAVA 入坑教程 | 章节八 什么是Number 类?

JAVA 入坑教程 | 章节八 什么是Number 类?为什么需要Number类?怎么使用? 来看下前面提及的基本数据类型,<JAVA 入坑教程 | 章节二 基本数据类型>,再来看一张图片先: 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.所谓的内置数据类型其实就是:byte.int.long.double 等.为了解决这个问题,Java 为每一个内置数据类型提供了对应的包装类. 所有的包装类(Integer.Long.Byte.Double.Float.Short)

JAVA 入坑教程 | 章节一 基础概念

JAVA 章节一 基础概念 学JAVA,首先得知道JAVA是什么,JAVA能做什么事,JAVA有哪些概念和特性,首先我们从JAVA是什么开始入手带大家入坑: 前两篇内容我们提到了,JAVA的一些概念和特性,这篇文章我们来补足剩余的基本概念,当然,每篇文章的概念性东西会根据节奏走,每篇文章不会一次性带入太多的概念. OOP:Object Oriented Programming , 面向对象的程序设计 JAVA  三大特性 JAVA  其它的基础概念 一.OOP思想 首先我们来回顾下历史,OOP的

JAVA 入坑教程 | 章节二 基本数据类型

JAVA 章节二 基本数据类型 目录  Java基本数据类型:两大类 内置数据类型 引用数据类型 Java类型的转换 自动类型转换 强制类型转换 Java的常量 Java基本数据类型 一.内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 数值型--整数类型 byte: byte数据类型是8位.有符号的,以二进制补码表示的整数: 最小值是-128(-2^7): 最大值是127(2^7-1): 默认值是0: byte类型用在大型数组

JAVA 入坑教程 | 章节七 条件分支结构

Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java 有两种分支结构: if 语句 switch 语句 if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的用语法如下:  if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. public class Test { public

JAVA 入坑教程 | 章节五 运算符合集

Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其它运算符 算术运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样.下表列出了所有的算术运算符. 表格中的实例假设整数变量A的值为10,变量B的值为20: 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A

JAVA 入坑教程 | 章节四 修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 例子 public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] arguments) { // 方法体 } 修饰符 当前类 同一包内 子孙类 其他包

JAVA 入坑教程 | 章节三 变量类型

从上篇文章中我们可以知道,java中的数据类型分为基本数据类型和引用数据类型. Java的面向对象的原则是:数据和数据之上的操作要绑定在一起,这就是类,即引用数据类型.因此,类也是一种类型.Java本来可以不设置基本类型,只是为了提高操作效率,才设置了基本类型.基本类型和引用类型的最主要区别是: 基本类型的变量名是变量本身. 引用类型变量的名字是复杂数据的存储地点. 我们知道,Java语言支持的变量类型有三大类: 局部变量 成员变量 类变量(静态变量) 本篇章节其实是从作用域出发,讲解了变量类型