Java自学第三讲|数据运算

Java自学第三讲|数据运算


1.数据类型、变量与常量

Java中的数据类型分为两大类:基本数据类型和引用类型。

其中基本数据类型包括:整数类型(byte,short,int,long),浮点类型(float,double),字符型(char),布尔型(boolean)。

引用数据类型包括:类(class),接口(interface),数组

(1) 逻辑型boolean

只允许取值true或false,不可以用整数进行赋值

	boolean a = true;	//不报错
	boolean b = 1;		//报错

这里可以和C++做一下区别, C++是可以用整数对bool类型的变量进行赋值的。

(2) 字符型

Java字符采用Unicode编码,每个字符占两个字节

public class ZX1{
	public static void main(String[] args) {
		char c1 = 'a';
		char c2 = '\u0061';
		if(c1 == c2)
			System.out.println("Yes");
	}
}

结果是Yes,通过\u进行赋值,0061转化为10进制数正好是97(‘a’)。

(3) 整型

Java语言各类型变量所占的字段长度是固定不变的(也体现了跨平台),这和C++是不同的,C++在不同平台上所占字段可能是不同的。

byte 1字节 -27~27-1

short 2字节 -215~215-1

int 4字节 -231~231-1

long 8字节 -263~263-1

表示形式:

十进制整数,如:12,-3等

八进制整数,要求以0开头,如012(相当于十进制数的10)

十六进制整数,要求以0x或0X开头,如0x12(相当于十进制数的18)

二进制整数,要求以0b或0B开头,如0b00001000(相当于十进制数的8)

整型常量默认为int型,声明long型常量可以后加’l’或’L’,Java中没有无符号数。

public class ZX1{
	public static void main(String[] args) {
		int a = 10,b = 012,c = 0x12,d = 0b1000;
		System.out.printf("%d %d %d %d",a,b,c,d);
	}
}

输出结果为:

在这里插入图片描述

(4) 浮点型

Java浮点类型有固定的表数和字段长度

float 4字节 -3.403e38~3.403e38

double 8字节 -1.798e308~1.798e308

Java浮点型常量默认为double型,如果要声明常量为float类型,则需要在数字后加’f’或’F’。

2.运算符与表达式

(1)算术运算符

+,-,*,/,%,++,–

类似于C++,其中+号也可用于字符串连接(和C++中string类型的变量相同)

(2)关系运算符

<,>,>=,<=,==,!=

和C++相同

(3)逻辑运算符

!,&,|,^,&&,||

和C++类似

(4)位运算符

&,|,^,~,>>,<<,>>>

和C++类似,其中多了一个>>>,右移高位补0,区别于>>右移是补原来的符号位

public class ZX1{
	public static void main(String[] args) {
		int a = 0b1100,b = 0b0011;
		pt("a & b = ",a & b);	//输出ab按位与
		pt("a | b = ",a | b);	//输出ab按位或
		pt("~a = ",~a);			//输出a按位取反
		pt("a << 2 = ",a << 2);	//输出a左移2位
		pt("a >> 2 = ",a >> 2);	//输出a带符号右移2位
		pt("a >>> 2 = ",a >>> 2);//输出a补0右移2位
	}
	static void pt(String s1,int n) {	//自定义的一个输出函数,提高代码复用率
		String s2 = Integer.toBinaryString(n);
		while(s2.length() < 4)
			s2 = "0" + s2;
		System.out.println(s1 + "  " + s2);
	}
}

结果如下:

在这里插入图片描述

(5)赋值运算符

=,扩展出:+=,-=,*=,/=


Java自学第三讲部分总结。

内容依赖于北京大学唐大仕老师的mooc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan_Lowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值