第二章数据类型和运算符
一:学习目标
知识点 | 知识点重要性 | 掌握程度 | 知识点关联 |
1. 基本数据类型 2. 常量和变量 | 极高 | 熟练 | 学习JAVA语言的基本语法知识是进行编程的第一步。为了以后的编程打下良好的基础 |
运算符 | 极高 | 熟练 | 运算符为编程语言语法知识,为编写程序提供语言基础 |
二:重难点知识点
1、重难点1:基本数据类型
学习方法:
1、 掌握理解以下各数据类型的表示范围、作用。
基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值: -128
最大值: 127
作用:存储字节类型的数据
基本类型:short 二进制位数:16
包装类:java.lang.Byte
最小值:-32768
最大值:32767
作用:存储较小的整数
基本类型:int 二进制位数:32
包装类:java.lang.Short
最小值:-2147483648
最大值:2147483647
作用:存储较大的整数
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:-9223372036854775808
最大值:9223372036854775807
作用:存储更大的整数
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:1.4E-45
最大值:3.4028235E38
作用:存储小数
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:4.9E-324
最大值:1.7976931348623157E308
作用:存储较大范围的小数
基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:0
最大值:65535
作用:存储单个字符
2、 基本数据类型变量的初始值
int char byte short long 都为 0
float double 为 0.0
boolean 为false
3、 基本数据类型在使用过程中的常见问题:
boolean类型不能强制类型转换成 int, char, byte, short, long, float, double类型
long类型到int转换时,会截取部分数据
long a = 922337203685477580L;
int b = (int)a;
System.out.println(b);
结果:-1
long数据范围比int类型要大, 导致int类型无法容纳如此大的数。最终为-1
char 类型转换int类型时,结果值为该字符在ASCII中所对应的数值,简称ASCII码
char a = 'a';
int b = a;
System.out.println(b);
结果:97。 a在ASCII码中的值为97,故结果为97
byte类型在内存中为8位二进制数, 可表示为-128 – 127。 故赋值时不能超出此范围
2 、重难点2:常量和变量
(1)常量
java常量很简单就是一个固定值,比如说1,2,3,4都属于常量就是一个固定值。
声明常量的语法为:
final 数据类型 常量名称[=值]
常量名称通常使用大写字母,例如PI,YEAR等,但并没有硬性要求,仅仅是一个习惯而已
(2)变量
变量也是一种标识符,其命名规则如下:
1.变量名可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成;
2. 变量名不能以数字开头;
3. 变量名不能是Java中的保留关键字
常量定义的基本注意事项:
一是常量在定义的时候,就需要对常量进行初始化。
final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
三是需要注意常量的命名规则。
常见错误;
(1) 变量未赋值先使用
public class Error{
publicstatic void main (String [] args){
Stringtitle; //声明变量title存储课程名
System.out.println(title);//从控制台输出变量的值
}
}
(2) 使用非法的变量名
public class Error2{
publicstatic void main (String [] args){
int%hour = 18; //声明变量hour存储学时
System.out.println(%hour);//从控制台输出变量的值
}
}
(3) 变量不能重名
public class Error3{
publicstatic void main (String [] args){
Stringname=”张三”; // 声明变量name存储张三
Stringname=”李四”; // 声明变量name存储李四
}
}
3 、重难点3:运算符
(1) 算术运算符:
单目:+(取正)-(取负) ++(自增1) - -(自减1)
双目:+ - * / %(取余)
三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
(2) 关系运算:
:==,不等于符号:!= ,大于符号:>,小于符号:<,大于等于符号: >=,小于等于符号: <= 。
(3) 位运算符逻辑运算符:
位运算符 与(&)、非(~)、或(|)、异或(^)&:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000
|:当两边操作数的位有一边为1时,结果为0,否则为1。如1100|1010=1110
~:0变1,1变0
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110
逻辑运算符
&&)、非(!)、或(||)
(4) 赋值运算符
= 、+=、 -=、 *=、 /=、 %=、&=、 ^=、 |=、 <<=、>>=
常用运算符举例:
1. 46)计算周数和剩余的天数
public class CalcDays {
publicstatic void main(String[] args) {
intdays = 46; //天数
intweek = days / 7; //星期
intleftDay = days % 7;//剩余的天数
System.out.println(days+ "天等于" + week + "周零" + leftDay + "天");
}
}
2. radius= 1.5,求其面积
public class Area {
publicstatic void main(String[] args) {
doublepi = 3.14159; //圆周率
doubleradius = 1.5; //半径
doublearea = pi * radius * radius; //计算圆面积
System.out.println("圆的半径是: " + radius);
System.out.println("圆的面积是: " + area);
}
}
共性问题
1、各种数据类型之间的转换,如何转换?
答:使用强制类型转换,不报编译错误为准。
2、常量在何时使用?
答:当程序中有些变量的值永远都不需要改变的时候,可以换成常量。
在代码中用双引号括起来的字符串,可以使用常量。
3、如何进行数据类型转换?
答:一种是自动数据类型转换,另一种是强制类型转换。自动数据类型转换首先两种类型要兼容:数值类型(整形和浮点型)互相兼容;目标类型大于源类型:double型可以存放int型数据,因为double型变量分配的空间宽度足够存储int型变量。因此,我们也把int型变量转换成double型变量形象地称为“放大转型”。强制类型转换是在现有类型定义前加上要强制转换类型,并且不报编译错误为准。
辅导视频
见辅导视频文件中的视频文件,内容为myeclipse调试步骤
作业内容:
请用代码实现以下需求
需求1:已知圆的半径为5,求出圆的面积与周长,并在控制台打印。
使用变量接收半径,面积,周长,使用常量定义派
需求2:将ASCII码中所有的字符定义成变量,再转换成int类型,并在控制台打印
需求3:小明要到美国旅游,可是那里的温度是以华氏温度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。编写程序达成小明的心愿。
摄氏度与华氏度的转换公式为:摄氏度= 5 / 9.0 * (华氏度 - 32)
补充阅读
暂无
三:补充说明
本章要掌握变量的概念,会使用各种常用数据类型,会使用各种运算符,会进行各种数据类型转换。其中,数据类型是否学好,直接关系到后期的学习。数据类型的重难点在于记忆每种数据类型的范围,及各种数据类型之间的转换。