1. Java程序的构成
Java源程序由两部分构成:程序头包的引用和类的定义。
1) 程序头包
程序头包的引用主要是指JDK软件包,如java.util包等;也可以是自己定义的类。要使用JDK包头的类和方法,需要导入相应的包头:import + 包名
2)类的定义
Java源程序可以有多个类的定义,但是必须有一个主类--main类(包含main方法的类),该类是程序的运行的入口地址。
Java源程序中,主类的名字与文件名一致。
- 类的定义由类头声明和类体定义组成。类体包括属性声明和方法描述。
举个类的例子:
import java.util.*; //导入Java包 import java.awt.* public class Hello //主类类头 { //类属性 public String name; public int id; //main方法 public static void main(String[] args){ System.out.println("Hello World!"); } }
关于Java的书写方式:
- 1)Java语句以;结尾,跟C/C++一样。
- 2)用花括号{}来整合语句,分为不同的程序块,以分辨类的开始与结束
2.标识符、关键字和转移符
标识符
- A. 标识符由字母、数字、下划线(_)、美元符号$组成
- B. 标识符由字母、下划线或美元符号开始。
- C. Java对字母的大小写敏感,注意区分。
- D. 标识符没有长度限制,最好根据语义命名。
- E. 标识符不能是关键字。
注意:不要用美元符号$,命名标示符。习惯上,字符$$只用在机器自动生成的源代码中。
另外,如果一个名字有多个词组成,那么将所有词连起来,除了第一个词以外,其他词首字母大写,例如radius和interRate
关键字
关键字即保留字,是指Java自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。
转义符
转义符的指一些特殊含义的,很难用一般方式表达的字符,如回车、换行等。所有转义符都是以 \ 开头,后面跟着一个字符表示其特定的转义符。
符号 | 含义 | Unicode |
\b | 退格 | \u0008 |
\t | 水平制表符 | \u0009 |
\n | 换行 | \u000A |
\f | 表格符 | \u000C |
\r | 回车 | \u000D |
\' | 单引号 | \u005C |
\\ | 反斜线 | \u0022 |
\'' | 双引号 | u0027 |
3.变量
Java语言中的变量类型:
类型 | 存储大小 | 例子 | 注释 | 范围 |
byte | 1 byte | 3 | 字节 | -128 ~ 127 |
int | 4 bytes | 3 | 整数 | -2-31 ~ 231 - 1 |
short | 2 bytes | 3 | 短整数 | -2-15 ~ 215 - 1 |
long | 8 bytes | 3 | 长整数 | -263 ~ 263 - 1 |
float | 4 bytes | 1.2 | 单精度浮点数 |
负数范围:-3.4028235E+38~-1.4E-45 正数范围:1.4E-45~3.4028235E+38 |
double | 8 bytes | 1.2 | 双精度浮点数 | 负数:-1.7976931348623157E+308~-4.9E-324 正数:4.9E-324 ~ 1.7976931348623157E+308 |
char | 2 bytes | 'a' | 字符 | 0~65535 |
boolean | 1 bit | true | 布尔值 |
在Java中,变量要先声明才能使用。声明是指说明变量的类型:
- 1) 类型名 变量名 例如 int a
赋值语句是给声明的变量赋值:a = 5;
- 2) java 中的常量:
常量必须在同一条语句中声明和赋值,单词final是声明常量的关键字。
final datatype CONSTANTNAME = VALUE; final double PI = 3.14159;
4. 数组
数组的声明与创建
数组array用来存储一个元素固定且元素类型相同的的有序集。
- 声明数组变量:
elementType[] arrayRefVar; (元素类型 [] 数组引用变量;) double[] myList;
- 另外也可以使用C语言格式的数组定义:
elementType arrayRefVar []; (元素类型 数组引用变量 [];)
- 创建数组变量:
arrayList = new elementType[arraySize]
- 声明并创建一个数组:
elementType arrayList = new elementType[arraySizze] //元素类型[]数组名 = new 元素类型 [数组大小] elementType arrayList[] = new elementType[arraySize] //元素类型 数组名[] = new 元素类型 [数组大小]
例子:
double[] myList = new double[10]; double myList[] = new double[10];
数组的初始化
- 可以将声明、创建与初始化语句结合在一起:
elementType[] arrayList = {value0, value1, value2,...,valuek}; int[] myArray = new int[] {1,3,5,7,9}; double [] myList = {1.9, 2.3, 4.5, 5.6, 6.8};
注意:数组下标从0开始
二维数组
- 二维数组:
-
数据类型[][] 数组名 int [][] matrix = new int[5][5]; 上述语句创建一个5*5的int型的int型的二维数组,并将其赋值给matrix int[][] arrayList = {{1,2,3},{4,5,6},{7,8,9}};
数组小结
- 1) 与基本数据类型变量的声明不同,声明数组变量并不会给数组分配任何空间。数组变量不是基本数据类型变量。数组变量包含的是对数组的引用。
- 2) 只有创建了数组后才能给数组元素赋值。可以使用new操作符创建数组: new elemenrType [arraySize] (数据类型[数组大小])。
- 3) 创建数组后,不能改变数组的大小,使用arrayRefValue.length可以得到数组的长度。数组下标从0开始,数组元素可以通过下标访问。
- 4) 创建一个数组时,如果是基本的数据类型,则默认值为0。如果是字符类型,则默认为'\u0000'。如果是boolean类型,默认是false。
- 5) 数组初始化语法:
元素类型 [] 数组引用变量 = {value1, value2, ...., valuek}
-
6) 数组作为参数传递时,传递的是数组的引用;被调用的方法可以修改调用者的原始数组元素。
- 7) 二维数组中锯齿数组的定义:new elementType [size][]; (指定第一个下标)
字符数据类型与字符串
字符
- 1) 字符数据类型char用来表示单个字符。字符变量直接用单引号括住:
char letter = 'A'; char numChar = 4;
- 2) 字符型char数据与数值型数据之间的转换:char型数据可以转换成任意一种类型数据,反之亦然。将一个整数转换成char型数据时,只保留该数据的低16位,其余部分被忽略。
char ch = (char)0XAB0041; //the lower 16bits hex code 0041 is assigned to ch System.out.println(ch); //输出A char c = (char)65.25; // 65被赋值给c; System.out.println(c); //输出A; int a = (int)'A'; //the unicode of A is assigned to a; System.out.println(a); //输出65
String类型
- 1. 字符串类型:
String message = “hello world”
- 2. String 类型跟System类、Scanner 类一样,是java库中预定义的类。