对象的属性,变量的详述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组元素的类型 对象引用 整型变量 浮点变量 布尔变量 字符变量 初始值 null 0 0.0 false ‘\u0000’
一维数组的初始化
数组的静态初始化: 声明数组的同时对数组进行初始化赋值。 char ch[] = {„a‟, „b‟, „c‟, „d‟, „\n‟};
将各个元素的初始值放在赋值号=右边的 大括号{}里面,各个值之间用逗号,隔开 在赋值号=的右边没有new运算符,也不 说明数组的长度,系统会根据初始值的个 数,自动计算数组的长度
Chap 03对象的属性 ---变量详述
掌握Java中的基本数据类型 掌握变量的声明和使用 掌握Java数组的定义和使用 掌握对象的成员变量的赋值和使用
变量与基本数据类型
Java与C一样,数据通过变量来存储和访问。变 量必须先声明再使用,格式如下: 变量的类型 变量名称; 变量的类型 变量名称1,变量名称2,…; 变量的类型 变量名称 = 变量的值; Java语言里变量只声明而不赋初值,会自动赋默 认值。 Java中可以将声明放在代码中的任何地方,良好 的编程习惯提倡把变量的声明尽可能地靠近变量 第一次使用的地方。
int a[]={1,2,3,4,5} , b[]; b=a; //数组b指向和数组a相同的地址
数组a
a[0] a[1]
a[2] a[3]
a[4]
1 数组b
2
3
4
5
b[4]
b[0] b[1]
b[2] b[3]
一维数组的有关说明
引用数组元素使用数组名加下标,下标 从0开始。 对数组进行构造时,中括号里可以使用 带有整型数值的变量。 引用数组元素时下标不能超出范围。 Java会自动对下标越界检查,编译时没 有提示,但运行产生错误。
实型
关键字 名称 存储需求 定义变量举例
float x = 3.25f; double y = 37.4;
float
单精Байду номын сангаас浮点型
4字节
double 双精度浮点型
8字节
实型相关说明
Java语言规定,直接写出的浮点数被认为是 double类型。 也可以通过在数字后加上字母D或d来表明当前 数据是double型的实数常量,如37.4D,3.69d等。 要描述float型的实数常量需要在数字后要加上 字母F或f,如2.5F,0.7f都是单精度浮点类型数 据。 float类型变量保留6~7位有效数字,double类 型变量保留15位有效数字,实际精度取决于具 体数值。
数据类型的转换
自动类型转换(隐式)
char
byte
short
int
long
float
double
数据类型的转换
强制类型转换:将一个数据或表达式强 制转换成所需的更低类型,格式为: (类型名) 要转换的数据 强制类型转换是得到一个中间变量,原 变量类型并不发生变化。 boolean类型不能与任何数值类型进行 类型转换。
一维数组的创建
声明整型数组a, 包含10个元素 int[] a = new int[10]; 赋值符“=“此处 实现让a指向这 10个连续空间。
数组a
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
10个内存空间,每个空间可存放一个整型数据
一维数组的创建
/*声明整型数组intArray, 包含10个元素*/ int[] intArray; intArray=new int[10]; /*声明单精度型数组floatArray,包含15个元素*/ float floatArray[] = new float[15];
一维数组创建的注意
一维数组在声明的时候,[]里面是什么 都不能有的,但是在使用new运算符进 行创建的时候,必须指明数组的长度,只 有这样系统才能知道应该给这个数组分 配多少内存。 与C语言不同,Java允许在创建数组时 使用整型变量来指定数组元素的个数。 这位数组的使用带来了很大的灵活性。
字符串类型
Java提供了字符串类型String,实际上 String是一个类,它不属于基本数据类 型,但字符串使用得实在太频繁了,所以 Java提供了对它更方便的使用方式。 字符串变量(确切说应该是对象,因为 String其实是一个类,但我们简单说为 变量),可以像基本数据类型变量那样 被赋值、访问。
使用点运算符.和length属性可以得到数 组的长度。 格式: 数组名称.length
int[] intArray = new int[20]; int L = intArray.length; 则将数组的长度值20赋值给了变量L;
一维数组的有关说明
数组的类型可以是复杂结构类型; 数组名代表数组的首地址,数组间可相互 直接赋值,表示数组共同指向同一地址。
从命令行输入数据
import java.util.*; class ReadDemo{ public static void main(String[] args){ System.out.println("请输入若干个数,每输入一个数回车确认"); System.out.println("最后输入数字0结束输入操作"); Scanner reader = new Scanner(System.in); double sum = 0; int m = 0; double x = reader.nextDouble(); while(x!=0){ m = m+1; sum = sum+x; x = reader.nextDouble(); } System.out.println(m+"个数的和为"+sum); System.out.println(m+"个数的平均值为"+sum/m); } }
从命令行输入数据
步骤一:引入相关类。 import java.util.Scanner; 步骤二:创建Scanner类的一个对象。
Scanner reader = new Scanner(System.in);
步骤三:使用reader对象调用下列方法读 取用户输入的各种类型数据。 nextBoolean(); nextByte(); nextShort(); nextInt(); nextLong(); nextFloat(); nextDouble();
一维数组的初始化
通过赋值语句对数组进行初始化赋值。
int [] num = new int[10]; for( int i=0 ; i<=10 ; i++ ) num[i]=i*10; String s[] = new String[3]; s[0] = “I”; s[1] = “love”; s[2] = “China~!”;
算术运算符
+ 加法运算符,或正值运算符。 如 3+5,+3
*
/ %
减法运算符,或负值运算符。 如 5-2,-3 乘法运算符。 如3*5
除法运算符。如5/3 模运算符(求余运算符),可对小数 操作。 如7%4=3 8.5%3=2.5
有关算术运算符的说明
Java语言中运算符“+”可用来连接两个字 符串。 “Abc”+123的结果为”Abc123” 整数相除结果取整。操作数有小数是结果 为小数。 Java语言里“%”可对整数取模,也可对 小数取模。16.2%5值为1.2 可对char类型数据运算,不能对boolean 类型数据进行运算。 先(乘、除、取余),后(加、减)。
整型
int 常整型 4字节 int x = -100; byte a = 5; short m = 25;
byte 字节型 1字节 short 短整型 2字节
long 长整型 8字节 long n = -2000000000L;
整型相关说明
在Java语言规定,直接写出的整数被认为是int 类型; 如果需要描述一个byte类型的数据,通常要使用 强制类型转换,如 (byte)10 如果要描述一个short类型的数据,需要使用强 制类型转换,如 (short)15 要描述长整型的整数需要在数字后要加上字母L 或l,如6000000000L 八进制的数以0开头,十六进制数以0x或0X开头。 如010表示八进制中的8,0x10表示十六进制中 的16。 Java中没有任何无符号unsigned类型。
字符型
Java中的字符型变量可以用来存储转义字符。
转义字符
\n \t
名称
换行 制表位
\r
\\
回车
反斜线
\‟
\”
单引号
双引号
布尔类型(逻辑型)
布尔类型用来描述真与假,关键字是 boolean 每个boolean类型的变量在内存中占1个 字节的空间。 boolean类型数据的常量有true和false, boolean类型的变量只能存储这两个值之 一,不能存储其它内容。 在Java语言中逻辑数据不会转换成其它数 值类型的数据。
自增自减运算符
++、-- 使变量增1、减1 ++i,i++相当于i=i+1; --i,i--相当于i=i-1;
符号在前,先自增(减) 先执行i=i+1,再使用i 符号在后,后自增(减) 先使用i,再执行i=i+1 a=3; b = --a; /*a=a-1;b=a;a为2,b为2*/ System.out.print (b +( a ++)) ; 输出:2 2 最后a的值变为3
关系运算符
关系运算符的使用注意: 区分“==”与“=”。a==1是比较变量a 的值是否等于1,结果为逻辑值。 a=1是 将常量1赋值给变量a。 5>=5的结果为true。 关系运算符中==和!=的优先级略低,混 合比较时其他关系运算符要先执行,后判 断相等(==)和不等(!=)。
逻辑运算符
在混合运算时,逻辑非(!)的优先级别最 高,逻辑与(&&)和逻辑或(||)的优先级 别低于关系运算符的。 利用&&、||做逻辑或运算时,如果只 计算运算符表达式左边的结果即可确定 与、或的结果,则右边的表达式将不会 执行。
常量
Java共有五种类型的常量。 整型常量:如12, 12L 浮点型常量:如12F, 12D, 12.0E2D 布尔型常量:如true, false 字符型常量:如‘a‟, ‟9‟ 字符串常量:如“a”, ”Nice”, “你好” 自定义常量用关键字final来修饰,要在定义时 赋值,常量定义之后就不能再改变它的值。 final public char ch = ‟#‟;
条件运算符
<表达式1>?<表达式2>:<表达式3> 先判断表达式1,如果值为true,则执行 表达式2,将其结果作为三目条件表达式 的值;否则,将表达式3的结果作为三目 条件表达式的值。 条件运算符可简单替换双分支选择结构 语句。
数组的概念
Java中的数组是一个复合数据类型 数组中的元素具有相同的类型 元素类型可以是基本数据类型,类的对象, 也可以是数组类型 数组元素是有序排列的,使用下标来访问 数组有一个属性length,表示数组的长度 数组必须经过声明,构造,赋初值三个步骤 以后才能使用(定义—内存分配—赋值)
一维数组的初始化
类类型的数组在创建之后,还要记得在使用 前必须创建每个数组元素对象。 Student stu[] = new Student[3]; stu[0] = new Student(); stu[1] = new Student(); stu[2] = new Student();
利用length属性获得数组的长度
一维数组的声明
声明一个一维数组的方式如下: 元素数据类型[] 数组名称; 元素数据类型 数组名称[];
注意: 两种声明方式完全相同 在[ ]里面什么都不能有 声明一个数组并没有为数组元素分配内存, 因此还不能使用它们。
一维数组的创建
声明数组后,通过使用运算符new为数组 分配内存空间,之后数组才能存储数据。 格式: 数组名称=new 元素数据类型[元素个数];
赋值运算符
自右向左赋值,左边必须是变量,不能写常量 或表达式。 赋值运算符的优先级别低于其他运算符,在混 合使用时,先处理等号右边的复杂表达式,然 后把处理结果赋给左边的变量。 在使用运算符时,尽量使其右端表达式的类型 与其左端变量类型相一致,否则要进行类型转 换。 允许进行连续赋值。 复合的赋值运算符:+=、-=、/=、*=、 %=,先运算后赋值,后面的表达式相当于有 括号。
字符型
Java语言中的字符采用UNICODE编码,一 个字符在内存中占两个字节空间。这使得 Java可以使用char类型描述更多种类的字符, 包括英文字母、标点符号、汉字、日文、韩 文等。 字符类型的数据必须用单引号括起来,一个 字符型的变量只能存放一个字符。如: char ch1 = „a‟, ch2 = „*‟, ch3 = „好’; char类型的变量可以与整数类型的变量通用
声明单精度型数组b,包含5个元素 int n = 5; float b[] = new float[n];
数组b
b[0] b[1] b[2] b[3] b[4]
5个内存空间,每个空间可存放一个单精度型数据
一维数组的初始化
Java中,用new运算符构造一个数组时,系统 就自动将这个数组初始化好了。即数组的各个 元素都被赋了初始值。 如下:
一维数组的初始化
数组的静态初始化: 声明数组的同时对数组进行初始化赋值。 char ch[] = {„a‟, „b‟, „c‟, „d‟, „\n‟};
将各个元素的初始值放在赋值号=右边的 大括号{}里面,各个值之间用逗号,隔开 在赋值号=的右边没有new运算符,也不 说明数组的长度,系统会根据初始值的个 数,自动计算数组的长度
Chap 03对象的属性 ---变量详述
掌握Java中的基本数据类型 掌握变量的声明和使用 掌握Java数组的定义和使用 掌握对象的成员变量的赋值和使用
变量与基本数据类型
Java与C一样,数据通过变量来存储和访问。变 量必须先声明再使用,格式如下: 变量的类型 变量名称; 变量的类型 变量名称1,变量名称2,…; 变量的类型 变量名称 = 变量的值; Java语言里变量只声明而不赋初值,会自动赋默 认值。 Java中可以将声明放在代码中的任何地方,良好 的编程习惯提倡把变量的声明尽可能地靠近变量 第一次使用的地方。
int a[]={1,2,3,4,5} , b[]; b=a; //数组b指向和数组a相同的地址
数组a
a[0] a[1]
a[2] a[3]
a[4]
1 数组b
2
3
4
5
b[4]
b[0] b[1]
b[2] b[3]
一维数组的有关说明
引用数组元素使用数组名加下标,下标 从0开始。 对数组进行构造时,中括号里可以使用 带有整型数值的变量。 引用数组元素时下标不能超出范围。 Java会自动对下标越界检查,编译时没 有提示,但运行产生错误。
实型
关键字 名称 存储需求 定义变量举例
float x = 3.25f; double y = 37.4;
float
单精Байду номын сангаас浮点型
4字节
double 双精度浮点型
8字节
实型相关说明
Java语言规定,直接写出的浮点数被认为是 double类型。 也可以通过在数字后加上字母D或d来表明当前 数据是double型的实数常量,如37.4D,3.69d等。 要描述float型的实数常量需要在数字后要加上 字母F或f,如2.5F,0.7f都是单精度浮点类型数 据。 float类型变量保留6~7位有效数字,double类 型变量保留15位有效数字,实际精度取决于具 体数值。
数据类型的转换
自动类型转换(隐式)
char
byte
short
int
long
float
double
数据类型的转换
强制类型转换:将一个数据或表达式强 制转换成所需的更低类型,格式为: (类型名) 要转换的数据 强制类型转换是得到一个中间变量,原 变量类型并不发生变化。 boolean类型不能与任何数值类型进行 类型转换。
一维数组的创建
声明整型数组a, 包含10个元素 int[] a = new int[10]; 赋值符“=“此处 实现让a指向这 10个连续空间。
数组a
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
10个内存空间,每个空间可存放一个整型数据
一维数组的创建
/*声明整型数组intArray, 包含10个元素*/ int[] intArray; intArray=new int[10]; /*声明单精度型数组floatArray,包含15个元素*/ float floatArray[] = new float[15];
一维数组创建的注意
一维数组在声明的时候,[]里面是什么 都不能有的,但是在使用new运算符进 行创建的时候,必须指明数组的长度,只 有这样系统才能知道应该给这个数组分 配多少内存。 与C语言不同,Java允许在创建数组时 使用整型变量来指定数组元素的个数。 这位数组的使用带来了很大的灵活性。
字符串类型
Java提供了字符串类型String,实际上 String是一个类,它不属于基本数据类 型,但字符串使用得实在太频繁了,所以 Java提供了对它更方便的使用方式。 字符串变量(确切说应该是对象,因为 String其实是一个类,但我们简单说为 变量),可以像基本数据类型变量那样 被赋值、访问。
使用点运算符.和length属性可以得到数 组的长度。 格式: 数组名称.length
int[] intArray = new int[20]; int L = intArray.length; 则将数组的长度值20赋值给了变量L;
一维数组的有关说明
数组的类型可以是复杂结构类型; 数组名代表数组的首地址,数组间可相互 直接赋值,表示数组共同指向同一地址。
从命令行输入数据
import java.util.*; class ReadDemo{ public static void main(String[] args){ System.out.println("请输入若干个数,每输入一个数回车确认"); System.out.println("最后输入数字0结束输入操作"); Scanner reader = new Scanner(System.in); double sum = 0; int m = 0; double x = reader.nextDouble(); while(x!=0){ m = m+1; sum = sum+x; x = reader.nextDouble(); } System.out.println(m+"个数的和为"+sum); System.out.println(m+"个数的平均值为"+sum/m); } }
从命令行输入数据
步骤一:引入相关类。 import java.util.Scanner; 步骤二:创建Scanner类的一个对象。
Scanner reader = new Scanner(System.in);
步骤三:使用reader对象调用下列方法读 取用户输入的各种类型数据。 nextBoolean(); nextByte(); nextShort(); nextInt(); nextLong(); nextFloat(); nextDouble();
一维数组的初始化
通过赋值语句对数组进行初始化赋值。
int [] num = new int[10]; for( int i=0 ; i<=10 ; i++ ) num[i]=i*10; String s[] = new String[3]; s[0] = “I”; s[1] = “love”; s[2] = “China~!”;
算术运算符
+ 加法运算符,或正值运算符。 如 3+5,+3
*
/ %
减法运算符,或负值运算符。 如 5-2,-3 乘法运算符。 如3*5
除法运算符。如5/3 模运算符(求余运算符),可对小数 操作。 如7%4=3 8.5%3=2.5
有关算术运算符的说明
Java语言中运算符“+”可用来连接两个字 符串。 “Abc”+123的结果为”Abc123” 整数相除结果取整。操作数有小数是结果 为小数。 Java语言里“%”可对整数取模,也可对 小数取模。16.2%5值为1.2 可对char类型数据运算,不能对boolean 类型数据进行运算。 先(乘、除、取余),后(加、减)。
整型
int 常整型 4字节 int x = -100; byte a = 5; short m = 25;
byte 字节型 1字节 short 短整型 2字节
long 长整型 8字节 long n = -2000000000L;
整型相关说明
在Java语言规定,直接写出的整数被认为是int 类型; 如果需要描述一个byte类型的数据,通常要使用 强制类型转换,如 (byte)10 如果要描述一个short类型的数据,需要使用强 制类型转换,如 (short)15 要描述长整型的整数需要在数字后要加上字母L 或l,如6000000000L 八进制的数以0开头,十六进制数以0x或0X开头。 如010表示八进制中的8,0x10表示十六进制中 的16。 Java中没有任何无符号unsigned类型。
字符型
Java中的字符型变量可以用来存储转义字符。
转义字符
\n \t
名称
换行 制表位
\r
\\
回车
反斜线
\‟
\”
单引号
双引号
布尔类型(逻辑型)
布尔类型用来描述真与假,关键字是 boolean 每个boolean类型的变量在内存中占1个 字节的空间。 boolean类型数据的常量有true和false, boolean类型的变量只能存储这两个值之 一,不能存储其它内容。 在Java语言中逻辑数据不会转换成其它数 值类型的数据。
自增自减运算符
++、-- 使变量增1、减1 ++i,i++相当于i=i+1; --i,i--相当于i=i-1;
符号在前,先自增(减) 先执行i=i+1,再使用i 符号在后,后自增(减) 先使用i,再执行i=i+1 a=3; b = --a; /*a=a-1;b=a;a为2,b为2*/ System.out.print (b +( a ++)) ; 输出:2 2 最后a的值变为3
关系运算符
关系运算符的使用注意: 区分“==”与“=”。a==1是比较变量a 的值是否等于1,结果为逻辑值。 a=1是 将常量1赋值给变量a。 5>=5的结果为true。 关系运算符中==和!=的优先级略低,混 合比较时其他关系运算符要先执行,后判 断相等(==)和不等(!=)。
逻辑运算符
在混合运算时,逻辑非(!)的优先级别最 高,逻辑与(&&)和逻辑或(||)的优先级 别低于关系运算符的。 利用&&、||做逻辑或运算时,如果只 计算运算符表达式左边的结果即可确定 与、或的结果,则右边的表达式将不会 执行。
常量
Java共有五种类型的常量。 整型常量:如12, 12L 浮点型常量:如12F, 12D, 12.0E2D 布尔型常量:如true, false 字符型常量:如‘a‟, ‟9‟ 字符串常量:如“a”, ”Nice”, “你好” 自定义常量用关键字final来修饰,要在定义时 赋值,常量定义之后就不能再改变它的值。 final public char ch = ‟#‟;
条件运算符
<表达式1>?<表达式2>:<表达式3> 先判断表达式1,如果值为true,则执行 表达式2,将其结果作为三目条件表达式 的值;否则,将表达式3的结果作为三目 条件表达式的值。 条件运算符可简单替换双分支选择结构 语句。
数组的概念
Java中的数组是一个复合数据类型 数组中的元素具有相同的类型 元素类型可以是基本数据类型,类的对象, 也可以是数组类型 数组元素是有序排列的,使用下标来访问 数组有一个属性length,表示数组的长度 数组必须经过声明,构造,赋初值三个步骤 以后才能使用(定义—内存分配—赋值)
一维数组的初始化
类类型的数组在创建之后,还要记得在使用 前必须创建每个数组元素对象。 Student stu[] = new Student[3]; stu[0] = new Student(); stu[1] = new Student(); stu[2] = new Student();
利用length属性获得数组的长度
一维数组的声明
声明一个一维数组的方式如下: 元素数据类型[] 数组名称; 元素数据类型 数组名称[];
注意: 两种声明方式完全相同 在[ ]里面什么都不能有 声明一个数组并没有为数组元素分配内存, 因此还不能使用它们。
一维数组的创建
声明数组后,通过使用运算符new为数组 分配内存空间,之后数组才能存储数据。 格式: 数组名称=new 元素数据类型[元素个数];
赋值运算符
自右向左赋值,左边必须是变量,不能写常量 或表达式。 赋值运算符的优先级别低于其他运算符,在混 合使用时,先处理等号右边的复杂表达式,然 后把处理结果赋给左边的变量。 在使用运算符时,尽量使其右端表达式的类型 与其左端变量类型相一致,否则要进行类型转 换。 允许进行连续赋值。 复合的赋值运算符:+=、-=、/=、*=、 %=,先运算后赋值,后面的表达式相当于有 括号。
字符型
Java语言中的字符采用UNICODE编码,一 个字符在内存中占两个字节空间。这使得 Java可以使用char类型描述更多种类的字符, 包括英文字母、标点符号、汉字、日文、韩 文等。 字符类型的数据必须用单引号括起来,一个 字符型的变量只能存放一个字符。如: char ch1 = „a‟, ch2 = „*‟, ch3 = „好’; char类型的变量可以与整数类型的变量通用
声明单精度型数组b,包含5个元素 int n = 5; float b[] = new float[n];
数组b
b[0] b[1] b[2] b[3] b[4]
5个内存空间,每个空间可存放一个单精度型数据
一维数组的初始化
Java中,用new运算符构造一个数组时,系统 就自动将这个数组初始化好了。即数组的各个 元素都被赋了初始值。 如下: