【第1期】数据类型和运算符

今日语录:脚底有阴影,是因为你在面向着太阳。

2.数据类型和运算符

(1)相关概念

  • 标识符和关键字
    • 标识符:用户自定义的符号。标识符由字母、数字、_、$组成,其中首字符不能是数字,不能为java关键字,标识符无长度限制,并且大小写敏感。
    • 关键字:Java的保留字符,每个字符都有特定的含义,字母都小写。
    • 分类:变量和方法、类名、包、常量(驼峰命名法、见文知义)
    • 中括号表示可选。
  • 变量和常量
    • 变量:在程序运行时值可变的标识符。在内存中是一段有名字的连续存储空间 type varName[=value];
    • 常量:在程序运行时值不可以改变的标识符。使用final关键字,声明时必须初始化,不能重新赋值 final int STU_AGE=22;
  • 数据类型
    • 基本数据类型: (1)数值型 整数类型(byte,short(系统不兼容,不建议使用),int,long) 浮点类型(float,double) (2)字符型(char) :两个字节存储单个字符,\t \n \r \b (3)布尔型(boolean):值为true和false,不能是0和1。
    • 类型的自动转换,小转大自动,大转小强制
    • 引用数据类型(1)类(Class)(2)接口(Interface)(3)数组(Array)(4)字符串
    • java在内存中以堆(大量)栈(少量)模型存放数据,基本类型存放在栈中,引用类型存放在堆中 //临时空间整型默认int,浮点型默认double
    • Java数据类型转换
      • 自动类型转换:由小类型转换成大类型。例如:int i = (int) 9999L;
      • 强制类型转换:由大类型转换成小类型。例如:float f = (float) 3.14;
  • 成员变量和局部变量
    • 成员变量:类中方法外的变量,也称全局变量。系统会赋默认值。 局部变量:方法中的变量,声明时最好赋初始值否则开发时可能会出错误。
  • Java运算符
    • 算术运算符:+, -,*, \,%, ++, -- 关系运算符:>,<,>=,<=,==,!= 赋值运算符: =,+=,-=,*=,/= 逻辑运算符:!,&&,||(效率更高) 位运算符: ~ ,&,|,^,>>,<<,>>>
      • 累加累减
        • 自增 (++) 和自减 (--) 运算符有两种写法:前缀(++i,--i)和后缀(i++,i--)。
        • 前缀自增自减法 (++i,--i): 先进行自增或者自减运算,再进行表达式运算。
        • 后缀自增自减法 (i++,i--): 先进行表达式运算,再进行自增或者自减运算
      • 短路与或非
        • 单个的逻辑运算符会将左右两个表达式都进行运算得出布尔值,再进行运算。
        • ‘短路与’若左边表达式为false则不会对右边的表达式进行判断,因为结果必为false;
        • ‘短路或’若左边表达式结果为true则不会对右边的表达式进行判断,因为结果必为true。
  • Java表达式
    • 可以分为开发环境JDK和运行环境JRE
    • 表达式优先级
    • C语言中bool和int类型的0和1可以自动转换

 (2)思维导图

(3)课堂练习

  • 累加累减练习
public class ArithmeticOpr {
    public static void main(String[] args) {
        int i1 = 10, i2 = 20;
        int i = (i2++); // ++在i2后,故先运算(赋值)再自增
        System.out.print("i=" + i);
        System.out.println(" i2=" + i2);
        i = (++i2); // ++在i2前,故先自增再运算(赋值)
        System.out.print("i=" + i);
        System.out.println(" i2=" + i2);
        i = (--i1); // --在i1前,故先自减再运算(赋值)
        System.out.print("i=" + i);
        System.out.println(" i1=" + i1);
        i = (i1--); // --在i1后,故先运算(赋值)再自减
        System.out.print("i=" + i);
        System.out.println(" i1=" + i1);
    }
}

编译运行:

$ javac ArithmeticOpr.java
$ java ArithmeticOpr      
i=20 i2=21
i=22 i2=22
i=9 i1=9
i=9 i1=8
  • 短路与或非练习
public class Test {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(false & a++ == 1);
        // 即使前面为false,右边的表达式还是会继续执行,即num++
        System.out.println(a);// 2

        int b = 1;
        System.out.println(false && b++ == 1);
        // 左边的表达式为false,右边的表达式将不会执行,即num不会自增
        System.out.println(b);// 1
    }
}

编译运行

$ javac Test.java
$ java Test  
false
2
false
1

(欢迎您的意见和建议,感谢支持♥♥♥)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值