• 变量


    20145217 《Java程序设计》第2周学习总结(1)

    教材学习内容总结(第三章)

    本周学习的内容是Java的基础语法。
    一种语言在对它进行初步认识后,在对他进行后续的系统学习时,首要的就是变量。变量有那几种类型,分别用在什么情况,怎样赋值怎样运算。3.1就是对变量内容进行细致讲解的。我们也跟着课本思路先来温习一下变量的类型复制与运算。

    3.1

    一、变量类型

    整型:int(4个字节),byte(1个字节),short(2个字节),long(8个字节) 对应包装类:Integer,Byte,Short,Long,BigInteger(任意大的实数,理论上内存够用的话,可以有无限位)
    浮点型:float(4个字节),double(双精度8个字节) 对应包装类:Float,Double,BigDecimal
    字符型:char(2个字节) 对应包装类:Character 中文和英文均采用Unicode编码,均占2个字节。
    布尔型:boolean(1个字节)

    包装类的作用:1.实现基本类型之间的转换 2.便于函数传值 3.是在一些地方要用到Object的时候方便将基本数据类型装换

    二、printf与格式控制符号

    printf语句是对输出文字格式化后再显示在文本模式中,f即format格式化。
    %%:输出%
    %d:十进制数出
    %f:浮点型输出
    %e%E:科学计数法输出
    %o:八进制数出
    %x%X:十六进制输出
    %s%S:字符串输出
    %c%C:字符输出
    %b%B:布尔型输出
    %n:换行符号

    三、声明变量

    命名规则:1.不可以数字开头2.不可使用特殊符号3.不能使用保留字眼
    命名时常采用驼峰式命名法。
    赋值规则:1.用final语句指明变量时,不能再次赋值改变。
    2.12(十进制)=014(八进制)=0xc(十六进制)= 0b1100(二进制)

    3.字符char size='哈',字符赋值用“'”。
    4.布尔赋值用true,false。
    常用忽略符号:
    :反斜杠
    ':单引号'
    ":双引号"
    uxxxx:以十六进制指定Unicode字符数出,x表示数字
    xxx:以八进制指定Unicode字符数出,x表示数字
    :倒退一个字符
    f:换页
    :换行
    :光标移至行首

    四、运算符

    1.算术运算
    2.比较运算有<、>、==、!=,输出结果表示为布尔型

    Java有个条件运算符“条件式?成立返回值:失败返回值”

    3.逻辑运算&&、||、!

    4.位运算&(AND)、|(OR)、^(XOR)、~(补码)、>>和<<移位。

    5.递增递减运算
    6.指定运算
    a+=b a=a+b
    a-=b a=a-b
    a=b a=ab
    a/=b a=a/b
    a%=b a=a%b
    a&=b a=a&b
    a|=b a=a|b
    a^=b a=a^b
    a<<=b a=a<<b(a向左移b位)
    a>>=b a=a>>b(a向左移b位)

    五、类型转换

    两种方法,第一种在后面加上F、L等存储标示符,第二种是在前面加上(short)等明确运算空间。

    教材学习中的问题和解决过程

    学习过程中对书上的Byte与byte两种符号是否是一种产生疑惑,上网搜了一下,原来分属于基本类和包装类,但对网上解释也并没有理解太多(唉,看来代码敲的还是不够多)这里分享一下网上解释:

    1、在Java中,一切皆对象,但八大基本类型却不是对象。(其实到现在我还是不理解为什么java面向对象)

    2、声明方式的不同,基本类型无需通过new关键字来创建,而包装类型需new关键字。

    3、存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。(堆?数据结构吗?)

    4、初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false。

    5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。

    代码调试中的问题和解决过程

    代码调试依旧没有遇到太多问题,感谢几位课程进度远远超前的同学为我们发现了书上的多处错误。只是在一次学习中由于一不小心打错代码,偶然发现变量的定义在main前和main后都能不会报错,但是之后使用时会出现无法从静态上下文中引用非静态变量的错误。上网查了一下,网上有大神解释说:“因为main是static修饰的静态方法,只能访问静态变量,所以你可以用static修饰变量a。”我自己就试了下,果然可以,分享给大家。当然还是尽量别打错。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 300小时
    第二周 300/500 1/4 8/24

    参考资料

  • 相关阅读:
    IOS遍历未知对象属性、函数
    [Unity3D]Unity3D游戏开发之Logo渐入渐出效果的实现
    面向画布(Canvas)的JavaScript库
    将canvas画布内容转化为图片(toDataURL(),创建url)
    canvas上的像素操作(图像复制,细调)
    【bzoj1251】序列终结者(伸展树)
    延时标记
    曼哈顿距离(坐标投影距离之和)d(i,j)=|X1-X2|+|Y1-Y2|.
    曼哈顿距离最小生成树与莫队算法(总结)
    莫队算法(区间处理)
  • 原文地址:https://www.cnblogs.com/jokebright/p/5271787.html
Copyright © 2020-2023  润新知