美文网首页视觉艺术
JAVA开发入门教程:(二)基本数据类型

JAVA开发入门教程:(二)基本数据类型

作者: 只有你只有你 | 来源:发表于2020-05-11 16:51 被阅读0次

java中有8种基本类型,分别是byte、short、int、long、float、double、boolean、char。

它们是用来定义和保存数字、单个字符、布尔类型的东西,他们也可以统称为“变量”。

他们的定义方式是:基本类型名 空格 自定义变量名称 等号 数值。如:int sum = 20;

定义方式看下面的例子:

1、新建一个类Test1(或者你自己起名字,以后我不再解释了),并写入以下代码

    public class Test1 {

    public static void main(String[] args) {

    byte b = 3; //范围是-128~127之间。

    short s = -200; //短整型,范围是-32768~32767之间。

    int i = 1000; //整型,范围是负的2的31次方到正的2的31次方减1。

    long l = -999999999; //长整型,范围为负的2的63次方到正的2的63次方减1。

    float f = 6.12f; //浮点型,就是带小数点的数。范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

    double d = 1234567890.123456d; //双精度型,就是比float的范围更大的带小数点的数。范围在4.9e-324~1.8e308,赋值时必须在数字后加上d或D。

    boolean bool = true; //布尔型,只有true(真)和false(假)两个取值。

    char c = 'A'; //用单引号赋值,只能存一个字符。

    System.out.println(b);

    System.out.println(s);

    System.out.println(i);

    System.out.println(l);

    System.out.println(f);

    System.out.println(d);

    System.out.println(bool);

    System.out.println(c);

    }

    }

输出:

现在,你已经学到了一种定义变量的方式,那么,这个有什么用呢?你可以用这个来做一个简单的计算题。

比如333.22*(992+33333/233)

    public class Test1 {

    public static void main(String[] args) {

    float a = 333.5f;

    int b = 992;

    int c = 1231;

    int d = 2;

    float sum = a * (b + c / d); //定义一个变量sum来接受计算的结果

    System.out.println("计算333.5 * (992 + 1231 / 2)");

    System.out.println(sum); //第一种计算方式,把计算结果先放进sum中,最后打印sum

    System.out.println(a * (b + c / d)); //第2种计算方式,直接在输出的时候计算并打印

    }

    }

运行之后,打印:

基本类型的定义和使用方式就是这样简单。

简单的代码里面包含有不少规则和编译原理:

1、在上面的代码中,为什么float sum = a * (b + c / d)不建议写为double sum = a * (b + c / d)?

答:在第一个代码中,你可以看到八种基本类型的赋值范围,这样可以根据你的需要去选择,虽然可以用long或double存1,但是范围越大的类型,占的空间越大,随意需要按需选择。在基本类型中,他们之前是可以转换的,一个算式计算完之后,结果会自动转换成高级别的类型。级别的从高到底为:双精度型(double)>浮点型(float)>长整型(long)>整形(int)>byte。上面的算式中包含了整形(b、c、d)、和浮点型(a),其中级别最高的是float,所以最后计算的结果会自动转换成float,需要用float型 接受。另外,用比float级别更高的double也是可以的,你可以试试。参考文章:https://blog.csdn.net/hjgzj/article/details/51699938

2、低级类型是可以直接转换成高级类型吗?

答:首先声明下,基本类型是没有高低级别之分,我说的低级和高级类型, 仅仅是指他们转换的优先级。然后回答这个问题,可以转换,看下面代码

    public class Test1 {

    public static void main(String[] args) {

    int i = 99; //定义一个整形

    long l = 888888888888888888l; //定义一个长整形

    double d = 9999999999999999999999999d; //定义一个双精度型

    float f =3.1415555555555f; //定义一个浮点型

    l = i; //把i赋值给l

    d = i; //把i赋值给d

    f = i; //把i赋值给f

    System.out.println(l);

    System.out.println(d);

    System.out.println(f);

    }

    }

运行结果:

不同的类型相互赋值就是一个类型转换的过程。

3、高级类型是可以直接转换成低级类型吗?

答:可以的,不过需要显式的加上强转代码。如果你直接按照上面的方法强转,会报错:

你可以把鼠标放在红叉上查看原因或者点击自动修正代码。

代码如下:

    public class Test1 {

    public static void main(String[] args) {

    int i = 99; //定义一个整形

    long l = 888888888888888888l; //定义一个长整形

    double d = 4234.1312; //定义一个双精度型

    float f =3.1415555555555f; //定义一个浮点型

    i = (int) l; //把l赋值给i

    System.out.println(i);

    i = (int) d; //把d赋值给i

    System.out.println(i);

    i = (int) f; //把f赋值给i

    System.out.println(i);

    }

    }

结果如下:

我们可以看到,强转之后,丢失了精度。

以上,就是本章的学习内容。

以下是扩展内容。

今天写的代码,有很多地方都加了两个斜杠“//”,这种标记叫做“注释”,他是用来解释这行代码 是什么意思的,在程序运行中不会起任何作用,仅仅是给人看的,为了方便看懂代码而写,注释可以写在程序的任何注释。一个程序员应该养成写注释的好习惯,比如一段代码逻辑很复杂,如果不写注释,很可能你明天再看这段代码就不知道是什么意思了。注释分两种,一种叫单行注释,一种叫多行注释,单行注释从这一行的“//”开始,到这一行结束,这部分代码不生效,多行注视从“/**”开始到“*/”结束,这部分代码不生效:

    /**

    * 这是一个测试类

    */

    //类上也可以单行注释

    public class Test1 {

    /**

    * 这是一个main方法,程序从这里开始

    * yoyoyo

    * 我是多行注视哟

    */

    //方法上也可以单行注释

    public static void main(String[] args) {

    //定义一个变量a(单行注释)

    int a = 0;

    //System.out.println(a);(单行注释)

    System.out.println(a);

    }

    }

结果只输出了一个0,被注释掉的代码不会运行

eclips小技巧:

单行注释:把鼠标点击到某一行(或者选中多行),Ctrl+/    重复操作会取消注释,一般用键盘右边的“Ctrl”和键盘右侧Shift左边的“/”会手感好些。

多行注视:输入“/**”,然后回车,eclips会自动补全注释代码。

快捷提示:Alt+/    例如你输入了“flo”然后Alt+/之后会出现一个选择列表,你用键盘的↑↓去选择一个你想要的,然后回车确认。

你是不是觉得每次输入System.out.println()都很麻烦,其实通过快捷键就很容易,你可以输入syso之后Alt+/,会自动补全后面的。

作业:

1、定义a、b、c三个整形变量,使得a=99999,b=9999999,c=99999999,打印出这三个的乘积,并分析其结果。

2、打印System.out.println(0.1+0.1+0.1); 分析结果的原因。

3、练习int、long、float、double之间的相互转换。

4、练习上面提高的eclips小技巧。

以上有不懂的,学会使用百度来解决问题。

上节作业答案:

    public class HelloWorld {

    public static void main(String[] args) {

    System.out.print("这是斜杠:/\n这是反斜杠:\\\n这是两个反斜杠\\\\\n我要空一行\n\n\"双引号哦\"");

    }

    }

\n表示输出一个换行、\\表示输出一个\,\"表示输出一个双引号。主要别把斜杠(/)和反斜杠(\)弄混了

————————————————

版权声明:本文为CSDN博主「我纯洁全身都纯洁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hjgzj/java/article/details/79668897

相关文章

网友评论

    本文标题:JAVA开发入门教程:(二)基本数据类型

    本文链接:https://www.haomeiwen.com/subject/dhzunhtx.html