Java标识符、基本数据类型和位/逻辑运算符之间的区别

这次课上主要学习了三个知识点,分别是Java标识符、Java基本数据类型以及位运算,而且在位运算中我了解到了位运算符与逻辑运算符的区别。下面是我的一些笔记。


1.Java标识符

Java中的标识符和C语言中的标识符大同小异,其中Java比较特殊的是标识符中多了一个符号,那就是$,其他地方和C语言一样,只能以字母、下划线或者$开头,不能以数字开头。

而且不能把Java关键字作为标识符,那么问题来了,什么是关键字?简而言之,就Java语言规定的具有特定含义的标识符。这些关键字已经被Java语言本身所使用。既然已经被使用了,那么我们自然就不能再用了,除了不能作为标识符,也不能用作变量名、方法名、类名、包名。(记住:关键字全是小写!但标识符有的是大写)

如果标识符是由两个单词组成,第一个单词的首字母小写,第二个单词的首字母大写。(标识符对于大小写极为敏感!)

下面是Java的所有关键字:               

另外,true,false,null这些,虽然不是关键字,但是作为一中特殊的标识类型,也不能用作标识符。

以上就是标识符的有关注意事项~

2.Java基本数据类型

数据类型就是为数据开辟内存空间的,数据类型决定了内存中存储数据的类型及所需内存的大小。Java的基本数据类型有四大种,共计8小种,分别是

  • 整数类型:byte,short,int,long
  • 浮点类型:float,double
  • 字符类型:char
  • 布尔类型:boolean                       

这里面最陌生的就是布尔类型了,先来说一下这个。boolean只包含两个值:true和false,不能用“0”和“1”来表示。这2个值不能和整型进行相互转换。boolean表示的是一种逻辑的判断,多用于流程控制语句的条件表达式。

然后说整型,Java整形数据类型的有如下4种表示形式:

              十进制整数,例如12-127,0

              二进制整数,以0b开头,例如0b011 (对应于十进制的3 ) (JDK7.0开始)。

              八进制整数,以0开头,例如014(对应于十进制的12)。

              十六进制整数,以0x0X开头,例如0XF(对应于十进制的15)。

		int age=12;//十进制
		System.out.println(age);
		age=0b0101;//二进制
		System.out.println(age);
		age=005;//八进制
		System.out.println(age);
		age=0x2ff;//十六进制
		System.out.println(age);

再说浮点类型,在Java中,小数被默认为是double类型,如果直接将一个float变量初始化为小数,编译器就会报错,原因就是double是大范围数据类型,float是小范围数据类型,大范围不能直接赋值给小范围,要进行强制类型转换,或者在小数后面加上一个f或者F。

最后说字符类型,字符型采用Unicode编码,一个Unicode编码占2个字节,而且有以下几种赋值方式:

		char letter='\u0041';
		System.out.println(letter);
		letter='a';
		System.out.println(letter);
		letter=65;
		System.out.println(letter);
   		char c1 = '\t';//制表符
		System.out.println(c1);
   		char c2 = '\n';//换行符-New Line
		System.out.println(c2);
   		char c3 = '\r';//回车符-Carriage Return

数据类型之间可以进行类型转换,但是前面说过,自动类型转换只能是小范围数据类型转换为大范围数据类型,如果要反过来转换的话,那就要强制类型转换了,做法和C语言一样,但是有两个风险,那就是精度缺失和数据溢出。举个例子:

		int x=1;
		float y=2.1f;
		x=(int)y;
		System.out.println(x);

结果是2,这就是精度缺失,因为int型只有整数位。再举个例子:

		byte d=(byte)256;
		System.out.println(d);

结果是0,这就是数据溢出,因为256系统默认是整型, 即0000 0001 0000 0000,但是强制类型转换为byte之后,因为byte只有2个字节,所以只取了后8位,全是0

3.位运算符与逻辑运算符的区别

位运算符有~、&|^,而逻辑运算符有!、&&||

区别就在于逻辑运算符只能对于boolean进行逻辑运算,而位运算符还可以对数值进行逻辑运算。

逻辑运算符会导致“短路”现象,但是位运算符不会,例子:

		int y=10;
		int z=10;
		if((y=0)==0||(z=0)==0){
			System.out.println(z);		
		}
		int yy=10;
		int zz=10;
		if((yy=0)==0|(zz=0)==0){
			System.out.println(zz);

结果是10和0,就是因为逻辑运算符是先计算左边表达式,若为真,则就不计算右边的表达式了,俗称“短路”。而位运算符是两边都要进行逻辑运算。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值