• 2018.3.7java 学习第二天


      java 学习的第二天,首先我们要学习的是声明变量,在程序中,我们必须先声明变量,然后才可以去使用之,那么变量究竟是什么呢?

      在很多课本上,有很多的定义诸如:“变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。”以上是百度百科对于变量的定义,实际上这样的解释在很大程度上让读者根本看不懂,所以在这里,我想用浅显的人类语言给解释一下,如果不太准确,欢迎来喷。变量故名思议就是可以变化的量,与之相对应的自然是常量,那就是不变的量,我们在数学中学过诸多的方程式,比如 x+1=y,x 可以是1,可以是2,可以是3,也可以是任意数,当 x 为1的时候,y 为2,当 x 为2的时候,y 为3,那么 x 和 y 就是变量,是可以变的量,而方程式中的那个1就是常量,因为它是不变的,那么程序中的变量是什么呢,程序中的变量也是一个可以变化的量,它现在可以为1,伴随着程序的执行,它可能就变为2了,看到这里,初学者可能还是不太明白,我再举个例子,你可以把变量理解为一个盒子,在这个盒子中,可以放一个值,可以为1,也可以为2,随时是可以改变的,如果还是云里雾里,那也没关系,继续看下去,看完本文你就明白了。

      在java 中,如果你要用到一个变量,那么你必须先声明之,要声明一个变量,那你必须先了解 java 的数据类型,不同数据类型的声明用到的关键词是不一样的,关于数据类型,请看下图,

    1)如果你要声明的是一个整数,你可以用 byte,short,int,或者 long,其区别如下:

    四种整数类型(byte、short、int、long):    byte:8 位,用于表示最小数据单位,如文件中数据,-128~127    short:16 位,很少用,-32768 ~ 32767    int:32 位、最常用,-2^31-1~2^31  (21 亿)    long:64 位、次常用    注意事项:    int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。    整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l。    小于 32 位数的变量,都按 int 结果计算。    强转符比数学运算符优先级高。 

    比如 int age=25;

    2)如果你要声明一个小数,那么你可以用 float 或者 double,两种浮点数类型(float、double):    float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。    double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾    注意事项:    二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)    尾数:  . 1010100010   指数:1010   基数:2    浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X    float  的精度没有 long 高,有效位数(尾数)短。    float  的范围大于 long  指数可以很大。    浮点数是不精确的,不能对浮点数进行精确比较。

    比如:double shenGao=1.77;

    3)如果你要声明的变量是用来存放一个字符,那么你就要用 char,一种字符类型(char):    char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。    注意事项:    不能为 0个字符。    转义字符:   换行    回车  Tab 字符  " 双引号  \ 表示一个    两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

    比如 char ziMu=‘a’;

    4)如果声明的变量只有是或非,那么就要用到布尔类型了 boolean:true 真  和 false 假。比如 boolean a=true;

    5)如果你要声明的变量是用来存储字符串,要用到 String。比如 String a=“你好,世界!”;这里要注意 String 的 “S”是大写的;

      上面说了这么多,那么问题来了,我们为什么要用到这么多声明方式呢?这就又回到了我们最初对于变量的定义:

      变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。

      到这里,各位应该对于 java 的变量有一定的了解了吧,那么接下来我们讲一下对于变量名称的命名规范。像之前的 int i=5;int age=25;double shenGao=1.77;这一些例子中,i、age、shenGao 这些变量,名字是不是随便起的呢?其实不是的,命名也是有规范的:

      1.变量名的首字母只可以是字母(a-z,A-Z)、下划线_、美元符$这三个;

      2.变量名的其他位置可以为字母(a-z,A-Z)、下划线_、美元符$或者数字;

      3.变量名不可以重复,之前声明了变量 a,那么之后不可再次声明变量 a;

      4.严格区分大小写,比如变量 age 与变量 Age 是两个不同的变量;

      5.变量必须有初始值;

      6.变量名臣不可以使用 java 关键字,比如你不可以声明 int int=1;你不能给一个变量起名为 int,当然也不可以给变量起名为 String 或者 double 等,详情请参阅下表,表中的单词均不可以作为变量名,因为它们在 java 中都具有各自的作用;

      7.强烈建议起名用英文,而且是与你要写的变量相关,如果你要声明的变量是年龄,那么你可以声明 age,如果声明的变量是 String 字符串用户名字,那么变量名可以为 userName,这样可以增加代码的可读性,有助于养成良好的代码习惯。

      

  • 相关阅读:
    图解一道腾讯笔试算法题:「最长上升子序列」
    【时空】冰与火之歌一文弄懂时间复杂度与空间复杂度
    程序员必须掌握哪些算法?
    重学算法:Hash 算法原理及应用漫谈
    LeetCode 第 66 号问题:加一
    Java 面试 80% 的人都会踩这些坑,你知道几种?
    告别递归,从零开始一文学会递归解题
    动画: 快速排序 | 如何求第 K 大元素?
    【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
    万字长文!动态规划的终极难题:字符匹配类
  • 原文地址:https://www.cnblogs.com/clearyang/p/java.html
Copyright © 2020-2023  润新知