第二章 变量、数据类型和运算符
2.1、变量
答:2.1.1、变量是一个数据类型存储空间的表示。
2.1.2、变量是存储数据的一个基本单元,不同的变量相互独立。
2.2、数据类型
2.2.1、不同的数据类型
2.2.2、java常用数据类型
答:2.2.2.1、int-------整型
2.2.2.2、double----双精度浮点型
2.2.2.3、char-------字符型
2.2.2.4、String-----字符串型
2.2.2.5-------其中int,double,char都是java定义的关键字。
2.3、变量声明及使用
2.3.1、变量名规则
答:2.3.1.1、变量必须以字母、下划线、”_“或”$“符号开头。
2.3.1.2、变量可以包括数字,但不能以数字开头。
2.3.1.3、除了”_“或"$"符号以外,变量名不能包含任何特殊字符。
2.3.1.4、不能使用java语言关键字,比如int,class,public等。
2.3.2、规范
答:变量名要简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。
2.3.3、常见错误
答:2.3.3.1、变量为赋值先使用。、
2.3.3.2、使用非法的变量名。
2.3.3.3、变量不能重用。
2.4、运算符
2.4.1、赋值运算符
答:int a=(b+6)+(b-1);
"="的功能是将等号右边表达式的结果赋值给等号左边的变量。
2.4.2、算术运算符
答:2.4.2.1、+ --------加法运算符,求和
2.4.2.2、— --------减法运算符,求差
2.4.2.3、* ---------乘法运算符,求积
2.4.2.4、/ ---------除法运算符,求商
2.4.2.5、%--------取余运算符,求余
2.5、数据类型转换
2.5.1、为什么需要数据类型
2.5.2、如何进行数据类型转换
2.5.2.1、自动数据类型转换
答:规则1、如果一个操作数为double型,则整个表达式可提升为double型。
规则2、满足自动数据类型转换的条件。
2.1、两种类型要兼容:数据类型(整形和浮点型)互相兼容。
2.2、目标类型大于源类型:double型可以存放int型数据,因为为double型变量分配的空间宽度足够存储int型变量。因此,我们也把int 型变量转换为double型变量形象地称为”放大转换“。
2.5.2.2、强制数据类型转换
2.6、上机练习
答:publc class Shopping{
public static void main(String[]args){
int shirtPrice = 245;
int shorPrice = 570;
int padPrice = 320;
int shirNo = 2;
int shorNo = 1;
int padNo = 1;
double discount = 0.8;
System.out.println("**********消费单***********");
System.out.println("购买物品\t\t单价\t\t个数\t\t金额");
System.out.println("T恤\t\t"+"¥"+shirtPrice+"\t\t"+shirNo+"\t\t"+(shirtPrice*shirNo));
System.out.println("网球鞋\t\t"+"¥"+shorPrice +"\t\t"+shorNo+"\t\t"+(shorPrice*shorNo));
System.out.println("网球拍\t\t"+"¥"+padPrice+"\t\t"+padNo+"\t\t"+(padPrice*padNo));
System.out.println("折扣:\t\t8折");
double finalpay = ((shirtPrice*shirNo)+(shorPrice*shorNo)+(padPrice*padNo))*discount;
System.out.println("消费总金额:"+finalpay);
System.out.println("实际交费:¥1500");
System.out.println("找钱:"+(1500-finalpay));
int score = (int)((finalpay*3/100));
System.out.println("本次购物所获的积分是:"+score);
}
}
本章总结
答:1、数据类型转换是为了方便不同类型的数据之间进行运算。
2、java提供Scanner类可以实现从控制台获取键盘输入的信息。
本章作业
答:public class HuanPai{
public static void main(String[]args){
int a;
int b;
int c;
Scanner input = new Scanner(System.in);
System.out.println("请输出互换前手中的纸牌:");
System.out.print("左手中的纸牌:");
a=input.nextInt();
System.out.print("右手中的纸牌:");
b=input.nextInt();
System.out.println("请输出互换后手中的纸牌:");
c=a;
a=b;
b=c;
System.out.println("左手中的纸牌:"+a);
System.out.println("右手中的纸牌:"+b);
}
}