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。

相反,某天也许你会忽然发现,心早已沦陷。

Java自学第三讲|数据运算

相关文章:

你感兴趣的文章:

标签云: