手持终端
Eclipse平台下Android开发环境的搭建
PhoneGap配置到Eclipse开发环境
使用PhoneGap开发Android应用程序
PhoneGap3.0以上版本配置到Eclipse开发环境
使用PhoneGap3.0版本开发Android应用程序
PhoneGap3.0的第三方Android插件
Cordova配置到Android Studio开发环境
Android系统基本架构
Android的字符串颜色图片样式
Android的常用控件及菜单
Android的消息提示及传递
Android系统的组件通信
Android系统的Service
Android的广播消息接收
Android的数据存储与访问
Android系统的网络应用
Android图形图像处理
Android的Fragment框架
Android系统的并发编程
Java源文件结构与保留字
Java语言的数据类型与变量
Java的运算符与流程控制
Java语言的数组及操作
Java面向对象编程
Java的常用类
Android开发常用工具及命令
Android应用程序权限管理
Android系统提供的R类内置资源
Android系统的控件类及其方法
Android系统的菜单类及其方法
Android系统的对话框
Android应用程序模型及组件
Android的绘图类及方法
Android系统的动画效果
Android的数据库操作
Android的多媒体功能
Android系统照相机的使用
Android的文本朗读TTS
获取Android系统信息
Android系统的电话操作
Android系统的定位
Android系统的传感器
一、Java语言的数据类型:
Java语言支持多种数据类型,分为简单类型和引用类型两种:
1.简单类型:
Java有8种简单类型,4种整形,2种浮点型,1种字符型,1种布尔类型:
数据类型 |
数据类型名称 |
大小(bits) |
默认值 |
boolean |
布尔类型 |
1 |
false |
char |
字符型 |
16 |
0 |
byte |
字节型 |
8 |
0 |
short |
短整型 |
16 |
0 |
int |
整型 |
32 |
0 |
long |
长整型 |
64 |
0 |
float |
单精度浮点型 |
32 |
0.0 |
double |
双精度浮点型 |
64 |
0.0 |
1)布尔型:
使用关键字boolean来定义,数据只能取值true和false,常用于条件判断语句中,示例:
boolean sendMsg=true;
其中的true和false不能用双引号,否则就成了String类型。
2)字符类型:
字符类型char是用单引号括起来的单个字符。Java字符采用16位的Unicode编码格式,而Unicode被设计用来表示世界上所有书面语言的字符。Unicode通常用十六进制编码形式表示,范围是\u0000~\uffff,其中的前缀\u标志着这是一个Unicode编码字符,其中前256个(\u0000~\u00ff)字符与ASCII码中的字符完全重合。
示例:
char Msg1='M';
char Msg2='中';
char Msg3='5';
char Msg4='\u0001';
char数据类型只能记录单个的字符值,不能表述更多的文字信息。Java还提供了String类型,记录由多个字符组成的字符串,但不是基本数据类型,而属于引用类型。
Java语言中允许使用转义字符“\”,将其后的字符转变为其他的含义,比如换行“\n”。Java中使用绝对路径,也需要使用转义:
String path="c:\\learning\\java";
3)整数类型:
整数类型分为4类,byte、short、int、long,差别在于所占用的内存空间和表示的数值范围不同:
类型 |
占用存储空间 |
表示数值范围 |
byte |
1字节 |
-128~127 |
short |
2字节 |
|
int |
4字节 |
|
long |
8字节 |
int是Java中最常用的一种整型数据,是整型常量的默认类型;当需要表示很大的数字时,则需要用到long,在数据后面需要加上L或l来表示。
整型常量默认为int类型,但在不超过其表示数值范围情况下,可以将int类型的数据直接赋给char、byte、short类型的变量。示例:
byte b=12;
short s=12345;
int i=1000000;
long l=1000000000L;
Java中允许使用3种不同的进制形式表示整型变量,八进制、十进制、十六进制。八进制以0开头,如01234表示十进制83,-011表示十进制数-9;十六进制以0x或0X开头,如0x123表示十进制291,-0X12表示十进制数-18。
4)浮点类型:
Java的浮点类型有两种,float和double。浮点类型的字段长度和表示数值范围为:
类型 |
占用存储空间 |
表示数值范围 |
float |
4字节 |
-3.403E38~3.403E38 |
double |
8字节 |
-1.798E308~1.798E308 |
Java语言的浮点型常量默认为double型,要声明一个常量为float型,需要在数字后面加上F或f。浮点类型常量有两种表示形式,十进制小数形式和科学计数法形式。示例:314.0、0.314、3.14e2、314E2。
2.简单数据类型之间的转换:
1)自动转换:
将表示数值范围比较小的数据类型数据转换成表示数值范围大的数据类型,如byte转成short、short转成int、char转成int、int转成long、int转成double,可以顺利转换,程序会自动进行,称为Widening Conversion。
2)强制转换:
其他方式的转换,就常常会造成数据精度的损失,称为Narrowing Conversion,需要强制进行。示例:
double d=1.2345;
int i=(int)d;
这样可以将double类型的数据d转换成int类型的数据,但小数部分被丢弃了。
3)引用类型:
Java语言中,除了8种基本数据类型以外的数据类型都称为引用类型,或复合数据类型。引用类型都是以某个类的对象的形式存在的,在程序中声明的引用类型变量只是为该对象起的一个名字,或者说是对该对象的引用,变量的值是对象在内存空间中的存储地址而不是对象本身。
Java中的所有对象都要通过对象引用访问,引用类型数据以对象的形式存在,其构造和初始化及赋值的机制都与基本数据类型的变量有所不同。声明基本数据类型的变量时,系统同时为该变量分配存储器空间,此空间将直接保存基本数据类型的值;而声明引用类型时,系统只为该变量分配引用空间,并未创建一个具体的对象或者说并没有为对象分配存储器空间,将来在创建一个该引用类型对象后,再使变量和对象建立对应关系。
通常,字符串引用变量创建时就初始化:
String s="hello android";
引用类型示例:
构造有引用类型成员的类Email,定义了3个属性address、title、group,还有构造方法。
public class Email {
//定义属性
String address;
String title;
int group;
//定义一个构造方法
public Student(String Email_address, String Email_title, int Email_group) {
address=Email_address;
title=Email_title;
group=Email_group;
}
//定义属性address的设置方法
public void setAddress(String Email_address) {
address=Email_address;
}
//定义属性title的获取方法
public String getTitle() {
return title;
}
......
}
定义了这个类,也就定义了一个引用类型的数据类型Email。再定义一个TestEmail.java类,用于说明引用类型的用法。
public class TestEmail {
public static void main(String[] args) {
Email e1;
e1=new Email("Android@gmail.com", "capter 3", 2);
System.out.println("第一封邮件地址是:"+e1.getAddress());
Email e2;
e2=e1;
e1.setAddress("Java$gmail.com");
System.out.println("第二封邮件地址是:"+e2.getAddress());
}
}
二、变量:
Java中,所有的变量必须先声明再使用,基本的声明方法为:
<data_type> var_name [=var_value]
其中:
·<data_type> :变量类型,可以是基本类型,或类及接口类型的名字。
·var_name:变量名,必须是符合Java命名规范的标识符。
·var_value:变量的值,这个值的类型必须和变量的类型一致或兼容。
声明同一类型的多个变量时,使用逗号分隔:
int a=1,b,c=100;
1)局部变量:
Java允许变量在任何程序块内被声明,变量的作用域在指定的局部程序块,这种类型的变量被称为局部变量。变量在其作用域内被创建,离开其作用域时被撤销。
2)成员变量:
不在方法体也不在程序块中的变量,称为成员变量。成员变量定义在类中,是类成员的一部分,整个类都可以访问。只要类的对象被引用,成员变量就将存在。语法:
[<modidiers>] <data_type> <var_name_list>
其中:
·<modidiers>:修饰符,public、protected、private、final和static等,可使用默认访问修饰符,使用时变量可以被同一包package中的任何类访问。
3)变量初始化:
系统不会对局部变量进行默认初始化,因此在使用前必须显式初始化,有两种方法。一种是声明时赋值,也可以声明后在需要时再赋值。
成员变量可以默认初始化,可以不需要手动显式初始化。对引用变量,默认初始值是null,对int变量初始化为0,boolean变量初始化为false。成员变量还可在类的构造方法或其他方法中动态初始化。
4)值传递和引用传递:
在Java中,只有基本类型和按照下面这种定义方式的String是按值传递的,其他都是按引用传递:
String str="This is Java";