Java 概述
该文章适合 Java 新手或者小白,需要掌握的知识点,是 Java 基础的汇总,在这里详细介绍了 Java 基础各个部分的知识点,如 Java 的基本数据类型、面向 对象的三大特性和面向对象的属性,方法,代码块,内部类,构造器等知识点。仔细地学习和掌握这篇文章,保证关于 Java 基础部分的面试和学习轻松过关。
什么是程序
程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
Java 重要特点
- Java 语言是面向对象的
- Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等,是 Java 程序健壮性的重要保证。
- Java 语言是跨平台性的,即一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台
- Java 语言是解释性的
Java 核心机制 - Java 虚拟机 JVM
- JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中
- 对于不同的平台,有不同的虚拟机
- Java 虚拟机机制屏蔽了底层运行平台的差别,实现了"一次编译,到处运行"。
什么是 JDK,JRE
JRE = JVM + Java SE 标准类库
JDK = JRE + 开发工具集(例如 Javac.java 编译工具等)
Java 转义字符
\t : 一个制表位,实现对齐功能
\n : 换行符
\\ : 一个\
\" : 一个"
\' : 一个'
\r : 一个回车Java 中的注释类型
- 单行注释:
// something - 多行注释:
/* something */ - 文档注释:
/** something */
DOS 命令
cd, dir, tree, md, rd, cls, copy, del, echo, move, type (这些都是常用的)
路径:
- 相对路径:从当前目录开始定位,形成的一个路径
- 绝对路径:从顶级目录 d,开始定位,形成的路径
变量
变量概念
变量相当于内存中一个数据存储空间的表示,你可以把变量看做一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量。
- 变量使用注意事项
- 变量表示内存中的一个存储区域。不同的变量,类型不同,占用的空间大小不同。
- 该区域有自己的名称(变量名)和类型(数据类型)
- 变量必须先声明,再使用
- 该区域的数据可以在同一类型范围内不断变化
- 变量在同一作用域内不能重名
- 变量=变量名+值+数据类型
标识符
标识符的命名规则和规范
- Java 对各种变量,方法和类德国命名时使用的字符序列称为标识符,凡是自己可以起名字的地方都叫标识符。命名规则必须遵守,命名规范看起来更加专业。
命名规则
- 由 26 个英文字母,
0~9,$组成;数字不可以开头;不可以使用关键字和保留字,但能包含关键字和保留字;Java 中严格区分大小写,长度无限制;标识符不能包含空格。
命名规范
- 包名:对单词组成时所有字母都小写,xxxyyyzzz;
- 类名、接口名:多单词组成时,所有单词的首字母大写,XxxYyyZxx;
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,xxxYyyZzz;
- 常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
关键字
- 定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串,关键字中所有字母都为小写
- 举些列子:
- 用于定义数据类型的关键字
class, interface, enum, byte, short, int, long, float, double, char, boolean, void
- 用于定义数据类型值的关键字
true, false, null
- 用于定义流程控制的关键字
if, else, switch, case, default, while, do, for, break, continue, return
- 用于定义数据类型的关键字
保留字
- Java 保留字,现有 Java 版本尚未使用,但以后版本可能会作为关键字使用。
- 自己命名标识符时要避免使用这些保留字,如 byValue, cast, future, generic, inner, operator, outer, rest, var, goto, const
键盘输入语句
- 在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java 需要一个扫描器,就是 Scanner。System.in 是标准输入,指的是位置(键盘)。
进制
- 对于整数由四种表示方式:二进制(以 0b / 0B 开头),八进制(以 0 开头),十进制,十六进制(以 0x/0X 开头)
二进制
- 现代的计算机技术全部采用的是二进制,因为它只使用 0、1 两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制数用 0 和 1 两个数字及其组合来表示任何数。进位规则是"逢 2 进 1",数字 1 在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
原码、反码、补码(重点,难点) 对于有符号的而言
- 二进制的最高位是符号位,0 表示正数,1 表示负数;
- 正数的原码,反码,补码都一样;
- 负数的反码=它的原码符号位不变,其它位取反;
- 负数的补码=它的反码+1,负数的反码=负数的补码-1;
- 0 的反码,补码都是 0
- java 没有无符号数,换而言之,java 中的数都是有符号的。
- 在计算机运算的时候,都是以补码的方式来运算的
- 当我们看运算结果的时候,要看他的原码(重点)
数据类型
基本数据类型
数值型(基本数据类型)
- 整数类型,存放整数 byte[1],short[2],int[4],long[8]
- 浮点(小数)类型 float[4],double[8]
- 字符型 char[2],存放字符
- 布尔型 boolean[1 bit] 存放 true,false
引用数据类型
- 类 class
- 接口 interface
- 数组[ ]
基本数据类型转换
自动类型转换(数据类型按 精度/容量 大小顺序自动转换)
char --> int --> long --> float --> double
byte --> short --> int --> long --> float --> double强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符,但可能造成精度降低或溢出,要格外注意。 细节说明:
- 当数据要从大的数据类型转换到小的,就需要强制转换
- 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
- char 类型可以保存 int 的常量值,但不能保存 int 的变量值,需要强转
- byte 和 short,char 类型 在进行运算时,当做 int 类型处理。
基本数据类型和 String 类型的转换
- 基本类型转 String 类型:将基本类型的值+"",String a = (int)b + "";
- String 类型转基本数据类型通过基本类型的包装类调用相应的方法,int a = Integer.parseInt((String)b);
- {类似的 Double.parseDouble(), Float.parseFloat(), Short.parseShort() Long.parseLong(), Boolean.parseBoolean(), Byte.parseByte()}字符编码表
ASCll,Unicode,utf-8,gbk,gb2312,big5码
