Java基础班 第二天 (上)

第一节  常量的问题

第二节到第八节 进制转换和反码 补码

0b11   011 11  0x11 分别是二进制 八进制 十进制  十六进制  

正数的反码和原码相同  补码和原码相同  负数的反码是原码诸位取反(符号位例外)  补码是反码加一

第九节 变量

第十节 数据类型

 基本数据类型
    * 引用数据类型 
        * 面向对象部分讲解 
* 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类型没有明确指定他的大小      
 

class Demo3_DataTypeConversion {					//Conversion转换
	public static void main(String[] args) {
		//数据类型转换之隐式转换

		/*int x = 3;
		byte b = 4;

		x = x + b;

		System.out.println(x);*/

		//数据类型转换之强制转换
		/*int x = 3;
		byte b = 4;

		b = (byte)(x + b);
		System.out.println(b);*/

		//00000000 00000000 00000000 10000010			130的二进制
		//10000010										-126补码
		//00000001										-1求反码
		//10000001										-126反码
		//11111110										-126原码
		byte b = (byte)(126 + 4);
		System.out.println(b);
		//00000000 00000000 00000001 00101100			300的二进制
		//00101100
		byte b2 = (byte)300;
		System.out.println(b2);

上述代码运行后,最后的b和b2的结果分别是-126和44,这个是由于原码和补码造成的

class Demo4_DataTypeConversion {
	public static void main(String[] args) {
		System.out.println('a' + 1);			//98,因为有ASCII码表,a字符对应的是int类型的97
		System.out.println((char)('a' + 1));

		System.out.println("hello"+'a'+1);		//任何数据类型用+与字符串相连接都会产生新的字符串
		System.out.println('a'+1+"hello");

		System.out.println(" 5 + 5 = " + (5 + 5));
	}
}

2.13 和2.14 隐士类型转换和强制类型转换 

2.15 面试题 

 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了

2.17 2.18 引入字母串

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值