首页 > 编程语言 >java变量和常量

java变量和常量

时间:2023-03-14 18:33:50浏览次数:40  
标签:java 常量 int double float 数据类型 默认值 变量

一 标识符

  • 我们所认识的标识符

  • 如:类名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类型的数据, 然后在进行相应的计算

      •  

标签:java,常量,int,double,float,数据类型,默认值,变量
From: https://www.cnblogs.com/jupeng/p/17215913.html

相关文章

  • java实体类之间的转换
    字段相同BeanUtils.copyProperties(item,dto);字段不同通过mapstruct,定义不同的字段名字https://blog.csdn.net/weixin_55806809/article/details/125347999......
  • 平安金服java岗
    电话一面面试官很和蔼,会适度闲聊,奈何本人全程很紧绷,自我介绍之后被安抚别太紧张 ̄□ ̄||1.自我介绍2.最近的一次项目概况,技术难点,怎么攻克的(我自爆代码是网上找的,真无语,一紧张......
  • Java容器之Hashtable源码分析
    一、概述Hashtable是一个比较古老的Map实现类,从它的名称就可以看得出来,因为没有遵循Java的语言规范。它和HashMap很像,同属于散列表,有以下特性:线程安全,这也估计算是唯一......
  • nacos报错 Caused by: com.alibaba.nacos.api.exception.NacosException: java.io.IOE
    麻麻劈,根据这个报错一顿ulimit -n 修改打开文件数,鸡儿报错一直在。 最终修改 vi/etc/sysctl.conf增加三项:fs.inotify.max_queued_events=32768fs.inotify.ma......
  • Swift与Objective-C常量定义的不同
    在Objective-C中,使用const关键字定义的常量是在编译时被解析的,它们的值是静态的,不能在运行时改变。同时,这种方式定义的常量需要通过C语言的方式来访问和使用。而在......
  • vscode 中如何运行一个 java 的 hello world
    经常遇到遇到需要运行一些片断性的的代码,比如调试一个函数是否符合预期,在小项目中,又不想写单元测试,就需要一个轻量化的工具,vscode可以轻松胜任。以下内容来自ChatGPT,经本......
  • JavaSE-day02(面向对象:内部类,枚举,泛型)
    一、内部类内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。当一个类的内部,包含一个完整的事物,且......
  • java8 Optional使用 stream filter多级过滤
    java8Optional使用streamfilter多级过滤packagecom.example.core.mydemo.java8;publicclassMyModel{privateStringcouponCode;privateIntegeror......
  • JavaSE-day01(面向对象高级)
    面向对象的核心:设计对象来处理数据,解决问题。一、静态static读作静态,可以用来修饰成员变量,也能修饰成员方法。1.1static修饰成员变量Java中的成员变量按有无static修......
  • JAVA8 lambda中map和flatMap
     lambda中map是对流元素进行转换,flatMap是对流中的元素(集合)进行平铺后合并,即对流中的每个元素平铺后又转换成为了Stream流。 flatMap首先将一个函数应用于元素,然后......