JAVA语言基础

常量

  • 定义:常量就是在程序的执行过程中其值不发生改变的量。其中分为字面值常量和自定义常量。
    字面值常量:有六种
    1. 字符串常量
    2. 整数常量
    3. 小数常量
    4. 字符常量
    5. 布尔常量
    6. 空常量
    其中布尔常量只有true和false,空常量为null,字符串常量需要用双引号括起来,字符常量用单引号括起来,整数常量的表现形式有四种(二进制,八进制 ,十进制,十六进制)。
进制
  • 定义:人为规定的一种进位方法,任何一种进制,例如X进制,其表现形式为逢X进1。
  • 常用的进制有二进制,八进制,十进制和十六进制。
  • 不同进制的表现形式
    1. 二进制:由0和1组成 以0b开头
    2. 八进制:由0~7组成 以0开头
    3. 十进制:由0~9组成, 整数默认为十进制
    4. 十六进制:由0~9及字母a ~f 组成(字母大小写均可),以0x开头
进制转换
  • 任意进制转换成十进制
    利用位权展开法进行转换。
  • 十进制转换成任意进制
    除基取余,只到商为零,余数取反。
  • 二进制转换成八进制,十六进制
    二进制到八进制:从小数点开始每三位转换成十进制数,不足的补零。
    例:10011
    可以分为10 011 第一个补零则为 010 011 ,然后将两部分转换成十进制数则为23
  • 二进制到十六进制:从小数点开始每四位转换成十进制数,不足的补零。
    例: 11011
    可以分为两部分1 1011 第一项补零则为0001 1011,然后转换成十进制数 第一项为1 第二项为11,因为十六进制当中10~15 ,用a ~f 来代替,故转换后的结果为: 1b
  • 八进制和十六进制转换成二进制
    利用二进制转换成八进制和十六进制反推便可。

原码反码补码

原码用二进制数表示,用0表示正数,用1表示负数,符号位在二进制数的最高位。其余的用来表示值得大小。

  • 正数的原码反码补码相同
  • 负数的反码是除符号外每一位取反
  • 负数的补码是在其反码末尾加上1

变量

  • 定义:在程序执行的过程中,在某个范围内其值可以发生改变的量。
    在对变量定义后在可以存放同一类型的常量并重复使用。
  • 变量的定义格式
    数据类型 变量名 = 变量值

数据类型

  • 基本数据类型和引用数据类型
    基本数据类型分为三种

    • 数值型
    • 字符型
    • 布尔型
      其中 数值型分为整数型和浮点型。整数默认是int类型的 , 浮点数默认是 double类型。
      整数型
      byte 、1(8bit) 、 -128 ~ 127
      short 、 2(16bit) 、 -2^15 ~ 2^15 - 1
      int 、4(32bit) 、 -2^31 ~ 2^31 - 1
      long 、 8(64bit) 、 -2^63 ~ 2^63 - 1
      浮点数
      float 、 4(32bit) 、 -3.40310^38 ~ 3.40310^38
      double 、 8(64bit) 、-1.79810^308 ~ 1.79810^308

    (1byte为什么是-128~+127?
    因为1byte用8位二进制表示,其中最高位是符号位,其中1 0000000表示-0 无意义,故定义其为-128)

数据类型的转换

  • 隐式转换
    boolean类型不能转换为其他的数据类型
    byte,short,char之间不转换,他们参与运算首先转换为int类型
  • 强制转换
    格式:目标数据类型 变量名=(目标数据类型)(被转换的数据);
    (尽量不要强制类型转换,可能会有精度损失。)

变量相加与常量相加的区别

例 哪句成员有问题
byte b1 = 3;/第一句
byte b2 = 4;/第二句
byte b3 = b1 + b2;/第三句
byte b4 = 3 + 4;/第四句
解: 第三句有问题 ,因为b1,b2已经是变量 存在数据类型,若相加则可能造成精度损失。

Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。所以,Java中的字符可以存储一个中文汉字

字符和字符串参与运算

当加号两边任意一个为字符串时,则会将两边连接起来。
例 System.out.println(“hello” + ‘a’ + 1);
System.out.println(‘a’ + 1 + “hello”);
输出结果分别为:
helloa1
98hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值