黑马程序员_Java基础_我的day02学习笔记

01. 常量的概述和使用(掌握)

  • A:什么是常量
    • 在程序执行的过程中其值不可以发生改变
  • B:Java中常量的分类
    • 字面值常量
    • 自定义常量(面向对象部分讲)
  • C:字面值常量的分类
    • 字符串常量 用双引号括起来的内容
    • 整数常量 所有整数
    • 小数常量 所有小数
    • 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
    • 布尔常量 较为特殊,只有true和false
    • 空常量 null(数组部分讲解)

02. 不同进制数据的表现形式(掌握)

  • A:二进制的数据表现形式
    • 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
  • B:八进制的数据表现形式
    • 由0,1,…7组成。以0开头
  • C:十进制的数据表现形式
    • 由0,1,…9组成。整数默认是十进制的
  • D:十六进制的数据表现形式
    • 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
  • E:案例演示
    • 输出不同进制表现100的数据。
    • 0b100
    • 0100
    • 100
    • 0x100

03. 任意进制到十进制的转换图解(了解)

  • A:任意进制到十进制的转换原理
    • 系数:就是每一位上的数据。
    • 基数:X进制,基数就是X。
    • 权:在右边,从0开始编号,对应位上的编号即为该位的权。
    • 结果:把系数*基数的权次幂相加即可。

04. 数据类型的概述和分类(掌握)

  • A:为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
  • B:Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • C:基本数据类型分类(4类8种)
    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -2^15~2^15-1
      • int 占四个字节 -2^31~2^31-1
      • long 占八个字节 -2^63~2^63-1
    • 浮点型
      • float 占四个字节 -3.403E38~3.403E38 单精度
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

05. 数据类型转换之隐式转换(掌握)

  • A:案例演示
    • a:int + int
    • b:byte + int
  • B:Java中的默认转换规则
    • 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

06. 面试题之变量相加和常量相加的区别(掌握)

  • A:案例演示
    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • byte b1 = 3;
    • byte b2 = 4;
    • byte b3 = b1 + b2;
      • 从两方面去回答这个题
      • b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
      • byte类型的变量在进行运算的时候,会自动类型提升为int类型
    • byte b4 = 3 + 4;
      • 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

07. long与float的取值范围谁大谁小(了解)

  • 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的

    • byte,short,char – int – long – float – double

    • long: 8个字节

    • float:4个字节
    • IEEE754
    • 4个字节是32个二进制位
    • 1位是符号位
    • 8位是指数位
    • 00000000 11111111
    • 0到255
    • 1到254
    • -126到127
    • 23位是尾数位
    • 每个指数位减去127

    • A:它们底层的存储结构不同。

    • B:float表示的数据范围比long的范围要大
      • long:2^63-1
      • float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

08. 字符和字符串参与运算(掌握)

  • A:案例演示

    • System.out.println(‘a’);
    • System.out.println(‘a’+1);

    • 通过看结果知道’a’的值是多少,由此引出ASCII码表

  • B:ASCII码表的概述
    • 记住三个值:
      • ’0’ 48
      • ‘A’ 65
      • ‘a’ 97
      • *

09. char数据类型(掌握)

  • A:char c = 97; 0到65535
  • B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
    • 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
    • 所以,Java中的字符可以存储一个中文汉字

10. 赋值运算符的面试题(掌握)

  • A:案例演示
    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • short s=1;s = s+1;
    • short s=1;s+=1;

ps:越大号越重要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值