Java笔记(三)

本文详细介绍了Java中的基本数据类型,包括逻辑类型、整数类型、字符类型和浮点类型,以及它们的常量、变量声明和类型转换。此外,还深入讲解了数组的声明、创建、初始化、引用以及长度的获取。内容覆盖了Java编程的基础知识,适合初学者学习。
摘要由CSDN通过智能技术生成

“春江潮水连海平,海上明月共潮生。”几天不见,却恍若隔世。作为小白的我又开始了对Java的探索之旅。这一次我将学习基本数据类型与数组的相关知识点。
1.用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列称为标识符。
2.Java关于标识符的语法规则:
(1)标识符由字母、下划线、美元符号和数字组成,长度不受限制。
(2)标识符的第一个字符不能是数字字符。
(3)标识符不能是关键字(Java一共有50个关键字)
(4)标识符不能是true、false和null(尽管它们不是Java关键字)
特别需要注意的是,标识符中的字母是区分大小写的,hello和Hello是不同的标识符。
3.Java语言有8种基本数据类型,习惯上可以分为以下四大类:
逻辑类型:boolean。
整数类型:byte、short、int、long。
字符类型:char。
浮点类型:float、double。
(1)逻辑类型
常量:true、false。
变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值,例如,

boolean male = true,on = true,off =false,isTriangle;

(2)整数类型
整型数据分为四种。
1 int型
常量:123,6000(十进制),077(八进制),0x3ABC(十六进制)。
变量:使用关键字int来声明int型变量,声明时也可以赋给初值,例如

int x = 12,y = 9898,z;

对于int型变量,分配4个字节内存。
2 byte型
变量:使用关键字byte来声明byte型变量,例如,

byte x = -12,tom = 28,漂亮 = 98;

常量:Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。
对于byte型变量,分配1个字节内存,占8位。如果需要强调一个整数是byte型数据时,可以使用类型转换运算的结果来表示,例如:(byte)-12,(byte)28;。
3 short型
变量:使用关键字short来声明short型变量,例如:

short x = 12,y = 1234;

常量:和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量。
对于short型变量,分配两个字节内存。
4 long型
常量:long型常量用后缀L来表示,例如108L(十进制)、07123L(八进制)、0x3ABCL(十六进制)。
变量:使用关键字long来声明long型变量,例如:

long width = 12L,height = 2005L,length;

对于long型变量,分配8个字节内存。
注:Java没有无符号的byte,short,int和long,这一点和C语言有很大的不同。因此,unsigned int m;是错误的变量声明。
(3)字符类型
常量:‘A’,‘b’,’?’,’!’,‘9’,‘好’,’\t’,等,即用单引号(须用英文输入法输入)括起的Unicode表中的一个字符。
变量:使用关键字char来声明char型变量,例如:

char ch = 'A',home = '家',handsome = '酷';

对于char型变量,分配2个字节内存,占16位,最高位不是符号位,没有负数的char。
对于

char x = 'a';

内存x中存储的是97,97是字符a在Unicode表中的排序位置。因此,允许将上面的变量声明写成

char x= 97;

有些字符(如回车符)不能通过键盘输入到字符串或程序中,这时就需要使用转义字符常量,例如:\n(换行),\b(退格),\t(水平制表),’(单引号),"(双引号),\(反斜线)等。
(4)浮点数类型
1 float型
常量:453.5439f,21379.987F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。需要特别注意的是常量后面必须要有后缀f或F。
变量:使用关键字float来声明float型变量,例如:

float x = 22.76f,tom = 1234.987f,weight = le-12F;

float变量在存储float型数据是保留8位有效数字(相对double型保留的有效数字,称之为单精度。)
对于float型变量,分配四个字节内存。
2 double型
常量:2389.539d,2318908.987,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。对于double常量后面可以有后缀d或D,但允许省略该后缀。
变量:使用关键字double来声明double型变量,例如:

double height = 23.345,width = 34.56D,length = 1e12;

对于double型变量,分配八个字节内存。
4.类型转换运算
当把一种基本数据类型变量的值付给另一种基本类型变量时,就涉及数据转换。基本类型数据转换(不包括逻辑类型)按精度从低到高排列:

byte short char int long float double

当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。
当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算,格式如下:

(类型名)要转换的值;

类型转换运算的结果的精度可能低于原数据精度(导致精度丢失)。
Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:

Scanner reader = new Scanner(System.in);

System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。允许使用并置符号+将变量、表达式或一个常数值与一个符号串并置一起输出。需要特别注意的是,在使用System.out.println()或System.out.print()输出字符串常量时,不可以出现“回车”。
如果需要输出的字符串的长度过长,可以将字符串分解成几部分,然后使用并置符号将他们首尾相接,例如:

System.out.println("Hello,"+
            "nice to meet you");

JDK1.5新增了和C语言中printf函数类似的输出数据的方法,格式如下:

System.out.printf("格式控制部分",表达式1,表达式2,···,表达式n)

格式控制部分由格式控制符号%d、%c、%f、%s和普通字符组成,普通字符原样输出,格式符号用来输出表达式的值。

%d输出int类型数据
%c输出char型数据
%f输出浮点型数据,小数部分最多保留6位
%s输出字符串数据

输出数据类型时也可以控制数据在命令行的位置,例如,

%md输出的int类型数据占m行
%m.nf输出的浮点型数据占m列,小数点保留n位

5.数组
(1)声明数组
声明数组包括数组变量的名字(简称数组名)、数组的类型。声明一维数组有下列两种格式:

数组的元素类型 数组名[];
数组的元素类型 [] 数组名;

声明二维数组有下列两种格式:

数组的元素类型 数组名[][];
数组的元素类型 [][] 数组名;

可以一次声明多个数组,例如,

int [] a,b;

声明了两个int型一维数组a和b,等价的声明是:

int a[],b[];

需要特别注意的是,

int [] a,b[];

是声明了一个int型一维数组a和一个int型二维数组b,等价的声明是:

int a[],b[][];

与C/C++不同,Java不允许在声明数组中的方括号内指定数组元素的个数。
(2)声明数组仅仅是给出了数组变量的名字和元素的数据类型,要想真正的使用数组还必须创建数组,即给数组分配元素。
为数组分配元素的格式如下。

数组名 = new 数组元素的类型[数组元素的个数];

与C语言不同的是,Java允许使用int型变量的值指定数组的元素的个数,例如:

int size = 30;
double number[] = new double[size];

(3)数组元素的使用
例如,声明创建一个二维数组a:

int a[][] = new int[6][8];

那么第一个索引的变化范围从0到5,的第二个索引的变化范围从0到7。
(4)数组的元素的个数称作数组的长度。对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组“数组名.length”的值是它含有的一维数组的个数。例如,对于

float a[] = new float[12];
int b[][] = new int[3][6];

a.length的值12,而b.length的值是3。
(5)数组的初始化
创建数组后,系统会给数组的每个元素一个默认值,如float型是0.0。
在声明数组的同时也可以给数组的元素一个初始值,

float boy[] = {21.3f,23.89f,2.0f,23f,778.98f};

上述语句相当于

float boy[] = nem float[5];

然后

boy[0] = 21.3f;boy[1] = 23.89f;boy[2] = 2.0f;boy[3] = 23f;boy[4] = 778.98f;

也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的元素不尽相同,例如:

int a[][] = {{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};

(6)数组的引用
数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,他们就有完全相同的元素。
需要注意的是,对于char型数组a,System.out.println(a)不会输出数组a的引用而是输出数组a的全部元素的值。如果想输出char型数组的引用,必须让数组a和字符串做并置运算,例如:

System.out.println(""+a);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值