今天搞了好多啊,好多题,不过慢慢来,再难的题,都能做出来,只是费点时间而已。以前在学校,没有怎么学好,现在,我感觉这些并不是有些同学说的“钻牛角尖”,我觉得很重要,必须高度重视。
一,整型数据
JAVA语言中整型常量的三种表示形式:
十进制整数,如12, -314, 0。
八进制整数,要求以0开头,如012
十六进制数,要求0x或0X开头,如0x12
JAVA语言中的整型常量默认为int型,如:
int i =3;
声明为标准的long型常量可以在其后加‘ l ’或‘ L ’ ,如
long l = 3L;
二,浮点型
JAVA浮点类型都有固定的表数范围和字段长度
浮点型包括单精度和双精度(float,double)
JAVA浮点类型常量有两种表示形式:
十进制数形式,必须含有小数点,例如: 3.14 314.0 .314
科学记数法形式,例如:3.14e2 3.14E2 314E2
注意:JAVA中浮点型常量默认为double型,
要声明一个常量为标准的float型,则需在数字后面加f或F,如:
double d = 3.14; float f = 3.14f; 或者 float f=3.14F;
三,char型
char字符型保存无符号(不能表示负数)的 16 位双字节码位,其值的范围从
0 到 65535。每个码位(或字符代码)表示单个 Unicode 字符。
◆字符常量是用单引号括起来的单个字符
char c = 'A';
char 的默认值是码位为 0 的Unicode编码的字符 。
◆字符型数据对应了int的正半轴,是int类型的一个子集
布尔型
boolean类型适合于逻辑运算,只允许取值true或false,不可以0或四、非0的整数替
代true和false
五,各数据类型间的转换【很重要】
基本数据类型之间的转换分为以下三种:
①低级到高级的自动类型转换
byte->short->(char) int->long->float->double ②高级到低级的强制类型转换
short s=100; byte b=(byte)s;
float f=1.0F; long l =(long)f; ③包装类过渡类型转换
float型转换为double型时 float f1=100.00f; Float F1=new Float(f1); Double d1=F1.doubleValue();
例子:错误程序
class Tester {
public static void main(String[ ] args) {
1 int x , y = 10 , z = 20L;
2 System.out.println(x);
3 char c = 97;
4 int m = 100;
5 final int n = m;
6 n = 50;
7 float f = 10.2;
8 boolean b1 = true , b2 = false;
}
}
错因:
1行中z是int的数据类型,不能接收long型的数值。
2行中x没有初始化。
6行中n是被final修饰的,其值不能改变。
7行中不能将double型的数值直接赋给float型,或者将值后加f
六、基本运算符
按照运算符功能来分,基本的运算符有下面几类:
1.算术运算符
算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是
可以用在char类型上,因为实质上char类型是int类型的一个子集。
◆模数运算符%,其运算结果是整数除法的余数,它能像整数类型一样被用于浮点
类型(这不同于C/C++中模数运算符%仅仅能用于整数类型)
2. 赋值运算符
◆当“=”两侧的数据类型不一致时,可以使用默认类型转换或强制类型转换原则进
行处理
long l = 100;
int i = (int) l;
特例:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行
强制类型转换,前提是只要不超出其表数范围
byte b = 12;//合法 byte b = 4096 ; //非法
◆扩展赋值运算符:
3.关系运算符
关系运算符用于决定值和值之间的关系。
◆ JAVA中的任何类型,包括整数、浮点数、字符以及布尔型都可用“= =”来比较
是否相等,用”!=”来测试是否不等。
◆ 只有整数、浮点数和字符运算数可以用来比较大小。
◆ 关系运算符的结果是布尔(boolean)类型。
4.布尔逻辑运算符
布尔逻辑运算符的运算数只能是布尔型。而且逻辑运算的结果也是布尔型
◆ 当第一个运算数能决定表达式的值的时候,JAVA的短路版就不会对第二个
运算数求值只有在需要时才对第二个运算数求值。
5。 短路逻辑运算符
&& -- 第一个操作数为假则不判断第二个操作数
|| -- 第一个操作数为真则不判断第二个操作数
6. 位运算符
& 逻辑与 真真-真 真假-假 假真-假 假假-假(交集)
| 逻辑或 真假-真 真真-真 假真-真 假假-假(并集)
^ 逻辑异或 假假-假 真真-假 假真-真 真假-真(异为真)
7.其它运算符
字符串连接运算符 +
条件运算符 ? : (三目运算符)
System.out.println( 5 > 3 ?“正确”:“错误");
下标运算符 [ ]
实例运算符instanceof
内存分配运算符new
强制类型转换运算符 (类型)(int) (String)
方法调用运算符 ( )
注意:instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例
练习题:
这个练习题,上课时没有带笔,没有算。被鲜老师误认为我懒,懒得算了
1、 已知:int i=1, j=5, k=2;
分析 k*=i++ +j*i+ j-- +k++ +j--*k;的执行过程,并写出最终结果。
2、 已知: int i=6, j=5, k=2;
分析 k+=i-- +j*--k +--j*++k*++i - --k*i;的执行过程,并写出最终结果。
本文地址:https://blog.gengchao.cn/post-14.html
未标注转载均为本站远程,转载请注明文章出处:
发表评论