Java 基础知识

来源:互联网 发布:星际战甲腐蚀投射数据 编辑:程序博客网 时间:2024/06/15 12:36

什么是Java

Java可以理解为编程语言或者开发工具。

目的
Java最终的目的是用于编写直接在机器上运行的程序。

对于跨平台的理解
为了让平台对编程人员透明,写出可以在不同平台运行的相同源代码,Java开发了出了JVM(Java虚拟机)。

Java的运行原理

Java源程序经过编译器变异后编程字节码,字节码由虚拟机解释执行,虚拟机将每一条执行的字节码发送给解释器,解释器将其编译成特定机器上的机器码,然后在特定的机器上运行。

JDK

Java开发工具包(Java Development Kit),是一套用户给Java编程人员的开发套件,其中包含了:

  • JRE (Java Runtime Envoirment):Java 运行时环境,其中最重要的部件是 JVM;
  • Java开发工具:编译工具 javac、API生成工具 javadoc……;
  • 核心类库(Java API)

    Path 变量的用途
    系统的全局的路径,我们在任意位置可以访问在Path定义的文件夹(目录)中的可执行程序或者批处理文件,在 Windows 系统中,可以直接执行的文件有 exe/bat。

在Path变量中,可以定义多个文件目录,之间用;号隔开。

配置JDK

  1. 前提条件:需要包含完整 JDK 文件的文件夹。 Java_HOME = d:\xx\xx\jdk1.8
  2. 在 Path中追加目录%JAVA_HOME%\bin
  3. CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;`
    这样就完成了 JDK 的部署。

面向对象编程的初始

类是 Java 中最基础的组成单元。

面向过程编程和面向对象编程

面向过程编程:通过一个函数去完成一件事情,而且这件事情完成之后,不会留下任何的遗迹。或者理解为:一次性。
面向对象编程:在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。

类和对象概念

类是一群对象的特征母版,对象是类的实现。
特征(类)包含的内容有:基本属性(属性)、行为(方法)

基础语言要素

注释

文档注释

/** * 相关的注释内容,甚至可以使用 HTML 标签 *  */

在 javadoc 中也提供了丰富的标记
* @author:指定程序的作者
* @version:指定源代码的版本
* @param:在方法中指定参数
* @return:在方法中指定返回值

单行注释

// 单行注释

多行注释

/* 第一行注释 第二行注释 */

标识符和关键字

标识符包含了 Java 中默认的关键字以及程序员自己定义的类名、方法名、变量名等等。
标识符的命名规范:

  • 只能包含数字、字母(大小写,Unicode字符)、下划线_、美元符$
  • 不能以数字开头

分隔符:

  • 花括号 {}:定义代码块,逻辑上是一个整体,包括类的主体、方法体、静态代码块、条件和循环语句的执行体;
  • 分号 ;:语句的结束,如果出现在一行中有几条语句,那么多条之间也要用 ; 隔开; 方括号[]:用于数组中;
  • 圆括号 () :在方法中声明形式参数,在调用方法的时候传入实际参数,表达式优先级定义;
  • 空格:单个空格、Tab 键、Enter 键,空格的出现是不会影响程序运行的,但是良好的缩进,可以提高程序的可读性;
  • 圆点 . :用于类/对象与其成员之间的分隔,表示调用类/对象的属性或者方法。

在 Java 中,只要看见单词首字母是大写的,那就是类。

数据类型

Java 是一种强数据类型的语言,就是指在变量进行定义的时候,就指定了遍的数据类型是什么。

变量的概念:就是把一堆数据起了个名字。

内存:运行中的程序都会占用内存空间,因为程序在运行过程中,需要开辟包括方法栈区、变量….,广泛的理解,在程序运行结束后内存空间会被释放,但是定义的变量、方法等,都是有「生命周期」的,一旦变量销毁了,内存也是会释放的。

数据类型的分类

基本数据类型

  • 数值型
    • 整数型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方)
    • 浮点型:float(38次方)、double(308次方)
    • char:用单引号表,Java 中使用16位的Unicode 字符集作为编码方法。
    • 表示方式
      • 直接通过单个字符表示:’a’、’9’ 等;
      • 通过转义字符表示:’\t’、’\ n’、’\’;
      • 直接使用Unicode表示:’\uxxxxx’ ;
在 Java 中是没有表现多个字符的基本数据类型的,但是在 Java 中提供了一个 String 类,去表现字符串。
  • 布尔型
    • boolean:表示逻辑中的真和假,值只有 true / false。
      在基本数据中,是可以进行类型之间的强制转换的,但是要注意,如果从低精度的转为高精度时不会有问题,但是从高精度转化为低精度时,可能会出现精度缺失。

变量

变量声明的语法:
数据类型 变量名;
例如:int a;
变量赋值的语法:
变量名 = 值;
例如: a = 10;
两者可以写在一起:
数据类型 变量名 = 值;
例如:int a = 10;
变量的生命周期
变量的生命周期在 {} 定义的范围内。

**

直接量

直接量是指在程序中直接通过源代码的方式指定的值,有时也称为字面量。

在编译的时候,JVM 就定义到常量池中。

比如 int a = 5;这里的 5 就是个直接量。
在 Java 中可以定义的直接量包含:基本数据类型、字符串类型,null。

关于 String 类的特殊说明
String 类是一个不可改变类,意思就是在 String 对象被创建出来后就不能被改变了。当程序第一次使用某个字符串直接量时,Java 会使用常量池来缓存该字符串直接量。如果后面程序用到了这个字符串直接量,Java 会直接引用常量池字符串。
在常量池中不会存在两个一样的字符串字面量值。

运算符

算术运算符

 + - * / % ++ --

赋值运算符

= += -= /= *= %=

比较运算符

用于判断两个变量或者常量的大小,返回结果为ture/false。

> >= < <= == !=

左右两边的操作数只能是数值。

逻辑运算符

运算符两边必须是 boolean 类型的变量、常量、表达式
&&||
与:只要有一个假就是假
或:只要有一个真就是真

三目运算符

语法格式:expression ? if-true-statement : if-false-statement

流程控制

  • 顺序结构
  • 判断(分支选择)结构
  • 循环结构

顺序结构

程序是一个自上而下运行的过程。

分支选择结构

Java 中的分支选择结构有 if 结构,switch 结构
if 结构

  • 形式一:
 if (logic expression) {    statement;}
  • 形式二:
if (logic expression) {    statement;} else {    statement;}
  • 形式三:
if (logic expression) {    statement;} else if (logic expression) {    statement;} else {    statement;}

switch 结构

switch (expression) {    case condition1 : {        statement;        break;    }    case condition2 : {        statement;        break;    }    default : {        statement;        break;    }}

在 case 中要加入 break 关键字跳出;

循环结构

while 结构

(init_statement);while (test_expression) {    body_statement;    [iteration_statement];}

do-while 结构

(init_statement);do {    body_statement;    [iteration_statement];} while (test_expression)

无论如何都会执行一次循环体内容

原创粉丝点击