Java语言基础(四)—— 变量和数据类型

来源:互联网 发布:泰国出行必备软件 编辑:程序博客网 时间:2024/05/22 03:48

Java是一种强类型的语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共有8中基本类型(primitive type),其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。


1、整型

整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型,具体如下:

整数          占用字节数byte             1short            2int              4long             8

在通常情况下,int类型最常用。但如果表示地球上的居住人数,就需要使用long类型了。byte和short类型主要用于特定的应用场合,比如说,底层文件处理或者需要控制占用存储空间量的大数组。
我们需要注意的是:
1. 整数默认是int类型
2. 长整型后缀用L或者l标记。建议使用L。
下面是我写的一段案例代码,通过代码学习变量和数据类型,如下:

public class DataTypeDemo {    public static void main(String[] args) {        //定义变量的格式:        //数据类型 变量名 = 初始化值;              //定义一个字节变量        byte b = 10;        System.out.println(10);        System.out.println(b);              //定义一个短整型变量        short s = 100;        System.out.println(s);              //定义一个整型变量        int i = 1000;        System.out.println(i);              //超过了int的范围        //int j = 1000000000000;        long j = 1000000000000L;        //long j = 100L;        System.out.println(j);              //定义浮点数据变量        float f = 12.345F;        System.out.println(f);              double d = 12.345;        System.out.println(d);              //定义字符变量        char ch = 'a';        System.out.println(ch);             //定义布尔变量        boolean flag = true;        System.out.println(flag);    }}

我们使用变量的时候要注意的问题呢?
1.作用域:变量定义在哪个大括号内,它就在这个大括号内有效。并且,在同一个大括号内不能同时定义同名的变量。
2.初始化值:没有初始化值的变量不能直接使用。你只要在使用前给值就行,不一定非要在定义的时候立即给值。推荐在定义的时候给值。
定义变量的格式:
(1)数据类型 变量名 = 初始化值;
(2)数据类型 变量名;
(3)变量名 = 初始化值;
3.在一行上建议只定义一个变量,可以定义多个,但是不建议。
如下我写的案例代码:

public class DataTypeDemo2 {    public static void main(String[] args) {        //定义变量        int x = 100;                //错误,不能有同名的        //int x = 200;              //定义变量必须给值        //int y;        //System.out.println(y);                int z;        z = 100;        System.out.println(z);              //在一行上定义多个变量        //int a = 10; int b = 20; int c  = 30;        //上面的写法可以,但是不建议。        int a = 10;         int b = 20;         int c  = 30;                //int d, e;        //d = 40;        //e = 50;               //int f,int g; //错误        //int h; int i; //正确    }}

2、浮点型

浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型,如下:

浮点数         占用字节数float             4double            8

double表示这种类型的数值精度是float类型的两倍(又称双精度数值)。绝大数的应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。比如:需要快速地处理单精度数据,或者需要存储大量数据。
float类型的数值有一个后缀F(例如:3.14F)。没有后缀F的浮点数组默认为double类型。当然,也可以在浮点数值后面添加后缀D(例如:3.14D)。
我们要注意的是:单精度浮点数用F或者f标记。建议使用F。


3、char类型

char类型用于表示单个字符。通常用来表示字符常量。例如:’A’是编码为65所对应的字符常量。它与“A”不同,“A”是一个包含字符。Uniocde编码单元可以表示16进制值,其范围从\u0000到\uffff。
如下我写的案例说明:字符是一数字

public class CharDemo {    public static void main(String[] args) {        char c = '田';        int i = c;        System.out.println(i);        c = '野';        i = c;        //内存2进制i——> 10进制 ->显示10进制        System.out.println(i);         //内存2进制:37326 -> 查找字库中的字模        // -> “野”        System.out.println(c);              //字符是一个数,可以利用数字进行        //初始化,但是数字不能超过char范围。        //c 的类型是char,赋值30000,编码        //为30000的字符'田'        c = 30000;        //按照char类型输出        System.out.println(c); //田        //如下代码输出结果:没有对应字模可以显示        c = 65534;        System.out.println(c);         //使用整数对char进行赋值,不能超过char        //的范围!否则编译错误        //c = 65536;        //c = 65532+6;//字面量的运输结果也不能超范围        //使用16进制unicode进行赋值        // 20013 == 4e2d        c = 20013;//10进制unicdoe编码        System.out.println(c);        c = '\u4e2d';//16进制unicode编码        System.out.println(c);        //转义字符        //将回车赋值给字符类型的办法:转义字符        c = '\n';// c 是回车字符        //如果输出c,在屏幕上回显示一个回车        System.out.println(c);         //在Java中,'\n' 代表回车        //在Java中,'\'' 代表单引号        c = '\'';         System.out.println(c); //输出单引号        c = '\"'; //在Java中,'\"' 代表双引号        System.out.println(c);//输出双引号        c = '\\'; //在Java中,'\\' 代表斜线        System.out.println(c);//输出 \    }}

4、boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整形值和布尔值之间不能进行相互转换。
用途:表示是否成立的两种状态。boolean类型占8位,相当于1个字节。
我写的案例代码如下:

boolean running;//正在跑,正在运行中running = true;//成立running = false;//不成立boolean gameOver = true;//游戏结束成立boolean isMan = true; //成立,纯爷们boolean started = true; //已经开始=成立

数据类型转换

引子:char c = '中';int i = c; //将字符类型赋值给int类型

Java 中范围小数据类型可自动转换为范围大的数据类型,转换期间一般没有损失。
如下案例代码:

/* * 测试自动类型转换 * 小范围到大范围的转换 */byte b = 120;long l = b;//自动类型转换double d = b;//自动类型转换System.out.println(l);//120System.out.println(d);//120.0char c = '中';int i = c;//自动类型转换System.out.println(i); 
0 0
原创粉丝点击