内容提要:
1.变量
2.数据类型
3.表达式与运算符
4.数组
5.流程控制语句
这一节中,主要是大家介绍一下java applet中的各种数据的表示方法和标量的表示方法,主要是一些java的语法。java applet是java的一个部分,语法规则当然和java是一样的,但是,他们在某些方面也有一些不同,这主要是只程序的结构上,其余的地方,完全相同,这就是为什么我建议大家从学习java applet处开始学习java的原因了。
要学习java的语法,并不是很难,如果大家学习过c,那么学习java的语法就实在是非常简单的了,因为java中的所有变量的命名与规则,都和c中是一样的,连表达式,程序流程的控制语句等方面都是一样的。这对于学习过c或者c++的读者来说,可以略过这一节了,如果你以前是学的别的语言,或者说,你没有学过语言什么的,那么还是看看这一节吧。基本的语法规则还是记得越多越好,虽然用的时候可以查书。
1.变量
和别的高级语言一样,高级语言的程序通过变量来操纵内存中的数据,所以程序在使用任何变量之前都首先应该在该变量和内存单元之间建立联系,这个过程称为定义变量,或者称为为变量分配内存单元。
在java程序中,定义变量的主要任务有两个:一是为自己的变量起一个名字(自己好认识),二是定义这个变量的数据类型,好使编译器知道该给它多大的内存空间。请看下面的例子:
int x;
char c;
float ffff;
string st1,st2;
定义变量是相当简单的事情,三要注意下面的三个规则:
1)标识符可以由字母、数字、下划线或$呼号组成,对于长度就没有限制了,
2)标识符必须以字母、下划线,(_)或字符开头,数字是不能放在第一位的。
3)标识符在java中必须要区分大小写。
为什么要这样,我也不知道,这是开发这个语言的人定义的。呵呵!给大家举几个例子吧:
a, _istrue,$a41,a_b,a1,都是合法的标识符,而123,@istrue,0_ab,等就不是合法的了,会编译不过去的,而对于大小写:char_class1与char_class1则是不同的标识符,因为java中的大小写是不同的。而我们在定义变量的时候,当然应该尽量使变量与它实际代表的内容有一定的联系,这一点在小程序中看不出来,当程序特别大的时候,就有用了。
另外,在定义变量的时候,我们还可以同时为这个变量给出初始值,例如:
int x=0;
char char_class1='a',char_class2='2';
好了给大家举一个实际的例子,如下:
import java.awt.*; public class applet1 extends applet label output1; public void init() | |
好了,给你详细地分析一下这个程序吧!
import java.awt.*; //这个已经说过了,引入类库awt,输入输出类库
import java.applet.*;//同样的道理,引入applet类库
public class applet1 extends applet //定义主类applet1
{
int x=10; //定义整数型的变量x并付初值
char char_class1='a'; //定义字符型变量,并付初值
label output1; //定义用来输出结果的两个标签
label output2; //这在下一章将给大家详细讲解
public void init() //小程序的入口,创建标签,显示其内容
{ //并加入到主类的applet1图形界面中,显示出来。
output1=new label ("定义int型的变量x,x的初始值为:"+x);
output2=new label ("定义char类型的变量,初始值为:"+char_class1);
add(output1); //显示第一个标签
add(output2); //显示第二个标签
}
}
怎么样,对java的变量有了一定的了解了吧,看下一节,java的数据类型吧!
2.数据类型
java 语言有着与c语言类似的教强的数据处理能力,即它的数据类型和不同类型上的运算定义得较为齐全,java内部的数据类型可以分为四大类:整数、浮点数、字符、布尔型。其中整数和浮点数两大类根据长度和精度的不同,还可以进一步划分为byte、int、short、long、float、和double几个具体的类型。具体可参看下表:
java的基本数据类型
数据类型 | 关键字 | 占用比特数 | 取值范围 | 缺省数值 |
布尔型 | boolean | 8 | true,false | false |
字符型 | byte | 8 | -128--127 | 0 |
整数型 | char | 16 | 0--65535 | '/u0' |
短整型 | short | 16 | -32768--32767 | 0 |
整型 | int | 32 | -2147483648--2147483647 | 0 |
长整型 | long | 64 | -9.22e18--9.22e18 | 0 |
浮点型 | float | 32 | 1.4013e-45--3.4028e+38 | 0.0f |
双精度型 | double | 64 | 2.22551e-208--1.7977e+308 | 0.0d |
1.布尔型
布尔型只能有true和false两种取值,分别代表布尔逻辑中的“真”和“假”。
2.整型与字符型
整型就是数学中的整数了,字符型就是字符,'0'和'a',等都是字符。要注意两点:
1)在使用整数型变量的时候要注意其最大和最小取值范围,如果实际取值超过范围,则会出现溢出错误。尤其在做阶乘的时候要注意。如果机器不是很好,还要节约机器资源,只需要int型的地方,就不要用long型。
2)字符型变量的取值可以使用字符常量(用单引号阔起的单个字符),也可以用整数常数。例如,下面的两个语句的作用完全相同:
char char_a='a';
char char_a=65;
这就是计算机的一个机制问题了,它把字符做为整数型保存的。因为这样更方便。
3.浮点型
float和double都是浮点数据类型,程序中使用它们来代表小数。由于计算机采用浮点来计算小数,因此就叫浮点数据类型。也因为这个原因,计算机算出来的小数点后的n位(视具体的情况而定) ,与实际的数值总是会有一定的误差。它只会去尽量地接近它,所以位数越多约精确。float是32位,应该够用了,如果不够,那就只能用double了,但也要节约资源。
程序中的科学记数法是表示。例如:3.14e3表示3,140,而3.14e-2表示0.0314。如果常数后面有一个'd'或者'd',那么就表示是double型的。付址的时候,应该这样写:
float f1=3.14f;
double f2=3.14d;
4.类型转换
java 程序中,常数或变量从一种数据类型转换到另外一种数据类型,称为类型转换。它有两种,一种是从低位转为高位的称为缺省类型转换。例如从char型转换到int型,从int型转换到long型,都是机器可以直接执行的。例如:
int i=5;
long j=i;
如果把高位转化为低位,就会出现问题了。这个道理都明白,怎么办?有需要的时候,例如要把float转化int型,那就只有通过强制类型转化了。例如:
float f=3.14f;
int i=(int)f;
long j=5;
int i2=(int)j;
当然要注意的是高位转化为地位的时候,数据的范围要在地位范围内,例如不能将一个很大的整数30000转化char型,因为它超过了范围。结果会出现错误!
好了,看一个例子吧:
import java.awt .* ;import java.applet.applet ; public class leixing extends applet { boolean b1=true; int x=10; char c=65; float f=3.14f; public void paint(graphics g) { g.drawstring ("布尔型:"+b1,2,20); g.drawstring ("整型:"+x,2,40); g.drawstring ("字符型"+c,2,60); g.drawstring ("浮点数据类型:"+f,2,80); }} | |
3、表达式与运算符
表达式是由变量、常量、对象、方法调用和操作符组成的式子。符合语法规则的表达式才能被编译系统理解、执行并计算。
说起表达式,也并不是很复杂,就是日常我们见到的数学式子,但有一些区别,java中的表达式由于操作符的不同,而有很多的种类了。大致可以分为:
1)赋值与强制类型转换
赋值运算符对应了赋值云选,即赋予程序里的变量或对象一定的内容。简单的赋值运算是把一个表达式的值直接赋给一个变量或对象,使用的赋值运算符是“=”,格式为:
变量或对象=表达式;
其中赋值号右边的表达式可以是常量、另外一个变量或对象以及方法的返回值。下面给大家举几个例子:
i=0;
j=i;
k=i+j*4;
2)算术运算
算术运算是针对数值类型操作数进行的运算,算术运算符根据操作数字个数的不同,又可以分为:
1.双目运算符
运算符 | 运算 | 例子 | 解释 |
+ | 加 | a+b | 求a与b相加的和 |
- | 减 | a-b | 求a与b相减的差 |
* | 乘 | a*b | 求a与b相乘的积 |
/ | 除 | a/b | 求a除以b的商 |
% | 取余数 | a%b | 求a除以b所得的余数 |
2.单目运算符
运算符 | 运算 | 例子 | 功能等价于 |
++ | 自增 | a++或++a | a=a+1 |
-- | 自减 | a--或--a | a=a-1 |
- | 求相反数 | -a | a=-a |
给大家举个例子:
int x=2;
int y=(++x)*3;
运行结果是x=3;y=9。
再看另外的一个例子:
int x=2;
int y=(x++)*3;
运行结果是x=3,y=6。
这是为什么,因为第一个例子中,是x已经等于3后再算y,而后一个例子中,则是先用x=2算出y后,再算x,因为++符号在后面,这就是++x和x++的区别了。
3)关系运算符
关系运算是比较两个数据之间的大小关系的运算,常用的关系运算符号如下:
运算符 | 例子 | 解释 |
== | a==b | a等于b |
!= | a!=b | a不等于b |
> | a>b | a大于b |
扫描关注微信公众号 |
闽公网安备 35060202000074号