什么是Java
Java是编程语言,也开发工具。目的在于编写可以直接在机器上运行的程序。
Java的运行原理
Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
详情如下图(注意:不同的操作系统是有着不同的虚拟机的!)
面向对象初识
类是 Java 中最基础的组成单元
类是一群对象的特征母版,对象是类的实现。
特征(类)包含的内容有:基本属性(属性)、行为(方法)
基础语言要素
- 注释
代码注释是编程中非常重要的环节,注释是不会被程序执行的。
单行注释 //
多行注释/* … */
文档注释(可以通过Javadoc命令生成API文档)
/**
*
*
*/ 标识符
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。
标识符包含了 Java 中默认的关键字以及程序员自己定义的类名、方法名、变量名等等。
标识符的命名规范:
a. 只能包含数字、字母(大小写,Unicode字符)、下划线 _、美元符$
b. 不能以数字开头
c. 大小写敏感
分隔符:
花括号 {}:定义代码块,逻辑上是一个整体,包括类的主体、方法体、静态代码块、条件和循环语句的执行体;
分号 ;:语句的结束,如果出现在一行中有几条语句,那么多条之间也要用 ; 隔开;
方括号[]:用于数组中;
圆括号 () :在方法中声明形式参数,在调用方法的时候传入实际参数,表达式优先级定义;
空格:单个空格、Tab 键、Enter 键,空格的出现是不会影响程序运行的,但是良好的缩进,可以提高程序的可读性;
圆点 . :用于类/对象与其成员之间的分隔,表示调用类/对象的属性或者方法。在 Java 中,只要看见单词首字母是大写的,那就是类
数据类型
Java 是一种强数据类型的语言,就是指在变量进行定义的时候,就指定了变量的数据类型是什么。变量的概念:把一堆数据起了个名字。
数据类型其实就是在内存中用不同的结构对数据进行存储和运算。
内存:运行中的程序都会占用内存空间,因为程序在运行过程中,需要开辟包括方法栈区、变量….,广泛的理解,在程序运行结束后内存空间会被释放,但是定义的变量、方法等,都是有「生命周期」的,一旦变量销毁了,内存也是会释放的。
在 Java 中,有垃圾自动回收机制 GC数值类型
A. 数值型- 整数型:byte short int long
- 浮点型:float double
B. 字符型
- char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式,
- 表示方式:
直接通过单个字符表示:’a’、‘9’ 等;
通过转义字符表示:’\t’、’\n’、’、r’、’\’;
直接使用 unicode 表示:’\uxxxx’。
c. 布尔型
- boolean:表示逻辑中的真和假,值只有 true / false。
1.在基本数据中,是可以进行类型之间的强制转化的,但是要注意,如果从低精度的转化为高精度时不会有问题,但是从高精度转化为低精度时,可能出现精度确实。
2.当把任何基本数据和字符串,进行连接运算的时候,基本数据类型将自动转换为字符串类型。
变量
变量就是给一堆数据起名字
Java 在声明编程时候,必须准确定义变量的数据类型。
变量的生命周期在 {} 定义的范围内。
直接量
直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。
在编译的时候,JVM 就定义到常量池中。
比如 int a = 5; 这里的 5 就是一个直接量。
在 Java 中可以定义的直接量包含:基本数据类型、字符串类型、null。
关于 String 类的特殊说明
String 类是一个不可改变类,意思就是在String 对象被创建出来后就不能被改变了。当程序第一次使用某个字符串直接量时,Java 会使用常量池来缓存该字符串直接量。如果后面程序用到了这个字符串直接量,Java 会直接引用常量池字符串。
在常量池中不会存在两个一样的字符串字面量值。
运算符
算数运算符
+ - * / % ++ - -
赋值运算符
= += -= \= *= %=
比较运算符
> < <= >= == !=
逻辑运算符
与 && 或者 || 非 !
与:只要有一个假就是假
或者:只要有一个真就是真三目运算符
expression ? if-true-statement : if-false-statement