第3章 变量

3.1  为什么需要变量

        变量是程序的基本组成单位,变量有三个基本要素(类型 + 名称 + 值)int a = 10;

3.2  变量(变化值)的介绍

        使用变量时应先声明后赋值

3.3  快速入门

        

3.4  注意事项

        1.变量表示内存中的一个存储区域(不同类型的变量占用空间大小不同,如 int 4个字节 double 8个字节)

        2.该区域有自己的名称(变量名)和类型(数据类型),该区域的数据/值可以在同一类型范围内不断变化

        3.变量在同一个作用域内不能重名

        4.变量三要素:变量 = 变量名 + 值 +数据类型

3.5  程序中 +号的使用

        1.左右两边为数值型,做加法

        2.左右两边有一方为字符串,做拼接

        3.运算顺序,左 --> 右

3.6  数据类型

3.7  整数类型       

         

        使用细节

         1.  java各整数类型有固定的范围和字段长度,不受具体的os(操作系统)影响,以保证java程序的可移植性。

        2.  默认类型为int型,声明long型常量须后加 l 或 L

        3.  bit :计算机中最小的存储单位;byte : 计算机中基本存储单元。1 byte = 8 bit

                                      该图为一个byte(字节),8个bit

3.8  浮点类型

         说明

        1. 关于浮点数(小数)在机器中存放形式的简单说明,浮点数 = 符号位 + 指数位 + 尾数位

        2. 尾数部分可能丢失,造成精度损失(小数都是近似值)

        使用细节

         1. 可移植性

        2. 浮点型常量默认位更精确的double型,声明float型常量,须后加 f 或 F

        3. 浮点型常量的两种表示形式:十进制(5.12  512.0f  .512)

                                                               科学计数法(5.12e2  5.12e-2)

        4. 陷阱  2.7 和 8.1 / 3 (是一个无限接近2.7的小数)比大小。 当对运算结果为小数的进行大小判断,应以两数差值的绝对值Math.abs(差值),在某个精度范围内判断。

if ( Math.abs(2.7 - 8.1 / 3) < 0.000001 ) {

    System.out.println("差值非常小,到我规定的精度,认为相等“);

}

3.9  Java API 文档

        定义:API(应用程序编程接口)是Java提供的基本编程接口(即类 和 相关方法)

 3.10 字符类型(char)

        字符类型可以表示单个字符,用 ‘ ’ 表示,字符类型是char,char是两个字节,多个字符用String

        使用细节

         1. 字符常量用单引号括起来的单个字符。char c1 = 'a';   char c2 = 'b';

        2. java允许使用转义字符 \  ,来将其后的字符转变为特殊字符型常量。char c3 = '\n';表示换行符

        3. char本质为一个整数,在输出时,是unicode码对应的字符。(97 --> a )

        4. char类型可以进行计算,相当于一个整数,因为它都有对应的unicode码

        存储

        字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如 ‘a’

        存储:a   --> 码值97 --> 二进制(110 0001)--> 存储

        读取:二进制(110 0001)--> 97 --> a --> 显示 

3.11  ASCII 码

        使用一个字节,只占用了一个字节的后7位,最前面的1位统一规定0 ,浪费空间

3.12 Unicode码

        1. 将世界所有的符号纳入其中,每一个符号都给予一个独一无二的编码,不存在乱码

        2. 一个英文字母和一个汉子都占用2个字节,浪费空间,最多能编码2的16次方即65536个字符

        3.兼容ASCII码

3.13  UTF-8码

         1. 使用最广的一种Unicode的实现方式(改进)

        2. 是一种变长的编码方式,可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度

        3. 字母占1个字节,汉子占3个字节

3.14  布尔类型 boolean

        基本介绍

        1. 只允许取值true 和 false,无null

        2.占1个字节

        3.适用于逻辑运算(if;while;do- while;for)

3.15  基本数据类型转换

        自动类型转换

        精度小的类型自动转换为精度大的类型

       char -> int -> long -> folat -> double

       byte -> short -> int -> long -> float -> double

       细节

         1. 多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后在计算

        2. 精度大的赋值给精度小的,系统报错

        3. byte short 和char之间不会自动转换

        4. byte,short,char 三者之间可以计算,但会首先转化为int类型

        5. boolean类型不参与转换

        6. 自动提升原则:表达式结果的类型自动提升为 操作数中最大的类型

        强制类型转换 ForceConvert

        自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,需格外注意。int i = (int) 1.9;

        细节

         1. 强转符号只针对最近的操作数有效,往往使用小括号提升优先级

        2. char类型可以保存int的常量值,但不能保存int的变量值,需要强转

        int m = 100; //正确        char c2 = m;//错误 相当于int -> char        char c3 = (char)m;//正确

        3. byte  short  char类型进行运算时,当做int类型处理

3.16  练习题    略

3.17  基本数据类型和String类型的转换 StringToBasic

        基本数据类型 --> String      将基本类型的值 + “”即可    int n1 = 10;  String s1 = n1 + "";

       String --> 基本数据类型      通过基本数据类型的包装类调用parseXX方法即可

        String s = "123";   int n1 = Integter.parseInt(s);

        注意事项

        String --> 基本数据类型  要确保String类型能够转成有效的数据,如“hello”就无法转成整数

        如果格式不正确,就会抛出异常,程序就会终止

3.18  本章作业  略

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值