Java 基础语法教程笔记

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

类:类是一个模板,它描述一类对象的行为和状态。

方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

创一个小群,供大家学习交流聊天

如果有对学JAVA方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀。

也希望大家对学JAVA能够持之以恒

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),美元符($)、或者下划线(_)开始

首字符之后可以是字母(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保留字。这些保留字不能用于常量、变量、和任何标识符的名称。

关键字描述

abstract抽象方法,抽象类的修饰符

assert断言条件是否满足

boolean布尔数据类型

break跳出循环或者label代码段

byte8-bit 有符号数据类型

caseswitch语句的一个条件

catch和try搭配扑捉异常信息

char16-bit Unicode字符数据类型

class定义类

const未使用

continue不执行循环体剩余部分

defaultswitch语句中的默认分支

do循环语句,循环体至少会执行一次

double64-bit双精度浮点数

elseif条件不成立时执行的分支

enum枚举类型

extends表示一个类是另一个类的子类

final表示一个值在初始化之后就不能再改变了

表示方法不能被重写,或者一个类不能有子类

finally为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。

float32-bit单精度浮点数

forfor循环语句

goto未使用

if条件语句

implements表示一个类实现了接口

import导入类

instanceof测试一个对象是否是某个类的实例

int32位整型数

interface接口,一种抽象的类型,仅有方法和常量的定义

long64位整型数

native表示方法用非java代码实现

new分配新的类实例

package一系列相关类组成一个包

private表示私有字段,或者方法等,只能从类内部访问

protected表示字段只能通过类或者其子类访问

子类或者在同一个包内的其他类

public表示共有属性或者方法

return方法返回值

short16位数字

static表示在类级别定义,所有实例共享的

strictfp浮点数比较使用严格的规则

super表示基类

switch选择语句

synchronized表示同一时间只能由一个线程访问的代码块

this表示调用当前实例

或者调用另一个构造函数

throw抛出异常

throws定义方法可能抛出的异常

transient修饰不要序列化的字段

try表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码

void标记方法不返回任何值

volatile标记字段可能会被多个线程同时访问,而不做同步

whilewhile循环

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 源程序与编译型运行区别

如下图所示:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容

  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,590评论 4 12
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,580评论 1 114
  • 有检视的人生更加精彩! 本周践行回复,我的情况基本正常,在逐步恢复中……冰山/冥想完成周目标,健走完成80%,练琴...
    taotaojessie阅读 151评论 0 0
  • 问题一:双肩不在同一水平线上,一高一低,一前一后。 原因:肩关节紧张,脊柱灵活性不够,未能启动腰腹部力量,背部力量...
    王小七七七阅读 251评论 0 0
  • 01我的家乡 江苏高邮,在京杭大运河的下面。 作品里总有水的影子,大概是生长在水乡的缘故。 02我的家 是个大家族...
    今夕_阅读 176评论 0 2