计算机程序设计的本质就是将现实生活中遇到的问题抽象后利用计算机语言转化为机器能够理解的层次,最终用机器来寻找问题的解,这涉及到程序设计思想(如何将问题抽象)和程序设计语言(如何转为机器能够理解的语言)。程序是在某一个抽象层次上对计算的表示。从机器语言到汇编语言,再到结构化的高级语言,到目前广泛使用的面向对象语言,反映的就是一条抽象机制不断提高的演化道路。
Java由于在面向对象、安全性、平台无关、多线程、内存管理、丰富的类库等方面的卓越优点而成为了目前应用最为广泛的程序设计语言之一。
Java的平台无关性
Java程序编译执行的过程分为两个阶段:(1)将源文件(.java)编译成字节码文件,也叫类文件(.class),然后由解释器负责解释执行类文件。
$ javac <fileName>.java //编译生成字节码文件,后缀.class
$ java <fileName> //运行程序
程序的运行都需要一定的软硬件环境,这个环境就是程序运行的平台,大部分平台都是操作系统和硬件的集合,而Java则不同,它的平台包括Java应用程序接口(API)和Java虚拟机(JVM),正是平台的不同保证了Java的平台无关性。

JVM相当于一个翻译机,它是硬件相关的,根据不同的OS和硬件环境进行设计,只要为每个机器都安装了正确可用的JVM,那么在其上进行程序的编写就不需要考虑硬件环境。java是生成中间代码:字节码,这个字节码是统一的,然后再把这个字节码丢给机器上的虚拟机跑,只要虚拟机能吻合机器,那字节码就能运行。
总结起来就是:一次编译,到处运行。.class文件就是可以到处运行的文件,JVM负责将字节码转为对应的机器代码。
常量和变量
- 标识符
Java的合法标识符由字母、数字、下划线_、美元符号$构成,其中有一部分为保留字(关键字),用户不能使用,如class、extends等等。需要注意的是:数字不能作为标识符的开头。 - 常量
常量用final关键字修饰,一旦初始化后不能再改变。
final int PRICE=30;
final double PI=3.141592654;
- 变量
变量具有类型和作用域,值可以改变。
int num=0,flag;
double p,r,q;
基本数据类型和类型转换
Java的基本数据类型(共8种)分为数值型、布尔型(boolean,只有true和false)、字符型(char,Unicode字符集),其中数值型包括:byte(8位)、short(16位)、int(32位)、long(64位)、float(32位)、double(64位)。
默认情况下,整数是int型,后面加L变为长整型;浮点数是双精度,后面加F变为单精度。Java同样提供转义字符,以反斜杠(\)开头,如\n、\t、\r等等。
Java有四种类型装换:赋值转换、方法调用转换、强制类型转换、字符串转换。
String s="hello"+5;
int a=37;
double b=(double)a;
表达式和运算符
Java的运算符有:算术运算符(+、-、*、/、%、++、–),赋值运算符(=、+=、&=等),关系运算符(>、<、>=、<=、==、!=),逻辑运算符(&&、||、!),位运算符(~、&、|、^、<<、>>),条件运算符(? :)。
Java的表达式有一系列变量、运算符和方法调用而成,用于计算、变量赋值、以及作为程序控制条件。
三种控制结构
Java程序同样有三种控制结构组成,分别是顺序结构、分支选择、循环结构,任何程序都由这三种结构构成。
- if选择结构:
if···else if···else···
- switch选择结构:
switch() case value:···break; default:···break;
- for循环、while循环和do-while循环:break和continue语句的使用。
数组的创建和使用
- 一维数组
int[] intArray; //或者int intArray[]; 数组的声明
intArray = new int[8]; //数组的创建
String[] a = new String[3],b = new String[5]; //创建多个数组
int[] intArray2 = {22,33,44,55}; //数组初始化
intArray2[1]=34; //数组使用
int len = intArray2.length; //数组的长度
- 多维数组
多维数组就是数组的数组,即多维数组的每一个元素为一个低维数组。
int[][] intArray1,intArray2; //数组声明
intArray = new int[4][5]; //创建二维数组
intArray2 = new int[2][]; //多维数组的每一维长度可以不同
intArray2[0] = new int[5]; //为0行创建5列
intArray2[1] = new int[8]; //为1行创建8列
intArray2[][0][15]=20; //数组的使用
总结
本文主要记录了Java学习过程中的一些重要的知识点,包括了java语言的特性和java基础知识,后续继续介绍java语言的面向对象思想及其他方面的编程知识。