返回顶部

java变量和常量

一 标识符

  • 我们所认识的标识符

  • 如:类名HelloWorld

  • 标识符的命名规则

    • 标识符可以由字母,数字,下划线和和美元符$组成,不能以数字开头

    • 标识符严格区分大小写

    • 标识符不能是Java关键字和保留字

    • 标识符的命名最好能反映出其作用

二 关键字

abstract boolean break byte case catch
char class continue default do double
else extends false final finally float
for if implements import native int
interface long instanceof new null package
private protected public return short static
super switch synchronized this throw throws
transient true try void volatile while

三 变量

  • 变量的三个元素: 变量类型、变量名和变量值。

  • 变量的命名规则

    • 满足标识符的命名规则

    • 符合驼峰法命名规范

    • 尽量简单、做到见名知意

    • 变量名的长度没有限制

  • 类的命名规则

    • 符合Pascal命名法规范

四 数据类型

  • 1 基本数据类型

    • 数值型

      • 整数类型(byte,short,int,long)

      • 浮点类型(float,double)

    • 字符类型(char)

    • 布尔类型(boolean)

  • 2 引用数据类型(string 字符串类型也是引用数据类型)

    • 所有引用类型的默认值都是null

    • 类(class)

    • 借口(interface)

    • 数组

五 基本数据类型明细

数据类型 说明 字节
byte 字节型 默认值是0 1
short 短整型 默认值是0 2
int 整型 默认值是0 4
long· 长整型 默认值0L 8
float 单精度浮点型 默认值是0 4
double 双精度浮点型 默认值是0 8
char 字符型 默认值是空 2
boolean 布尔型 默认值是false 1

六 进制的表示

  • 八进制:以0开头,包括0-7的数字

    • 如:034,056

  • 十六进制:以0x或0X开头, 包括0-9的数字,及字母a-f,A-F

    • 如: 0x12, 0xabcf, 0XABCFF

七 整型的字面值

  • Java中有三种表示整数的方法: 十六进制,八进制,十进制

    • 如:123,023, 0x1345, 0x1abcL

八 变量的声明

  • 格式: 数据类型 变量名;

    • 如 int n; 声明整型变量n

    • long count; 声明长整型变量count

九 变量的赋值

  • 使用 "=" 运算符进行赋值

  • "=" 叫作赋值运算符, 将运算符右边的值赋值给左边的变量

    • 如: int n=2; 定义int型变量n, 将3赋值给n,进行变量的初始化

  • 可以在定义变量的同时给变量赋值,即变量的初始化

十 变量的定义

  • int octal=037; //定义int类型变量存储八进制数据

  • long longNumber=0xa2cdf3ffL; //定义变量存放十六进制长整型数据

  • short shortNumber=123; //定义变量存放短整型数据

  • byte b=10; //定义变量存放byte类型数据

  • 说明: 整型字面值默认下是int类型, 如果表示长整型则在末尾加l或者L

十一 浮点型字面值

  • 浮点型字面值默认情况下表示double类型, 也可以在值后面加d或者D

    • 如: 123.32d 或者 123.43D

  • 如表示float类型, 则需要在字面值后加f或F

    • 如: 23.3f或23.3F

十二 基本数据类型变量的存储

  • 所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,Java语言里面八种数据类型是这种存储模型

十三 字符型字面值

  • 字符型字面值用单引号内的单个字符表示

    • 如: 'a', 'b','$'

  • 字符型变量的定义

    • char a='a';

    • char ch=65; // 字符型一个byte8位的存储的整数最大是0111 1111 即127

十四 ASCLL码表示

  • 使用7位或8位二进制数组合来表示128或者256种可能得字符

  • 标准的ASCLL码使用7位二进制来表示所有的大写字母和小写字母

  • 后128个称为扩展ASCLL码,用来表示特殊符号,外来语字母和图形符号

十五 Unicode 编码

  • char c='\u005d' 4位

  • Unicode表示法,在值前加前缀\u

十六 布尔类型字面值

  • 布尔值只能定义位true和false

    • 如: boolean b=false;

十七 字符串字面值

  • 双引号引起来的0个或者多个字符

十八 转义字符

转义字符 描述
\uxxxx 四位16进制数表示的字符
\ ' 单引号字符
\ " 双引号字符
\ \ 反斜杠字符
\r 回车
\n 换行
\t 横向跳格也就是tab键
\b 退格

十九 类型的转换

  • 类型转换分为自动类型转换(隐式类型转换)和强制类型转换

自动类型转换顺序

byte->short->int-long
char->int
float->double
int->double  // 这些都是无信息丢失的数据类型转换
​
int-->float
long-->float
long-->double // 可能在转换时,出现精度丢失 
​
​
  • 强制类型转换

    • 如果A类型的数据表示范围比B类型大, 则将A类型的值赋值给B类型, 需要强制类型转换

    • 如: double d=123.4;

      • float f=(float)d; // 强制类型转换可能出现数据精度丢失

二十 常量

  • final int n=5;

二十一 浮点型数据

  • 分类及范围

    • java中浮点数分为单精度浮点数和双精度浮点数, 分别是float和double, 浮点数就是小数点在逻辑上是不固定的, 单精度和双精度的取值范围和精度也是不同的

      • float 的取值范围是4字节也就是32位 精度是7~8位;

      • double的取值范围是8字节也就是64位, 精度是16~17位

      • 因为浮点型的特殊存储结构,所以在进行数据的计算, 或者数据的转化时, 会有精度的丢失

    • 浮点型的精确计算

      • 通过BigDecimal类, 先将浮点型数据转换为String类型的数据, 然后在进行相应的计算

      •  
posted @ 2023-03-14 18:26  fuju  阅读(53)  评论(0)    收藏  举报