当前位置: 首页 > news >正文

Java (韩老师课程)第三章

变量的介绍

* 变量是程序的基本组成单位
  
* 变量相当于内存中一个数据存储空间的表示
  
* 变量在该区域有自己的名称和类型
  
* 变量必须先声明,后使用,即顺序
  
* 变量在该区域的数据/值可以在同一类型内不断变化
  
* 变量在同一个作用域中不能重名
  
* 变量 = 变量名 + 值 + 数据类型。
  

 +号的使用

* 当左右都是数值类型时,则作加法运算
  
* 当左右有一方时字符串时,则作拼接运算例
  
  * 1 + 98 99
    
  * 1 + 98 + “wc” 99wc
    
  * "wc" + 1 + 98 wc198
    

 数据类型

* 基本数据类型
  
  * 数值型    整数类型    byte[1]   short[2]   int[4]    long[8]    浮点类型 float[4] double[8]
    
  * 字符型 char[2] ,存放字符
    
  * 布尔型 boolean[1] ,存放真假 true,false (在Java中 不可以用0 或者非0的整数代替false和true)
    
* 引用数据类型
  
  * 类(class)
    
  * 接口(interface)
    
  * 数组( [] )
    

    1. Java的整型常量默认是int型 ,声明long型常量须后加 “ l ” 或 “ L ”

        int a = 1l 或 int a = 1L //错误 相当于把8个字节转换成4个字节 ,当数据太大会错误

         long a = 1l 或 long a = 1L // 正确

    2.    Java的浮点型常量默认是double型

        十进制数形式 : 1.23 22.3f .212 == 0.212 (0可以省略,必须要有小数点)

         E/e 相当于 10的次方 例如 5.12e2 == 5.12 * 10^2 5.12e-2 == 5.12 / 10^2

         当对运算结果是小数的进行相等判断时,要小心,应是以俩个数的差值的绝对值,

         在某个精度范围内判断

    bit:计算机中最小的存储单位。 1byte = 8bit

    浮点数 = 符号位 + 指数位 + 尾数位

编码

* ASCLL (美国专用)
  
* Unicode(字母汉字统一占用2个字节,比较浪费空间),Unicode码兼容ASCLL
  
* utf-8(编码表,汉字3个字节,字母1个字节) 推介用这个
  
* gbk(可以表示汉字,范围广,字母1个字节,汉字2个)
  
* gb2312(可以表示汉字 ,gb2312 < gbk)
  
* big5 码(繁体中文,台湾,香港)
  

数据类型转换

    //当java程序在进行赋值或者运算时,精度小的类型自动转换成精度大的数据类型  简称自动类型转换    
    // 数据类型按精度(容量)大小排序
    char ---> int  ---> long ---> float ---> double
    byte ---> short ---> int ---> long ---> float ---> double 

    自动类型转换注意和细节

1. 有多种类型的数据混合运算时,系统首先将所有数据转换成容量大的那种数据类型,然后进行计算
  
2. 当把精度大的数据转换成小的数据类型会发生报错,反之自动转换
  
3. byte,short 和 char 之间不会相互自动转换

细节:当赋予值时首先需要判断是否在范围内,如果时就可以
  
4. byte,short,char 他们三者可以计算,在计算时首先转换为int类型     

细节 : 例子 byte b2 = 1; byte b3 = 2; byte b4 = b3 + b2 ; // 错误的 , 因为一旦计算就变成int,参考第二点
  
5. boolean 不参与转换
  
6. 自动提升原则 :表达式结果的类型自动提升为 操作数中最大的类型

http://www.lryc.cn/news/90960.html

相关文章:

  • 【P38】JMeter 随机控制器(Random Controller)
  • API电商 ERP 数据管理
  • 【SQLAlchemy】第四篇——事务
  • 浅谈QMap中erase与remove的区别
  • FastThreadLocal 原理解析
  • 设计模式B站学习(一)(java)
  • Pandas如何轻松按位置删除多重索引列?
  • 第五十七天学习记录:C语言进阶:结构体链表的自学
  • 【一次调频】考虑储能电池参与一次调频技术经济模型的容量配置方法(Matlab代码实现)
  • ICV报告: 智能座舱SoC全球市场规模预计2025年突破50亿美元
  • 在can协议的基础下编写DBC文件,然后使用该DBC文件下发can协议到底盘完整流程
  • 工业传感器有哪些?
  • Docker应用部署之Nginx
  • TerminalWorks TSPrint/TSScan/TSWebCam Crack
  • 如何使用Springboot实现文件上传和下载,并为其添加实时进度条的功能
  • 安装并新建windows下wxwroks7.0 bootrom工程
  • element-ui表格el-table的使用
  • Backtrader官方中文文档:第八章Indicators指标
  • CAP原则
  • 【PowerQuery】M语言的使用产品和使用场景
  • 【Linux】遇事不决,可先点灯,LED驱动的进化之路---1
  • hive任务reduce步骤卡在99%原因及解决
  • C++11 -- lambda表达式
  • 【开源项目】银行查询服务的设计和实现
  • Linux服务器禁止密码登录,设置秘钥登录
  • 第十八章 开发Productions - ObjectScript Productions - 通过引用或作为输出传递值
  • 【云原生|Kubernetes】07-Pod健康检查和服务可用性检查
  • jeecgboot使用的问题记录
  • 【C++】数组 - 一维数组,二维数组
  • 前端:使用rollup的简单记录