美文网首页
闲聊Java编程入门四:常用类型

闲聊Java编程入门四:常用类型

作者: 枫山别院 | 来源:发表于2022-10-02 10:11 被阅读0次

    欢迎访问我的博客,同步更新: 枫山别院

    基于Java 8

    类型是什么,从哪里来的

    从这节开始,我们就正式进入编程语言的学习了。

    我先提个问题考一下大家:

    1 + 1 = ?

    这个非常简单,在计算正确的情况下,不出意外应该是等于2.幼儿园的小朋友在没看过那个小品的情况下,基本都能算对。

    那么,请问:

    A + B = ?

    也许是AB?或者BA?或者123吗?

    可以说,没有人知道等于什么。英文字母不能做加法计算,所以没有结果,这是常识。

    人类世界的常识在计算机世界也是有效的。人类都不知道等于什么,计算机这个榆木脑袋更不可能知道了。

    不同的东西运算规则不一样,为了区分什么样的内容能做运算,我们就有了类型这个概念。

    123321,这种,我们叫做数字的,可以做加减乘除等各种数学运算。

    A,B,C,这种的,是字母,不能做加减乘除等数学运算。

    我们人类的数字,在计算机中,叫做整数类型,简称整型。

    小数类型对于计算机来说,比123这种整型要复杂一点,所以它有个单独的类型,叫做浮点类型。在有的编程语言中也不区分,整数和小数是同一种类型,但是Java是一种严谨的语言,它是区分的。

    浮点这个名字很奇怪,词不达意。这是因为外国人先发明了计算机,他们有了优先命名权,这些奇怪的词语都是直接从英文翻译过来的,我们觉得不能理解很正常的,只要知道它表示小数就可以了,不用深究,这种词语还有很多。

    那么字母这些,也有一个类型,叫做字符类型。这个好理解吧?

    现在我们有了理论支持,我们就知道了,什么能计算,什么不能计算。
    我们给计算机定义好了这些规则,计算机就可以按照规则,计算我们给出的算式。

    实践一下整型计算

    我们在网页中打开运行代码的网站,我们以后以w3cschool这个网站为例。

    打开之后,可以在黑框中看到如下代码:

    public class Main {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
    

    有很多内容,我们目前还没有学习,没有关系,学习的初级阶段就是照猫画虎。

    其实我们关注的重点就是这一句代码而已:

    System.out.println("Hello, World!");
    

    这句代码的意思就是,把Hello, World!显示在屏幕上。

    那么我现在想让计算机帮我计算一下1+1这个难题。应该如何写呢?
    其他的地方不要动,我们修改下括号里面的内容,照猫画虎如下:

    System.out.println(1 + 1);
    

    请大家注意:必须一个字不差的跟上面一样,因为计算机是个榆木脑袋,任何一次字母或者符号错了,它就不认识了。

    1 + 1 这个算式,为了美观,我在+号的两边添加了空格,当然你也可以这么写 1+1

    写完之后,点击运行代码,看看结果是什么。

    结果是2,如果你跟我一样,那么你的第一个程序就运行成功了,恭喜。

    你可以改成其他的试试,比如123 + 321 或者 321 - 100
    看看计算结果对不对。

    字符类型

    在上面我们已经试过整型的计算了。

    那么,字符如何操作呢?

    我们讨论过了,字符是跟数字不一样的类型,计算机这个榆木脑袋,是区分不出来A 和 1的明显差别的,如果你直接写一个A给计算机,它会报告一个错误给你,不认识A这个符号。。。。。。

    唔。。。。。。这是个问题,假如你是当年发明计算机的科学家,你如何解决呢?

    最好是跟数字的书写方法不一样,计算机就能认识了。

    于是,他们发明了字符的书写方法。很简单,用单引号来包裹住字符就可以了。

    像这样:

    'A'
    

    这么写,计算机就能认识了,哦。。用单引号来裹住的,是个字符。

    实践一下字符类型

    同样的,我们在网页中修改代码,照猫画虎如下:

    System.out.println('A');
    

    然后运行一下代码看看,如果你看到显示了A,那么就是成功了。计算机认识我们输入的A,并且给我们显示了出来。

    如果你的没有成功显示A,那么检查一下是否跟上面一样。

    初学者常犯的错误就是,忘记了区分中文和英文的逗号引号分号。因为计算机是外国人发明的,所以他们都是用的英文的符号,不是中文的。

    逗号和引号在中文输入法和英文输入法中,是不一样的。

    我在上面用的单引号是',而不是中文的单引号,这两个符号是有细微区别的,中文的有一点倾斜。

    英文的逗号是, 中文的逗号是这两个比较难区分,中文的要精致一些,英文的就是个小撇。

    英文的分号是;,中文的分号是,也不太一样,中文的要小一些。

    所以在写代码的时候,我们都是直接切换到英文输入法。

    目前在没有在专用的编辑器中写代码,只能靠大家自己的眼力了,后面我们会使用专业的编辑器,它们可以提示我们符号写错了。

    如果你实在分不清单引号,那也没有关系,字符类型其实我们平时用的很少。但是逗号和分号是用的很多的。

    多个字符

    单个字符的我们已经学会了,单引号表示。我现在不想用字符了,我要写单词,我要写个Love

    应该怎么表示?

    'Love'这样写吗?

    这种写法在有些编程语言中是可以的,但是!Java是个严谨的编程语言,单个字符跟多个字符还是有差别的嘛。

    那么,多个字符就用双引号好了,顺理成章吧?

    多个字符组成一个串,名字就叫字符串好了。我们就有了字符串类型,用来表示多个字符。

    像这样:

    "Love"
    

    同样的道理,我想显示一句话:I Love You !

    就这样:

    
    "I Love You !"
    

    我们已经跟计算机约定好,双引号包裹住的内容,是文字内容,我们可以写一句话,或者一封表白信。

    但是也有个问题,左右两个双引号只能在同一行,计算机才能认为两个双引号是一对的,真是有点榆木脑袋。

    像这样是不行的:

    "I Love 
    You !"
    

    这样就是左右两个双引号不在同一行中,计算机会不认识。

    实践一下字符串类型

    像这样照猫画虎改一下:

    System.out.println("I Love You !");
    

    运行一下,是不是显示出来了呢?

    如果没有,再检查一下是否一样,有没有忘了使用英文的引号。

    显示中文也是可以的

    System.out.println("我爱你!");
    

    我们似乎还忘了一种简单的计算

    小学课程里,除了加减乘除,好像还有大于和小于的比较。
    如果我在代码里输入如下的代码,会显示什么呢?

    System.out.println(3 > 2);
    

    3 > 2,说了一句大实话。请执行一下看看。

    我的计算机告诉我,结果是true。如果你跟我一样,那么我们就发现了一个新大陆。

    那么如果是这样呢?

    System.out.println(3 < 2);
    

    这时候计算机告诉我,结果是false

    我们知道,在英文中,true的意思是符合事实的,真实的,真的。 false的意思是假的,错误的。

    那么,我们在计算3 > 2的时候,计算机其实是想告诉我们,这是真的,正确的。3 < 2的时候,告诉我们,这是错误的,假的。

    看来,计算机还能做一些比较大小的计算,可以告诉我们结果是不是正确的。如果是正确的,就告诉我们true,错误的就告诉我们false

    那么,我们推断,肯定计算机是认识truefalse两个词的。

    是的,这两个词也是对应一个类型的,叫做布尔类型,英文是boolean。这个类型仅有这两个值,对计算机来说,不是对的,就是错的,它是榆木脑袋,理解不了其他的。又是一个奇怪的名字,不要深究,因为我干了这么多年,到现在也不知道为什么,只知道是英文翻译来的。

    实验

    之前我们在上面说,A和B是不能相加的,除非我们约定一种计算规则。
    请自己尝试一下,我们是否跟计算机有关于字符相加的约定规则,计算结果是什么呢?

    System.out.println('A' + 'B');
    

    如果是小写的a和b呢?

    System.out.println('a' + 'b');
    

    再如果是字符串呢?能相加吗?

    试一试看:

    System.out.println("hello" + "Java");
    

    如果是减法呢?

    System.out.println('A' - 'B');
    

    如果我们比较两个字母的大小呢?

    System.out.println('A' > 'B');
    

    请大家尝试一下。

    相关文章

      网友评论

          本文标题:闲聊Java编程入门四:常用类型

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