计应本的自考笔记(2)-Java数据与表达式

617 阅读6分钟

主要笔记

基础语法

语法元素

  • 艺术讲究留白,程序同样如此。换行符以及回车符都可以表示一行代码的结束,它们都被视为空白。除此之外,还有空格键、Tab键也是空白。我们在Java代码中应适当加入空白,以提高代码的易读性,你不用担心影响Java的执行,编译器会自动忽略掉这些空白。

  • 代码注释对程序的易读性同样重要,并且编译器也会忽略注释。

  • Java代码的3种注释方式:

    1. 行尾注释,对声明的变量,单行程序做简短说明;
    private Boolean show = true; // 是否显示
    
    1. 独立注释,对方法的功能,设计逻辑及基本思想做说明注释;
    /*  名称 */
    public String name = 'huilin';
    
    1. 文档注释,写在公有类定义或公有方法头作为注释;
    /*
     * 这是一个类
     */
     public class HelloWorldApp {
         public static void main(){
             System.out.println("say hello");
         }
     }
    
  • 语句是Java最小的执行单位,语句以分号结尾。一个语句可以写连续的若干行。由{}包含的称为语句块。语句块可以嵌套声明。

关键字

  • 关键字也称为保留字,编译器预先保留用作特殊意义和用途的,所以不能作为标识符使用。
abstract、boolean、break、byte、case、cast、catch、char、classconstcontinuedefaultdo、double、elseextendsfalse、final、
finally、float、for、futrue、generic、goto、if、implements、import、
inner、instanceof、int、interface、long、native、newnull、operator、
outer、package、private、protected、public、rest、return、short、
static、strictfp、superswitch、synchronized、thisthrow、
throws、transient、truetryvarvoid、volatile、while

标识符与命名

  • 标识符由字母、数字、下划线或美元符组成的字符串。标识符区分大小写,长度没有限制。
  • 标识符不能 以数字作为开头。标识符中不能含有特殊字符。
  • 标识符可用作变量名、方法名、接口名和类名等。
  • Java源代码使用的是Unicode码,用16位无符号二进制数表示一个字符。
  • 良好的编程风格:
    • 类名或接口名:名词,单词首字母大写,如HelloWorld、Customer、SortClass等;
    • 方法名:动词,首字母小写的驼峰命名,如getName、setAddress、searchKey等;
    • 变量名:全部为大写字母,如BLUE_COLOR
    • 变量名:包括所有实例变量、类变量、终极变量和静态变量,都应该首字母小写的驼峰命名,尽量不要使用下划线。如balance、orders、byPercent

数据类型

基础数据类型

整数类型:byte、short、int、long
  • 整数类型数据可存储十进制(1-9开头)、八进制(0开头)或者十六进制(0x开头)形式的数值
  • Integer.MAX_VALUE表示int类型的最大值,Integer.MIN_VALUE表示int类型的最小值
  • Long.MAX_VALUE表示long类型的最大值,Long.MIN_VALUE表示long类型的最小值
浮点数类型:float、double
  • 单精度浮点型数据用float说明,双精度浮点型数据用double表示
  • 浮点型常量默认情况下是double类型,除非用字母F明确是float类型
字符串类型:char
  • 单个字符用char类型表示,char类型的常量通常用一对单引号包含
  • 字符串分为普通字符串和转义字符串
布尔类型:boolean
  • 布尔类型数据只有两个状态,true/false
  • Java是强类型语言,不允许数值类型和布尔类型相互转换

复合数据类型

  • 复合类型数据包含数组、类和接口

表达式

  • 表达式由“运算符”和“操作数”组成。操作数通常是常量或者变量。运算符按功能可分为:算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和条件运算符
  • 变量是存储数据的基本单位,变量在使用前要先声明。
  • 声明变量在方法内,称为自动变量、局部变量或者栈变量。也可以声明在类当中,称为类的成员变量。
  • 简单数据类型的变量在声明后,自动分配内存空间;而创建一个对象引用后,需要使用new运算符实例化后,才会分配内存空间。
  • 变量的作用域,是指可访问该变量的代码范围。类的成员变量作用域是整个类,方法的局部变量作用域是整个语句块。
  • 如果类中的方法,存在同名变量,则会被方法内的变量屏蔽。

运算符

  • 算术运算符:加+、减-、乘*、除/、取模%
  • 算术运算符还有++自加1操作、--自减1操作。自加自减运算符前缀和后缀形势含义是不同的,++i是i先+1然后返回值,i--是先-1再返回值。
  • 关系运算符用来比较两个值:大于>、大于等于>=、小于<、小于等于<=、等于==和不等于!=
  • 逻辑运算符:逻辑与&&、逻辑或||、逻辑非!&&||提供短路操作
  • 位运算用来对二进制数据进行操作,包含:按位取反~、按位与&、按位或|、异或^、右移>>、左移<<和无符右移>>>
  • 此外,Java中还有扩展运算符+=-=*=/=%=&=|=^=>>=<<=>>>=,条件运算符?:、点运算符.、实例运算符instanceof、new运算符以及数组下标运算符[]
  • Java是一种强类型语言,不支持自动的隐式类型转换,必须显式的进行类型转换,目的是保证转换时不丢失有用信息。但低级类型可以转换高级类型。
  • 运算符的优先级:

练习题

选择题

  1. 以下,Java关键字是【switch、new、long】
  2. 以下,能作为Java程序中标识符的是【Val】
  3. 能作为Java程序变量名的是【CASE】
  4. 能作为Java语言注释的是【从//开始知道行尾】
  5. main标识符不能作为【主函数名】
  6. 属于Java基本数据类型的是【整型、浮点型、布尔型】
  7. 以下类型转换中必须进行强制类型转换的是【long→char】
  8. 以下类型转换中必须进行强制类型转换的是【long→byte】
  9. 以下属于转义字符串的是【\t、\141、\u0061】

填空题

  1. 用来声明Java布尔类型的保留字是【boolean】
  2. 方法内定义的变量称为【局部变量、自动变量、临时变量或者栈变量】
  3. Java逻辑与和逻辑或运算符有一个特殊功能,当左侧操作数能决定表达式的值时,跳过右侧操作数的运算,称为【短路操作】
  4. 一个byte类型的运算数和一个int类型的运算数进行运算,结果的类型是【int】
  5. 当不同类型的数据进行运算时,表示范围小的类型转换成表示范围大的类型,称为【自动类型转换】
  6. 当不同类型的数据进行运算时,表示范围大的类型转换成表示范围小的类型,称为【强制类型转换】
  7. 表达式45 & 20的十进制值是【4】
  8. 表达式1==1>>>32值为【true】