短整型(short)、整型(int)和长整型(long),它们均可以定义整型变量,可是因为分配的内存空间不一样,所能表示的数据的长度也不一样。java
咱们能够定义并初始化一个整型变量:android
int a=100;
那么变量a最大只能表示2147483647。若是赋值超过这个数,程序会报错,咱们要根据实际须要使用不一样的整型类型。下面咱们从新给a赋值测试
a=2147483647;
这个数据比较大,对咱们而言比较难以看清,JDK 7以后整型数据咱们可使用如下这种方式赋值编码
a=2_147_483_647;
另外咱们定义整型时通常使用十进制表示,java也提供了定义为八进制和十六进制来表示:spa
八进制就是只能表示:0 1 2 3 4 5 6 7 ,code
注意:八进制必须以0开头。如:对象
0123 045 098 046
十六进制:blog
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
注意:以十六进制表示时,需以0x或0X开头,如:内存
0x8a 0Xff 0X9A 0x12
还有就是对长整型的初始化和赋值时要主意,通常咱们定义一个整数时默认都是整型,为了表示长整型咱们须要在整数的后面加一个英文字符'L'或者'l',因为英文字符'l'和数字‘1’比较相似,因此咱们习惯使用大写字母'L'。如:作用域
long a=9L; long b=156L;// 长整型必须以L作结尾
浮点数类型有float(32位)和double(64位)两种类型,分别叫作单精度浮点数和双精度浮点数,表示浮点数时,要在后面加上f(F)或者d(D),用指数表示也能够。注意:因为小数常量的默认类型为double型,因此float类型的后面必定要加f(F),用以区分。初始化和赋值时除了支持通常的小数的写法外,也支持科学记数法。如如下例子都是能够的。
float a=2.4f; float b=2e3f, double c=3.6d; double d=3.44; float e=5.022e+23f
上面这些定义都是合法的。
布尔类型比较特殊,它的值只有两种:true和false。布尔类型通常用于条件判断。与C语言不一样,C语言可以使用整数0表示false,而非0表示true,可是在java中不能够这样,表示布尔型只能使用true和false,例子以下:
boolean flag=true;
boolean f=false;
字符常量是由英文字母、数字、转义序列、特殊字符等的字符所表示,它的值就是字符自己,在java中使用单引号“’”表示,每一个字符占用两个字节。如:
'a' '8' '\t' '\u0027'
可使用全球统一编码(Unicode),码值加上\u来表示对应的字符, 采用Unicode的目的是为了覆盖全球各类各类语言使用的不一样的语言标记,分为UTF-8和UTF-16。
字符串是天然界描述信息很经常使用的一种形式,所以使用很是频繁。Java中使用用双引号括起来进行标示,如:
"Hello World" "123" "Welcome \nXXX"
使用字符串时须要注意,咱们存储信息时会带上一些特殊的方便人类阅读的格式标记,好比回车换行显示、或者直接想标示一个双引号,这是就须要使用转义字符的机制来实现,所以转义字符的目的是在字符串中标示一些特殊的标记信息,格式使用一个\开头,形如:
\r表示接受键盘输入,至关于按下了回车键; \n表示换行; \t表示制表符,至关于tab键; \b表示退格键,至关于Back Space; \'表示单引号,\"是双引号; \\表示一个斜杠“\”。
好比上面的"Welcome \n XXX",它的运行结果是:
Welcome
XXX
null字面量:用null表示,表示为空,注意在逻辑上来讲:0不是空。null值在定义对象赋初值时使用。
与C语言不一样,java的全部的变量都必须在类中声明,不容许有变量不在类中声明的,固然变量也是是有具体的使用范围的,这种范围就是变量的做用域。声明在class的根语句块的变量是具备全局做用域,就是在本程序内部任意位置都访问获得,被称做全局变量。局部变量会覆盖全局变量。以下面这个例子:
public class Tt { int i = 100;// 类的全局变量 public void test() { System.out.println("访问的是全局变量i=" + i); int i = 50;// main方法中的全局变量,覆盖全局变量 System.out.println("访问的是局部变量i=" + i); } public static void main(String[] args) { Tt tt=new Tt(); tt.test(); } }
咱们声明了一个全局变量i,这个变量i的做用域在整个类中均可以访问,而后咱们定义了一个普通方法test,在这个方法体中,咱们也能够访问全局变量i,可是若是我在这个方法里也声明了一个同名的变量i,也就是局部变量,那么局部变量i会覆盖覆盖全局变量i,因此第一个i输出的是100,而第二个i输出的时50,你能够在main方法中调用这个方法测试一下。
常量就是在程序运行中不变的值,使用final关键字进行声明。
final double rate = 3.1415926;
在java中也能够用public static final修饰一个自定义字面量,或者使用枚举类型也能够表示一组字面量,枚举类型咱们后面章节讨论。final关键字和public关键字咱们也会在后面再讲解
public static final String ONEEDUNAME=”java and android 自学网”;//定义一个字符串常量