目录
向Java打个招呼
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World!");
}
}
喜闻乐见的Hello World!。
标识符和关键字
1.标识符
标识符是用来标识变量、常量、方法、类、对象等元素有效的字符序列。Java语言规定标识符由字母、下划线、美元符号和数字等组成。例如name,s_noo,$jio,boy_numbers
都是合法的标识符。
标识符的长度不限,但是在实际命名时不宜过长,同时在Java中标识符是区别大小写的,例如money
和Money
就是不同的标识符。
在Java程序设计中,对标识符通常还有以下规定:
1.变量名、对象名、方法名、包名的标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后的单词的首字母大写,非首字母小写,例如:getOffer
。
2.类名的首字母要大写。
3.常量名全部字母大写。
2.关键字
关键字是指由Java语言定义的、具有特殊含义的字符序列,每一个关键字都有一种特定的含义,不能将关键字作为普通的标识符来使用。Java中的关键字如下图所示:
数据类型与常量变量
1.数据类型的分类
数据是描述客观事物的数字、字母以及能输入计算机并能够被计算机处理的符号。数据时计算机程序处理的对象。在Java中数据类型分为两大类:基本数据类型和引用数据类型。
基本数据类型是由一种简单的数据组成的数据类型,其数据是不可分解的,可以直接参与该类型所允许的计算。基本数据类型已由Java语言预定义,类型名是关键字,如int,float,char和boolean
等。
引用数据类型指的是数组、接口以及后面要提到的类的概念。
在Java中,基本数据类型的变量中保存数据值,而引用数据类型的变量中保存地址。
2.基本数据类型
整数类型
整数类型的数据值有负整数、零和正整数。在Java中这些整数又被细分为4种类型:
- long(长整型)
占8个字节,取值范围是[-2^63, 2^63-1]。 - int(整型)
占4个字节,取值范围是[-2^31, 2^31-1]。 - short(短整型)
占2个字节,取值范围是[-2^15, 2^15-1]。 - byte(字节型)
占1个字节,取值范围是[-2^7, 2^7-1]。
在Java中一个整数的默认类型是int
。同时Java也提供了十进制、八进制和十六进制数的整数表示形式。
浮点数类型
浮点数类型表示数学中的实数,即带小数点的数。Java中有两种浮点数类型:
- float(单精度浮点数)
占4个字节,取值范围是[-3.4E38, 3.4E38]。 - double(双精度浮点数)
占8个字节,取值范围是[-1.7E308,1.7E308]。
在Java中一个浮点数的默认类型是double
。
字符类型
字符类型(char)表示Unicode字符,一个字符占16位。字符类型数据有2种表示方法:
- char(单个字符)
用单引号括起来表示单个字符,例如'A'
或'a'
。 - String(字符串)
用双引号将由多个字符组成的字符串来表示,如"lzy"
。
布尔类型
布尔类型(boolean)表示逻辑量,也称逻辑类型。布尔类型只有true(真)和false(假)两个值。
3.常量
常量是指在程序运行中其指始终保持不变的量,整型、浮点数型、字符型、布尔型和字符串型都可以是常量,这样类型的常量称为直接常量。
在Java中,常量除了使用直接常量方式表示外,还可以用标识符表示常量,称为符号常量。符号常量有4个基本要素:名称、类型、值和使用范围。符号常量必须先声明后使用。符号常量的声明方式是:final [修饰符] 类型标识符 常量名 = (直接)常量
,举例来说:
final float PI = 3.1415926;
final char SEX = 'M';
final int MAX = 2500;
4.变量
变量指的是在程序中可以改变其值的量,变量的名称是用户定义的标识符。变量可以是基本数据类型,也可以是引用数据类型。变量必须先声明,后使用,变量的声明方式是:[修饰符] 类型标识符 变量名 = 常量
,举例来说:
float a = 28.6;
int b = 22;
double c = 3.14;
char d = 'd';
boolean e = true;
运算符和表达式
1.运算符
算术运算符
算术运算符要完成数学上的加、减、乘、除四则运算。算数运算符包括双目运算符和单目运算符。其中双目运算符包括+、-、*、/、%
。单目运算符包括++、--、-(负号)
。
关系运算符
关系运算符是两个操作数之间的比较运算。关系运算符有6种:>、<、>=、<=、==、!=
。这6种关系运算符都可用于整数、浮点数以及字符类的操作数,==
和!=
还可以用于布尔类型以及字符串类型的操作数。
关系运算符的运算结果是布尔类型值。如果关系成立,结果值为true;否则,结果的值为false。
逻辑运算符
逻辑运算是对布尔类型操作数进行的运算,运算的结果仍然是布尔类型的值。逻辑运算符有3个:&&(与)、||(或)、!(非)
。例如:
!true; //结果是false
true&&false; //结果是false
true||false; //结果是true
条件运算符
条件运算的格式是:表达式1 ? 表达式2 :表达式3
,其中?
称为条件运算符。条件运算符根据表达式1
的值来决定最终表达式的值是表达式2
的值还是表达式3
的值。例如:
int min,x=4,y=8;
min=(x<y) ? x:y; //结果是min=4
括号运算符
括号运算符( )
用来改变表达式中运算符的运算次序。即先进行括号内的运算,再进行括号外的运算。
2.表达式
表达式是用运算符将操作数连接起来的符合语法规则的运算式,表达式的数据类型由运算结果的数据类型决定。根据表达式的数据类型,表达式分为3类:算术表达式、布尔表达式和字符串表达式。表达式的操作数可以是常量、变量以及方法的调用。例如:
int i=5,j=11,k;
boolean f;
k=(24+5*i)*j; //算术表达式
f=(i*2)>j; //布尔表达式
运算符优先级
当表达式中有多个运算符参与到运算时,必须为每种运算符规定一个优先级来决定运算符在表达式中的运算次序。优先级高的先运算,优先级低的后运算,优先级相同的有结合性来确定顺序。
数据类型的转换
当一种数据类型的值赋给另一个数据类型的变量时,出现了数据类型的转换。在整数类型和浮点数类型中,可以将数据类型按照精度从“低”到“高”排列如下:
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
在赋值运算中,数据类型的转换规则如下:
(1)当低级别的值赋给高级别的变量时,系统自动完成数据类型的转换。例如:
float a = 200; //自动换为浮点型
int i = 52;
float j;
j = i; //自动转换
(2)当高级别的值赋给低级别的变量时,必须要进行强制转换。例如:
int i;
i = (int)26L;
注意转换过程中可能导致溢出或损失精度,例如:
int i = 128;
byte b = (byte)i; //溢出
(int)23.7 == 23;
(int)-45.89f == -45; //损失精度