Java基础知识 02(常量,进制转换,原码、反码、补码,变量)

Java基础知识 02

常量

整数
小数
字符常量:单引号引起的单个字符(中英文都行)
字符串常量:双引号引起来的多个字符(中英文都行)
布尔常量:true,false      null(空常量)
class  ConstantDemo{
	public static void main(String[] args) {
		//输出字符串常量
		System.out.println("Hello World!");
		System.out.println("H");
		//输出整数常量
		System.out.println(100);
		//输出小数常量
		System.out.println(3.14);
		//输出字符常量 单引号 一起来的 单个字符
		System.out.println("AB");
		System.out.println('A');
		System.out.println('B'); 
		System.out.println('你');
		//输出布尔常量
		System.out.println(true); //真
		System.out.println(false);//假
	}
}

进制转换

进制:一种进位制,比如X进制,逢X进1
字节是计算机中数据的最小单位.
1byte = 8bit                    1kb = 1024byte
1M = 1024 kb                 1G = 1024M
1T = 1024G      有这种0 1 组成的数据我们称之为2进制数据
8进制:把2进制数据每3位分成一组,不够的前面补0,然后把每一组数据换算成10进制,那么拼接起来形成的数据就是8进制数据。
16进制:把2进制数据每4位分成一组,不够的前面补0,然后把每一组数据换算成10进制,那么拼接起来形成的数据就是16进制数据。
特点:进制越大,数据的表现形式越短。
不同的进制数据组成:
1. 二进制:0 1 
2. 八进制:0 1 2 3 4 5 6 7 
3. 十进制:0 1 2 3 4 5 6 7 8 9
4. 十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
   为了区分不同的进制数据,需要加前缀来区分:
5. 二进制:0b100
6. 八进制:0100
7. 十进制:100
8. 十六进制:0x100
   任意进制到十进制的转换:位权展开法!
   十进制到任意进制的转换:除基取余,直到商为0,余数反转。
class  JinZhi{
	public static void main(String[] args) {
		//输出二进制数据  0b100
		System.out.println(0b100);
		//输出8进制的数据
		System.out.println(0100);
		//输出10进制的数据
		System.out.println(100);
		//输出16进制的数据
		System.out.println(0x100);
		//最后输出的结果。全部换算成了10进制
	}
}

原码反码补码

为了区分正负数,我们采用符号定位法:把一个数据转换成2进制,最高位作为符号位,0代表正数,1代表负数。
    符号位   数值位
原码  0     0000111  ----> +7  正数的原码反码补码都是一样的。 计算机底层在运算时,是通过补码运算的。
原码  1     0000111  ----> -7  
负数的反码:在其原码基础上,符号位不变,其余为取反,1变0,0变1.
反码  1     1111000
复数的补码:在其原码的基础上,末位+1.
补码  1     1111001

练习(1):符号位  数值位                     符号位   数值位
    原码:  1     0110100              补码:   1    1101110
    反码:  1     1001011              反码:   1    1101101
    补码:  1     1001100              原码:   1    0010010

变量

引入一个数据类型的概念。
就是在程序执行的过程中,其值可以发生变化的量。
变量其实就是在内存中开辟的一小块空间,可以用来存储数据,并且这块空间中存在的数据是可以发生变化的。
数据类型:基本数据类型和引言数据类型(后面讲)
	整数型:byte:占1个字节,表示的范围:-128~127
		  short:占2个字节,表示的范围:-2^15~2^15-1
		   int:占4个字节,表示的范围:-2^31~2^31-1
		   long:占8个字节,表示的范围:-2^63~2^63-1
		   (定义long类型的变量,在变量值的后面要加上一个后缀L,来表示这是一个long类型的变量值)
	小数型:float:占4个字节,表示的范围:-3.403×10^38~3.403×10^38
		   (定义float类型的变量,在变量值的后面要加上一个后缀F,来表示这是一个float类型的变量值)
		   double:占8个字节,表示的范围:-1.798×10^308~1.798×10^308
	布尔型:boolean:占1个字节,布尔类型的值:true,false.
	字符型:char:占2个字节(字符类型的值,是单引号' '引起来的单个字符)
整数默认是int类型,小数默认是double类型。
class  VariableDemo{
	public static void main(String[] args) {
		//定义整数类型的变量
		byte num1=127;
		byte num2=-128;
		short num3=1000;
		//定义long类型的变量,需要在变量值的后面加一个L。
		long num4=10000L;
		//定义小数类型的变量
		//定义float类型的变量,需要在变量值的后面添加一个F。
		float num5=3.141F;
		double num6=15.798;
		//定义布尔类型的变量
		boolean a=true;
		boolean b=false;
		//定义字符型的变量
		char ch1='A';
		char ch2='B';
		//输出变量的值
		System.out.println(num1);
		System.out.println(num2);
		System.out.println(num3);
		System.out.println(num4);
		System.out.println(num5);
		System.out.println(num6);
		System.out.println(a);
		System.out.println(b);
		System.out.println(ch1);
		System.out.println(ch2);
	}
}
变量定义的注意问题:
(1)在同一个作用域内,不能定义两个同名变量。(作用域指的是同一对大括号所括起来的范围)
(2)变量没有赋值不能使用
(3)建议一行上面定义一个变量
class  VariableDemo2{
	public static void main(String[] args) {
		//定义变量的注意事项
		//1.在同一个作用域里面,不能定义两个同名变量
		//作用域:指的是同一对大括号,所括起来的范围
		int a=100;
		int b=200;

		int c=20;
			//给变量c重新赋值了
		    c=10;
			c=2;
		System.out.println(c);

		//定义变量的其他注意事项2:
		// 变量没有赋值 不能使用
        int d,e;  //可以这么简写 定义了两个int类型的变量 d 和 e
		d=200;
		e=200;

		System.out.println(d);
		System.out.println(e);

	    int f=200; int ff=100; //一行上可以定义多个变量,但是建议 一行上,只定义一个变量


	   }
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值