《Java程序设计》第2周学习总结

201711671201《Java程序设计》第2周学习总结

教材学习内容总结

第2章:基本数据类型与数组

2.1 标识符与关键字

2.1.1 标识符

用来标识类名变量名方法名类型名数组名文件名有效字符序列称为标识符

标识符由字母下划线美元符号数字组成,长度不受限制。

标识符的第一个字符不能数字字符。

标识符不能关键字也不能truefalsenull

注意:标识符中的字母区分大小写的。

2.1.2 Unicode字符集

Unicode字符集的前128个字符刚好是ASCII码

2.1.3 关键字(50个) (都是小写!)

abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while

2.2 基本数据类型(也称简单数据类型):逻辑类型整数类型字符类型浮点类型

2.2.1 逻辑类型:boolean型

常量:true,false。

变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值

2.2.2 整数类型:(区别:占有的字节数不同。)

1、byte型(字节型)

变量:使用关键字byte来声明byte型变量。

常量:Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。

对于byte型变量,分配1个字节内存,占8位,因此byte型变量的取值范围是-2e7~2e7-1。

如果需要强调一个整数是byte型数据时,可以使用类型转换运算的结果来表示,例如:(byte)-12,(byte)28;

2、short型(短整型)

变量:使用关键字short来声明short型变量。

常量:和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量。

对于short型变量,分配2个字节内存,占16位,因此short型变量的取值范围是-2e15~2e15-1。

如果需要强调一个整数是short型数据时,可以使用强制转换运算的结果表示,例如:(short)-12,(short)28;

3、int型(整型)

变量:使用关键字int来声明int型变量,声明时也可以赋给初值

常量:123,6000(十进制),077(八进制),0x3ABC(十六进制)。

对于int型变量,分配4个字节内存,占32位,因此,int型变量的取值范围是:-2e31~2e31-1

4、long型(长整型)

变量:使用关键字long来声明long型变量。

常量:long型常量用后缀L来表示,例如108L(十进制)。

对于long型变量,分配8个字节内存,占64位,因此long型变量的取值范围是-2e63~2e63-1。

注:Java没有无符号的byte,short,int和long。

常量0开头时为八进制0x开头时为十六进制

2.2.3 字符类型:char型

变量:使用关键字char来声明char型变量。

常量:即用单引号(需用英文输入法输入)括起的Unicode表中的一个字符。

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

有些字符(如回车符)不能通过键盘输入到字符串或程序中,这时就需要转义字符常量,例如:\n(换行)\b(退格)\t(水平制表)\'(单引号)\"(双引号)\\(反斜线)等。

在Java中,可以用字符在Unicode表中排序位置的十六进制转义(需要用u做前缀)来表示该字符,其一般格式为\u****

注:Java中的char型数据一定是无符号的,而且不允许使用unsigned来修饰所声明的char型变量。

2.2.4 浮点类型:

1、float型(单精度浮点型)

变量:使用关键字float来声明float型变量。

常量:21379.987F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。特别注意:常量后面必须有后缀f或F

float变量在存储float型数据时保留8位有效数字

对于float型变量,分配4个字节内存,占32位

2、double型(双精度浮点型)

变量:使用关键字double来声明double型变量。

常量:2389.539d,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。后面可以有后缀d或D,但允许省略

double变量在存储double型数据时保留16位有效数字

对于double型变量,分配8个字节内存,占64位

2.3 类型转换运算

基本数据类型按精度从低到高排列:byte  short  char  int  long  float  double 

当把级别的变量的值赋给精度级别的变量时,系统自动完成数据类型的转换。

当把级别的变量的值赋给精度级别的变量时,必须使用类型转换运算(强制),格式为:(类型名)要转换的值; 

高精度常量赋值给低精度变量超出变量的取值范围,类型转换运算会导致精度的损失

一个常见的错误是在把一个double型常量赋值给float型变量时没有进行类型转换运算,( 例如:float x=12.4; )将导致语法错误,编译器将提示“possible loss of precision”。正确的做法是:float x=12.4F;float x=(float)12.4;

2.4 输入、输出数据

2.4.1 输入基本型数据

Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:Scanner reader = new Scanner(System.in); (键盘输入),然后reader对象调用下列方法:nextBoolean()nextByte()nextShort()nextInt()nextLong()nextFloat()nextDouble()

2.4.2 输出基本型数据

System.out.println() 或 System.out.print() 可输出串值、表达式的值,区别:前者输出数据后换行,后者不换行。

允许使用并置符号+变量、表达式或一个常数值一个字符串并置一起输出。

注意:在使用System.out.println()或 System.out.print()输出字符串常量时,不可以出现“回车”,否则无法通过编译。

输出格式:%d:输出int类型数据。%c:输出char型数据。%f:输出浮点型数据,小数部分最多保留6位。%s:输出字符串数据。%md:输出的int型数据占m列。%m.nf:输出的浮点型数据占m列,小数点保留n位。

2.5 数组

数组是相同类型的变量按顺序组成的一种复合数据类型。称这些相同类型的变量为数组的元素或单元

创建数组2个步骤声明数组为数组分配变量

2.5.1 声明数组

声明数组包括数组变量的名字(简称数组名)数组的类型

声明一维数组2种格式:数组的元素类型  数组名[]; 或  数组的元素类型  []  数组名;  。

声明二维数组2种格式:数组的元素类型  数组名[][]; 或  数组的元素类型  [][]  数组名;  。

可以一次声明多个数组,例如:int [] a,b;

注:Java不允许在声明数组中的方括号内指定数组元素的个数。

2.5.2 为数组分配元素

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

数组属于引用型变量,数组变量中存放着数组的首元素的地址,通过数组名加索引使用数组的元素。

声明数组和创建数组可以一起完成,例如:float boy[] = new float[4]; 。构成二维数组的一维数组不必有相同的长度,在创建二维数组时可以分别指定构成该二维数组的一维数组的长度,例如:int a[][] = new int[3][]; a[0] = new int[6]; a[1] = new int[12]; a[2] = new int[8]; 。

注:Java允许使用int型变量的值指定数组的元素的个数,例如:int size =30;  double number[]=new double[size];

2.5.3 数组元素的使用

注意:索引从0开始,使用数组时必须谨慎,防止索引越界

2.5.4 length的使用

数组的元素的个数称作数组的长度。对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组“数组名.length”的值是它含有的一维数组的个数

2.5.5 数组的初始化

创建数组后,系统会给数组的每个元素一个默认的值;在声明数组的同时也可以给数组的元素一个初始值;也可以直接用若干个一维数组初始化一个二维数组,这些一维数组的长度不尽相同。

2.5.6 数组的引用

数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素

注意:对于char型数组a,System.out.println(a)不会输出数组a的引用而是输出数组a的全部元素的值。如果想输出char型数组的引用,必须让数组a和字符串做并置运算

2.6 应用举例

使用折半法判断一个数据是否在一个数组中。

教材学习中的问题和解决过程

并置符号“+”的用法。

代码调试中的问题和解决过程

暂无。

感悟

有空多看书,多尝试敲代码,才有可能进步。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积)  学习时间(新增/累积) 重要成长 
目标 5000行 30篇 400小时  
第二周 50/70 1/2 1/2  

猜你喜欢

转载自blog.csdn.net/zhifafenfang_CAI/article/details/82822651