Java语言是面向对象语言,Java程序的基本组成单位是类,类体又包括属性与方法两部分。每一个应用程序都必须包含一个main( )方法,含有main( )方法的类称为主类。
在Eclipse下依此创建项目item、包Number和类Frist。在类体中输入以下代码,实现在控制台输出“你好 java”。
1.包声明
一个Java应用程序是由若干个类组成的。上面的代码就是一个类名为Frist的类,语句package Number为声明该类所在的包,package为包的关键字。
2.声明成员变量和局部变量
通常将类的属性称为类的全局变量(成员变量),将方法中的属性称为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。上面代码中s1是成员变量,s2是局部变量。
3.编写主方法
main( )方法是类体中的主方法。该方法从“ { ” 开始,至 “ } ”结束。public、static和void分别是main( )方法的权限修饰符、静态修饰符和返回值修饰符,java程序中的main( )方法必须声明为public static void。String[]args是一个字符串类型的数组,它是main( )方法的参数。main( )方法是程序开始执行的位置。
基本数据类型:
一、整数类型
整数类型简称整型,用来存储整数数值,即没有小数部分的数值。可以是正整数,也可以是负数。整型数据根据它所占内存大小的不同,可分为byte、short、int和long 4种类型。它们具有不同的取值范围。
整型数据类型
数据类型 内存空间(8位等于1字节) 取值范围
byte 8位 -128~127
short 16位 -32768~32767
int 32位 -2147483648~2147483647
long 64位 -9223372036854775808~9223372036854775807
1.int型
定义int变量有以下四种语法:
int x; //定义int型变量x
int x,y; //同时定义int型变量x,y;
int x = 10,y = -5; //同时定义int型变量x,y;并赋予初值
int x =5 + 23; //定义int型变量x,并赋予公式(5+3)计算结果的初值
2.byte型
byte型的定义方式与int相同。定义int型变量,代码如下:
-
byte a;
-
byte a,b,c;
-
byte a=19,b=-45;
3.short型
short型的定义方式与int相同。定义short型变量,代码如下:
-
short s;
-
short s,t,r;
-
short s = 1000,t = -19;
-
short s = 20000/10;
4.long型
由于long的取值范围比int型大,且属于高精度数据类型,所以在赋值时要和int型做出区分,需要在整数后面加上 L 或者 l (小写的 L)。定义long类型变量,代码如下:
long number;
long number,run;
long number = 12345678L,run = -987654321L;
long number = 123456789L*987654321L;
二、浮点类型
浮点类型简称浮点型,用来存储含有小数部分的数值。java语言中浮点类型分别为单精度浮点类型(float)和双精度浮点类型(double),它们具有不同的取值范围。
浮点型数据类型
数据类型 内存空间(8位等于1字节) 取值范围
float 32位 1.4E-45~3.4028235E38
double 64位 4.9E-324~1.7976931348623157E308
根据身高体重计算BMI指数
创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weigt记录为 体重,单位为千克;根据BMI=体重(身高*身高)计算BMI指数。代码如下:
三、字符类型
1. char 型
字符型(char)用于储存单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符。但是's'则表示一个字符串,虽然只有一个字符,但由于使用单引号,它任然表示字符串,而不是字符。
使用char关键字可定义字符变量,其语法如下:
char x = 'a';
由于字符a在Unicode表中的排序位置是97,因此允许将上面的语句写成:
char x = 97;
查看字符与Unicode码互相转换的结果
在项目中创建类Gess,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。
.转义字符
转义字符是一种特殊的字符变量,它以反斜杠“ \ ”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“ 转义 ”。例如,printf函数的格式串中用到的“ \n ”就是一个转义字符,意思就是“ 回车换行 ”。java中的转义字符表如下所示。
转义字符
转义字符 含义 转义字符 含义
\ddd 1~3位八进制数据所表示的字符,如\123 \r 回车
\uxxxx 4位十六进制数据所表示的字符,如\u0052 \n 换行
\' 单引符号 \b 退格
\\ 反斜杠字符 \f 换页
\r 垂直制表符,将光标移到下一个制表符的位置
将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。
例,输出' \ '字符和' ★ '字符的Unicode码为2605
代码如下:
一、标识符和关键字
1.标识符
标识符可以简单地理解为一个名字,是用来标识类名、变量名、主方法、数据名、文件名的有效字符顺序。
java语言规定标识符由任意的字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符不能是java中的关键字(保留字)。
下面是合法标识符
name
user_age
$papg
下面是非法标识符
4word
String
User name
在java语言中,标识符中的字母是严格区分大小写的,如good和Good是不同的两个标识符。java语言使用Unicode标准字符集,最多可以标识65535个字符。因此,java语言中的字母不仅包括通常的拉丁文字a、b、c 等,还包括汉语、日语以及其他许多语言中的文字。
2.关键字
关键字又称保留字,是Java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用。
Java中的关键字如表所示
java关键字
二、声明变量
变量的使用是程序设计中一个十分重要的环节。声明变量就是要告诉编译器(compiler)这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取了一个名字,称为变量名。变量的命名必须是合法的标识符。内存空间的价值就是变量值。在声明变量时可以是没有赋值,也可以直接赋给初值。
例如,声明一个整数类型变量和声明一个字符类型变量,代码如下:
int age; //声明int型变量
char char1 = 'r'; //声明char型变量并赋值
对于变量的命名并不是随意的,应遵循以下几条规则:
变量名必须是一个有效的标识符。
变量名不可以使用java中的关键字。
变量名不可以重复。
应选择有意义的单词作为变量名。
在Java中允许使用汉字或其他语言文字作为变量名,如“ int 年龄 = 21 ”,在程序运行时不会出现错误,但建议读者不要使用这些语言文字作为变量名。
三、声明常量
在程序运行中一直不会改变的量称为常量(constant),通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。
在Java语言中声明一个常量,除了要指定数据类型,还需要通过final关键字进行限定。声明常量的标准语法如下:
final 数据类型 常量名称 【 = 值 】
常量名称通常使用大写字母,但这并不是必须的。很多Java程序员使用大写字母表示常量,是为了清楚地表明正在使用常量。
例如,声明常量(程序中用PI表示),代码如下:
final double PI = 3.1415926D; //声明double型常量PI并赋值
当变量被final关键字修饰时,该变量就变成了常量,必须在定义时就设定它的初值,否则将会产生编译错误。从下面的实例中可看出变量与常量的区别。
例,尝试给常量赋值,观察是否会发生错误
在项目中创建类part,在类体中创建变量age与常量PI。在主方法中分别将变量与常量赋值,通过输入信息可测试变量与常量的有效范围。
四、变量的有效范围
由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量就会释放掉,也就是说变量有它的生命期限。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则编译的时候会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。
1.成员变量
在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为两种,即静态变量和实例变量。例如以下代码:
class Demo{
int x = 45;
static int y = 90;
}
其实,x为实例变量,y为静态变量(也称类变量)。如果在成员变量的类型前面加上关键字static,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至可达到整个应用程序内。对于静态变量,除了能在声明它的类内存取,还能直接以“类名.静态变量”的方式在其他类内使用。
2.局部变量
在类的方法体中声明的变量(方法内定义,“ { ”与“ } ”之间的代码中声明的变量)称为局部变量。局部变量只在当前代码块中有效,也就是只能在“ { ”与“ } ”之内使用。
在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机会为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会被销毁。
局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。
例,把成员变量“ 排挤掉 ”的局部变量
在项目中创建Val,分别定义名称相同的局部变量与成员变量,当名称相同时,成员变量将隐藏。
一、赋值运算符
赋值运算符以符号“ = ”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方操作数。例如:
int a = 100;
该表达式是将100赋值给变量a。左方的操作数必须是一个变量,而右方的操作数则可以是任何表达式,包括变量(如a、number)、常量(如123、“book”)、有效表达式(如45*12)。
由于赋值运算符“ = ”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“ = ”运算符,会从最右方的“ = ”开始处理。
例、使用赋值运算符同时为两个变量赋值
在项目中创建类 Eval,在主方法中定义变量,使用赋值运算符为变量赋值。
二、算术运算符
Java中的算术运算符主要有+ (加)、. (减)、* (乘)、/(除)、%(求余),它们都是二元运算符,Java中算术运算符的功能及使用方式如表所示。
Java算术运算符
运算符 说明 实例 结果
+ 加 12.45f + 15 27.45
- 减 4.56-0.16 4.4
* 乘 5L*12.45f 62.25
/ 除 7/2 3
% 取余数 12%10 2
其中,“ + ”和“ - ”运算符还可以作为数值的正负符号,如+5、-7。
在进行除法运算时,0不能做除数。例如,对于语句“int a = 5 / 0;”,系统会抛出ArithmeticException异常。
例、使用算术运算符模拟计算器