美文网首页Java
Java学习第二天变量、常量和运算符

Java学习第二天变量、常量和运算符

作者: 博行天下 | 来源:发表于2017-11-28 00:39 被阅读194次

    今天学习内容如下:

    1、字面量和常量
    2、引出变量
    3、变量分类、作用域和使用规则
    4、数据类型和分类
    5、boolean类型
    6、整数类型
    7、小数类型
    8、字符类型
    9、最常用的引用类型
    10、数据过大和溢出
    11、基本类型和自动转换
    12、基本类型和强制转换
    13、表达式类型的自动提升
    14、算术运算符
    17、++、--
    18、赋值运算符
    19、比较运算符
    20、三牧运算符
    21、逻辑运算符
    22、位运算符
    23、移位操作
    24、运算符的操作优先级


    1、字面量和常量
    字面量常量比如:整数常量1,2,3,小数常量3.14,布尔常量false,true等,字面量,就表示直接给出的一个值(可以是整数,小数,true,false等等),直接量。

    2、引出变量
    变量的定义:表示存储空间,可用来存放某一类型的常量,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。
    变量的特点:
    ① 占据着内存中的某一块存储区域;
    ② 该区域有自己的名称(变量名)和类型(数据类型);
    ③ 可以被重复使用;
    ④ 该区域的数据可以在同一类型范围内不断变化;
    不推荐:同时定义多个变量。

    3、变量分类、作用域和使用规则
    成员变量:直接定义在类里的变量,又称为全局变量或字段。
    局部变量:变量除了成员变量之外,其他就是局部变量。根据定义的位置不同有3种表现形式:方法形参,方法内变量,代码块变量。
    变量作用域:
    指变量的存在范围,只有在这个范围内,程序代码才能访问它。当一个变量被定义时,它的作用域就确定了:
    作用域是定义开始到定义所在的花括号结束;
    变量使用规则:
    ① 变量必须先声明,并且初始化后才能使用;
    ② 声明变量必须有数据类型
    ③ 同一作用域内变量名不能重复定义
    静态方法中只能调用静态变量

    4、数据类型和分类
    在Java中数据类型整体上分成两大类:
    (1):基本数据类型/原生数据类型,共8个:
    数值型:
    ① 整数类型:byte,short,int,long,不同的整数类型在内存占用的内存空间大小是不一样的。 小数类型:float,double。
    ② 字符型:char,什么是字符,字母/符号。
    ③ 布尔型:boolean,表示对与错。true,false。
    (2):引用数据类型/对象数据类型:
    ①类/接口/数组

    5、boolean类型
    boolean类型:通常用于逻辑运算和程序流程控制(条件选择/循环)。
    该类型的值只能是true 或 false,表示真或假。

    6、整数类型
    整数类型(byte-short-int-long):
    byte、short、int、long类型:
    整型常量的四种表示形式:
    ① 二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B110;
    ② 八进制整数:要求以0开头,如 int a = 012;
    ③ 十进制整数:如:int a = 17;
    ④ 十六进制整数:要求0X或0x开头,如int a = 0x12;
    Java语言的整型常量默认是int型,声明long型变量后加上‘l’或‘L,因小写的l容易和数字1相混淆,建议使用大写L。
    默认情况下,一个整型的字面量默认是int类型。

    7、小数类型
    小数类型(float-double):
    float、double类型:表示小数类型又称为浮点类型,其中float表示单精度类型,double表示双精度类型,但是二者都不能表示精确的小数。
    Java的浮点类型常量有两种表现形式:
    ①十进制形式: 例如:3.14 ,168.0, .618
    ②科学计数法形式: 例如:3.14e2, 3.14E2, 1000E-2
    科学计数法表达式返回的结果是double类型。

    8、字符类型
    字符类型(char):字符,字母和符号。
    char类型:表示16位的无符号整数或者Unicode字符,Java对字符采用Unicode字符编码。
    Unicode收集了世界上所有语言文字中的符号,是一种跨平台的编码方式,Java的字符占两个字节,可以表示一个汉字。
    char常量有3种表示形式:
    ① 直接使用单个字符来指定字符常量,格式如'◆'、'A','7';
    ② 直接作为十进制整数数值使用,但是数据范围在[0,65535],格式如97,但是打印出来的值依然是ASCII码表对于的符号,如97打印出来是字符a。
    ③ 和2一样,只不过表示的是16进制的数值,格式如'\uX',X表示16进制整数;如:97的16进制是61。那么表示为‘\u0061’打印出来也是a。所以有人说char本质上也是整型,也是有道理的。

    9、最常用的引用类型
    除了8种基本数据类型,其他所有类型都是引用数据类型,包括类、接口、数组。引用数据类型默认初始值都是null。
    String是一个类,表示字符串(后面详讲),所谓字符串,就是一串字符,也就是N个字符连接在一起(N可以表示0或多个),好比羊肉串。
    字符串都得使用 "" 括起来的,连接字符串使用 “+”符号。
    字符串拼接:字符串和任意数据类型相连接,结果都是字符串类型。

    10、数据过大和溢出
    当要表示的数据超出数据类型的临界范围时,称为溢出。溢出情况发生时程序并没有做数据范围检查处理,此时会出现数据紊乱情况。
    int最大值
    int intMax = 2147483647;
    分析数据发生紊乱的原因。


    图片1.png

    11、基本类型和自动转换
    在8大基本数据类型中,boolean不属于数值类型,不参与转换,转换规则其实就是各自数据类型的空间大小。自动类型转换,也称为“隐式类型转换:当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量,系统可以完成自动类型转型。boolean 类型是不可以转换为其他数据类型。
    一般的,byte,short,char不参与转换操,
    我们直接把byte,short,char直接付给int类型。


    图片1.png

    12、基本类型和强制转换
    强制类型转换,也称为“显示类型转换”:
    当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成转换,需要加上强制转换符,但这样的操作可能造成数据精度的降低或溢出,所以使用时要格外注意。

    13、表达式类型的自动提升
    当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升,其规则是:
    所有的byte、short、char类型被自动提升到int类型;
    整个表达式的最终结果类型被提升到表达式中类型最高的类型;
    double d1 = 123 + 1.1F + 99L + 3.14;
    System.out.println('a' + 1);//98
    byte b = 22;
    b = b + 11;//编译出错,此时结果类型应该是int

    14、运算符 图片2.png 图片3.png 图片4.png
    图片5.png

    18、三牧运算符
    判断真假?true :false

    19、逻辑运算符


    图片6.png

    &:表示并且,当操作数A和B都为true结果才为true,否则结果result 是false。
    &&:和&结果相同,具有短路效果,如果左边操作数A是false,result 一定为false,且不运行B的运算。
    |:表示或者,A和B都为false结果result为false,只要有A或B是true,结果就是true。
    ||:和|结果相同,具有短路效果,如果左边操作数A是true,result一定为true,且不运行B的运算。
    ^:判断A和B是否不同,不同则为true,相同则为false。
    !:取反,!true结果是false,!fasle结果是true。

    20、位运算符
    遵循规则:
    &:参与运算的两个数,若相应位数的值都为1,则该位结果值是1,否则是0。
    |:参与运算的两个数相应位中只要有一个1,结果就是1。
    ^:参与运算的两个数相应位相同则结果为0,否则为1。
    ~ :表示把每个二进制位的“1”换成“0”,把“0”换成“1”。

    21、移位操作
    ① <<:将操作数的二进制码整体左移指定位数,左移之后的空使用“0”来补充。
    ② >>:将操作数的二进制码整体右移指定位数,右移之后的空使用“符号位”来补充:
    若是正数使用“0”补充;
    若是负数使用“1”补充;(操作负数:取反,求补,操作,取反,求补)
    ③ >>>:将操作数的二进制码整体右移指定位数,右移之后的空位使用“0”来补充。

    22、运算符的操作优先级


    图片1.png

    Editplus编辑javac和运行java的配置
    下载jdk,再eidtplus里面设置java、javac就好,选择jdk里面设置的
    文件名要和类名一样

    图片3.png 图片4.png 图片7.png

    相关文章

      网友评论

        本文标题:Java学习第二天变量、常量和运算符

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