Java基础知识点(二)—— 从HelloWorld开始

  • Post author:
  • Post category:java


需要整明白的几个关键字


  • 对象

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



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

  • 方法

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

  • 实例变量

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

第一个Java程序

下面将逐步介绍如何保存、编译以及运行这个程序:

public class HelloWorld{
    public static void main(String[] args){
		System.out.println("Hello World!");
	}
}
  • 打开Notepad++,把上面的代码添加进去;(PS:可以设置NotePad++语言为Java,这样关键字就会有颜色)

  • 把文件名保存为:HelloWorld.java;
  • 鼠标右击文件,点击“打开所在文件夹(命令行)”

  • 在命令行窗口键入 javac HelloWorld.java  按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。
  • 再键入java HelloWorld按下Enter键就可以运行程序了

JAVA程序运行机制分析

计算机的高级编程语言类型包括编译型、解释型,Java 语言是两种类型的结合。

第一步:编译

利用编译器(javac)将源程序编译成字节码文件,字节码文件名是源文件名.class。

第二部:运行

利用虚拟机(解释器,java)解释执行class字节码文件。

Java运行环境的三项主要功能:

加载代码:由class loader 完成;

校验代码:由bytecode verifier 完成;

执行代码:由 runtime interpreter完成。

20151027230228_800.png

基本语法规则

编写Java程序时,应注意以下几点:


  • 大小写敏感

    :Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

  • 类名

    :对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么我们采用“驼峰命名法”,即每个单词的首字母应该大写,例如 HelloWorld。

  • 方法名

    :所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词采用“驼峰命名法”。

  • 源文件名

    :源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记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中的关键字和保留字。这些关键字和保留字不能用于任何标识符的名称。PS:保留字就是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修饰符(后面章节一一讲解)

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

  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, static,synchronized 和 volatile

Java变量

Java变量是程序中最基本的存储单元,其要素包括变量类型、变量名和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,

Java中主要有如下几种类型的变量

  • 局部变量:定义在方法或语句块内部的变量,其生命周期是从声明位置开始到”}”为止,在使用前必须先声明和初始化(赋初值)。
  • 类变量(静态变量):用static修饰的变量,从属于类,生命周期伴随类的始终。
  • 成员变量(实例变量):定义在类中(方法外)的变量,从属于对象,生命周期伴随对象始终。

PS:如果我们在定义

成员变量

的时候不自行初始化,系统会为成员变量赋默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false,引用类型默认是null)

public class HelloWorld {
    int a = 110;//成员变量
    private static final int b = 119;//类变量(静态变量)

    public static void main(String[] args) {
        int a = 996;//局部变量
        System.out.println("a ==" + new HelloWorld().a);
        System.out.println("a ==" + a);
        test();
    }

    private static void test() {
        System.out.println("b ==" + b);
    }
}

常量

顾名思义,常量就是初始化后值不能再改变的量,用


final


关键字修饰。 常量命名规范:大写字母和下划线,eg.MAX_VALUE

Java注释

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

/**
 * 这是文档注释
 */
public class HelloWorld {
    /*
     * 这是多行注释
     */
    public static void main(String[] args) {
        //这是单行注释
        System.out.println("Hello world!");
    }
}

对HelloWorld的分析

  • 关键字

    public

    是访问修饰符,

    用于控制其他代码对该代码的访问权限级别。

    Java中共用四种访问修饰符,如下表所示:

访问权限





子类

其他包

备注说明

public









可被任何Java程序访问

protect







×

可被同包内程序及其子类访问

default





×

×

可被同包内程序访问

private



×

×

×

只能在同一个类中调用,即自己调用自己的方法和属性
  • class关键字用于声明类,类是Java程序的基本单元,全部内容都包含于类中,Java是一种纯面向对象的语言。



注意:一个源文件中最多只能有一个被 public修饰的类(当然也可以一个也没有),且该类的类名必须和源文件名相同,且以“.java”作为扩展名。其他类的个数没有限制,所以你会发现一个源文件编译之后可以生成多个class文件。



举个栗子:

/**
 * 这是文档注释
 */
class HelloWorld {
    /*
     * 这是多行注释
     */
    public static void main(String[] args) {
        //这是单行注释
        System.out.println("Hello world!");
    }
}

class A{}
class B{}

编译之后生成三个class文件:

  • main方法是Java应用程序的入口方法,它有固定的书写格式:

    public static void main(String[]  args) {…}
  • 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制(IDE有代码格式化快捷键,比如IDEA,按Ctrl+Alt+L键即可让你的代码风格瞬间上档次>_<)。
  • Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。

常用的Dos命令

  • cd   进入一个目录
  • cd ..
  • dir
  • 上下键:查找敲过的命令
  • Tab键:自动补齐命令

字符集

JAVA不采用通常语言使用的ASCII(American Standard Code for Information Interchange,美国信息互换标准编码)字符集,而是采用unicode(Universal Multiple-Octet Coded Character Set 通用多八位编码字符集)这样的标准的国际字符集。

各种字符集的关系?

20151028112516_853.png

小提示



关于字符集



Dos命令



版权声明:本文为qq_35101450原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。