Java SE基础:基本数据与运算

第二章 基本数据与运算
2.1 关键字

关键字是指在高级编程语言中被赋予特殊意义的一些单词,关键字一般都是小写。好比一些汉语中的专有名词,不能乱用。

  • 用于定义数据类型的关键字:byte、int、long、short、float、double、char、class、boolean、interface、void
  • 用于定义数据类型值的关键字:true、false、null
  • 用于定义流程控制语句的关键字:if、else、switch、case、default、while、do、for、break、continue、return
  • 用于定义访问权限修饰符的关键字:public、protected、private
  • 用于定义继承关系的关键字:extends、implements
  • 用于定义实例对象的关键字:new、this、super、instanceof
  • 用于定义函数类型的关键字:static、final、abstract、synchronized
  • 用于处理异常的关键字:try、catch、finally、throw、throws
  • 用于包的关键字:package、import
  • 其他的修饰关键字:native、assert、volatile、transient
2.2 标识符

标识符是指我们在程序中对变量、函数、类、常量、接口等所定义的名称,也就是说这些名称都是我们自定义的,标识符必须满足以下组成规则:

  • 标识符可以由数字、字母、下划线、美元符等组成
  • 标识符不可以数字开头,可以但不推荐是用下划线或美元符开头
  • 标识符不能是关键字
  • 标识符也不能是Java内置类的名称
  • 标识符可以为任意长度,但必须是一个连续的词
  • 标识符严格区分大小写

标识符是为那些抽象的数据进行自定义起名的,为了方便程序的阅读和理解,起名尽量要有含义,不要通篇都是a、b、c、d、e……。在特殊情况下可以使用j、k、m、n、i 之类的

标识符命名规范:

  • 大驼峰式:主要针对类名、接口名,所有单词的首字母大写
  • 小驼峰式:主要针对于变量名、函数名,除第一个单词外,其余单词的首字母大写
  • 常量规范:所有单词字母大写,单词间用下划线分隔
  • 包名规范:所有单词字母小写,但此语单词之间用句号分隔.
2.3 注释

注释是用于注解和说明程序的一些程序中的内置文本信息,但这些内置文本不属于代码范畴。所以在对含有注释的源代码进行编译时,所生成的字节码中不含有注释。

注释有三种:

单行注释://注释内容,直到换行为止

多行注释:/*注释内容 内部可换行*/

文档注释:/** 注释内容 内部可换行*/文档注释可以被编译器识别并生成相应的程序说明书

2.4 常量与进制

常量是指在程序运行过程中直接出现的一些数据

常量有哪些:

  • 整数常量
  • 小数常量
  • 字符常量:由一个字母、数字、符号、被单引号标识的数据
  • 字符串常量:由多个字母、数字、符号、被双引号标识的数据
  • 布尔类型常量
  • null常量

机器只能识别二进制

二进制十进制
00
11
102
113
1004
1015
1106
1117
10008
10019
101010
101111
2.5 变量

指在程序运行过程中值可以变化的量

  • 变量的本质就是在内存中程序所处的进程中的一个临时的存储区域
  • 该区域的存储值是有限制的
  • 该区域的变化必须是同类型或向下兼容的
  • 该区域有其自身的物理内存地址——指针

该区域中存储值的限制跟数据的变化类型有关,由数据类型决定

该区域的空间分配和物理内存地址由计算机底层决定

2.6 数据类型

在Java中,数据类型主要分为两大类:

**基本数据类型:**在变量的空间中存储数据

  • 整型

    • byte 1字节,2^8 = 256 ,-128~127,即 - 2^7 ~ 2^7 - 1

    • short 2字节,2^16 =65536,-32768 ~32767 即 -2 ^ 15 ~2 ^15 - 1

    • int 4字节,2^32, -2 ^ 31 ~ 2 ^31 - 1

    • long 8字节,2^64, -2 ^63 ~ 2 ^ 63 - 1

  • 实型(浮点型)

    • float 4字节
    • double 8字节
  • 字符型(char) 4字节

  • 布尔型(boolean)不确定

在常量中,整数常量默认为int类型,小数常量默认为double类型

布尔类型如果是单一变量的话在JVM中true被认为是1,false被认为是0

如果是布尔类型数组的话,true和false在JVM中被认为是byte类型。1字节

**引用数据类型:**数据是在堆内存中存储,变量仅仅存放的是数据在堆内存中的地址

  • 字符串
  • 数组
  • 对象

在Java中,存储在堆内存中的数据统称为对象

2.7 运算符
  1. 算数运算符
算术运算符含义备注
+加法将符号连接的两个数据相加
-减法将符号连接的两个数据相减
*乘法将运算符连接的两个数据相乘
/除法将运算符连接的两个数据相除
%取余a%b表示求出a/b整除后的余数
a ++后置自增a自身加一,使用原来的值
++ a前置自增a自身加一,使用加了之后的值
a –后置自减a自身减一,使用原来的值
– a前置自减a自身减一,使用加了之后的值
  1. 赋值运算符
赋值运算符含义备注
+=加法赋值a += 3相当于a = a + 3
-=减法赋值a -= 3相当于a = a - 3
*=乘法赋值a *= 3相当于a = a * 3
/=除法赋值
%=取余赋值
=赋值将符号右边的值赋给左边
  1. 比较运算符
    • 大于>
    • 小于<
    • 等于==
    • 大于等于>=
    • 小于等于<=
    • 不等于!=
  2. 逻辑运算符
    • 单与&
    • 单或|
    • 异或^
    • !
    • 双与&&
    • 双或||

&&左边为假时右边不执行

||左边为真时右边不执行

  1. 位运算符
    • 按位与&
    • 按位或|
    • 按位异或^
    • 左移<<
    • 右移>>
  2. 三目运算符
数据类型 变量名 = 布尔表达式 ?1 :2;
int number = 10 % 2 == 0 ? 5 : 13;  //当布尔表达式为真时,number = 5,否则number = 13

补充:变量的交换问题

方法一:定义第三个变量,用于交换时存储

方法二:使用算术运算符进行加减交换

#####2.8 常见错误

  1. 未声明变量:在运算过程中未声明变量就使用该变量

  2. 整型溢出: 数据超出该整型数据类型的取值范围

  3. 取整错误:

    • 一个是小数的问题,小数是一个近似值,可能取值偏小或偏大

    • 一个是整数的问题,无限循环小数 0.3333333 * 3 = 0.9999999,数学上是1

  4. 超出预期的除法问题

    • 除号(/)左右两边是整数,结果为整数
    • 除号(/)左右两边为小数,结果为小数
  5. 额外冗余的输入对象:每个类中定义一个Scanner输入对象即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值