Java基础学习之旅---第三章

一、变量的介绍

  1. 变量相当于内存中的一个数据存储空间的表示
  2. 可以把变量看做是一个房间的门牌号
  3. 变量必须先声明,后使用 ,即有顺序
  4. 变量三要素:变量 = 变量名+值+数据类型
  5. 改区域数据/值只能在同一类型范围内不断变化
  6. 变量在同一个作用域不能同名

二、程序中 +号的使用

  1. 当左右两边都是数值型时,则做加法运算

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

  3. 运算顺序,是从左到右

  4. //下面代码输出什么?
    System.out.println(100 + 98);//198
    System.out.println("100" + 98);//10098
    
    System.out.println(100 + 3 + "hello");//103hello
    System.out.println("hello" + 100 +3);//hello1003
    

三、数据类型


整数类型
  1. Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,保证Java程序的可移植性。
  2. Java的整型常量(具体值)默认为int型,声明long型常量须后加 'l'或 ‘ L’
  3. Java程序中变量常声明为int型,除非不足以表示大数,才使用long
  4. bit:计算机中最小存储单位。 byte:计算机中基本存储单元,1 byte = 8 bit。
浮点类型

分类:

​ 单精度 float 4字节

​ 双精度 double 8字节

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

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

  3. Java的浮点型常来那个(具体值)默认为double型,声明float型常量,须后加 ‘f'或’F‘;

  4. 通常情况下,应该使用double型,因为它比float型更精确。

    double  num9 =  2.1234567851;
    
    float  num10 =  2.1234567851F;
    
  5. 浮点数使用陷阱:2.7 和 8.1 / 3 比较

    double num11 = 2.7;
    double num12 = 8.1 / 3;
    System.out.println(num11);//2.7
    System.out.println(num12);//接近2.7
    

    image-20210909222322191

  6. 重点:当我们对运算结果是小数的进行相等判断时,要小心


字符类型
  1. 在 Java 中,char的本质是一个整数,在默认输出时,是 Unicode 码对应的字符。要输出对应的数字,可以 (int)字符

  2. 字符常量使用单引号括起来的字符,不能用双引号,双引号引起来的字符串。

  3. char类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码。

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

  5. char c5 = 'b' + 1;
    System.out.println((int)c5);//99
    System.out.println(c5);//99对应的字符  c
    

关于编码

ASCII码

一个字节可以表示256个字符,ASCII码只用了128个字符,只适用英语字母

缺点:不能表示所有字符,例如汉语,日语等

Unicode码

一种编码,将世界上所有的符号都纳入其中,使用Unicode没有乱码问题

缺点:一个英文字母和一个汉字都占用2个字符,浪费存储空间。

utf-8编码

可以认为是Unicode码的一种改进

它可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度

字母占一个字节,汉字占3个字节。


布尔类型

使用细节

不可以0或非0的整数替代false和true,这点和C语言不同。


自动类型转换细节

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

当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时就会报错,反之就会进行自动类型转换。

(byte,short)和char之间不会相互自动转换

当把具体数赋给byte时,(1)先判断该数是否在byte范围内,如果是就可以。

如果是变量赋值,判断类型

byte n = 10;
int t = 1;
byte n = t;//报错,因为t是int类型,int t = 1 表示将1存放在4个字节的空间了已经,byte分配的空间为1个字节,所以会报错。

byte、short、char 他们三者可以计算,在计算时首先转换成int类型。

byte b2 = 1;
short s1 = 1;
short s2 = b2 + s2;//错,b2 + s2 => int类型,所以s2定义为short类型会出错。

基本数据类型和String类型的转换
  • 基本类型转String类型

    • 语法:将基本类型的值+""即可
    • 案例演示:
    int n1 = 10;
    String str1 = n1 + "";
    
  • String类型转基本数据类型

    • 语法:通过基本类型的包装类调用 parseXX方法即可
    • 案例演示
    int n2 = Integer.parseInt("123");
    
  • 字符串转成字符char

    • 想要将字符串转成字符char只能是将字符串里的某个字符提取出来,因为字符串是无法直接转换成字符的
    • 从字符串中提取字符要用到 charAt() 方法
    System.out.println(str1.charAt(0));//取出字符串str1中的第一个字符
    

会有后续哦,敬请期待!

posted @ 2021-09-15 21:35  中庸不等于平庸  阅读(47)  评论(0)    收藏  举报