12-21笔记与作业
本章内容:变量与数据类型
1、掌握标识符和关键字
2、掌握变量和常量的使用
3、JAVA中的数据类型
4、掌握数据类型转换
1、变量:一个数据存储空间的表示
变量值通常为常量
2、数据类型的范围:
byte 8位 -2的7次方~2的7次方-1 -128~+127
short 16位 -2的15次方~2的15次方-1
int 32位 -2的31次方~2的31次方-1
long 64位 -2的63次方~2的63次方-1
float 32位
double 64位
3、变量的使用:1)、声明变量
2)、赋值
3)、使用
注意:1和2两步骤可合并使用
变量声明使用示例:
import java.util.Scanner;
public class Details {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name = "小明";//姓名
int age = 25;//年龄
int workage = 3;//工龄
int number = 5;//项目数
String technology = "java";//技术方向
String interest = "篮球";//爱好
System.out.println("这个同学的姓名是:"+name);
System.out.println("年龄是:"+age);
System.out.println("工作了"+workage+"年");
System.out.println("做了"+number+"个项目");
System.out.println("技术方向是:"+technology);
System.out.println("兴趣爱好是:"+interest);
}
}
输出结果:

4、常量:
1)、常量只能赋一个值
2)、声明时在前面加final
3)、常量名全部用大写
4)、不同字符使用下旬线分隔
5、类型转换要求:
1)、两种类型要兼容
如:数值类型(整型和浮点型)互相兼容
2)、目标类型大于源类型
如:double与int
数据类型转换分为自动转换与强制转换,如
int a = 12; double b = 11.3; int c = a - (int)b;//或者int c = int(a - b); 结果为1;
此为强行把b强制转成int类型再运算,为强制转换
double a = 10;
此处a为double浮点类型,因此右边10自动生成浮点数类型10.0,因些输出a结果为10.0,为自动转换。
2)、在计算中每一个字符都有对应ASCII码,因此把一个字符赋值给int类型是可行的,反过来也是一样可行,如下图:
a、把字符赋给int类型
public class Test {
public static void main(String[] args) {
int a = '男';
System.out.println(a);
}
}
结果会显示相应数值为:

b、把数值赋给char类型
public class Test {
public static void main(String[] args) {
char a = 22232;
System.out.println(a);
}
}
结果会显示相应的字符或乱码

6、算术运算符
重点:++或--在前表示立即执行,++或--在后表示当前不执行,过后执行
示例:
public class Test {
public static void main(String[] args) {
int a = 1;
int b = a++ + ++a + a++ + ++a + ++a + a++;
System.out.println(b);
}
}
注意:a++虽然先进行赋值运算,但表达式过后扔有进行自加运算,因此在第二个++a之前a值为2;第二行也可看成
int b = (a++) + (++a) + (a++) + (++a) + (++a) + (a++);
开始进a=1,
第一个++在后,后执行,因此为1,运算过后a执行++,a值为2,
第二个++在前,先执行,因此为3,a值为3;
第三个++在后,后执行,因此为3,运算过后a执行++,a值为4;
第四个++在前,先执行,因此为5,a值为5;
第五个++在前,先执行,因此为6,a值为6;
第六个++在后,后执行,因此为6,运算过后a执行++,a值为7;
因此最后结果为24。

作业:
1、输入一个五位数,输出每位数的数值,并求和。
import java.util.Scanner;
/**
* 输出各位数的数值并求和
* @author Administrator
* 2018-12-21
*/
public class WeiShu {
public static void main(String[] args) {
Scanner cc = new Scanner(System.in);
System.out.println("请输入五位数:");
int num = cc.nextInt();
int wanwei = num/10000;//五位数除以10000,商刚好为万位数字
int qianwei = num/1000%10;//先把五位数除以1000,商为万位和千位组成的数,再对其除以10求余,即可得千位数字
int baiwei = num/100%10;//先把五位数除以100,商为万位、千位和百位组成的数,再对其除以10求余,即可得百位数字
int shiwei = num/10%10;//先把五位数除以1000,商为万位、千位、百位和十位组成的数,再对其除以10求余,即可得十位数字
int gewei = num%10;//把五位数除以10求余,余数就为个位数
System.out.println("万位数是:"+wanwei);
System.out.println("千位数是:"+qianwei);
System.out.println("百位数是:"+baiwei);
System.out.println("十位数是:"+shiwei);
System.out.println("个位数是:"+gewei);
int sum = wanwei + qianwei + baiwei + shiwei + gewei;
System.out.println("五位数求和为:"+sum);
}
}
结果为:

2、商场为员工提供了基本工资、物价津贴和房租津贴。其中,物价津贴为基本工资的40%,房租津贴为基本工资的25%,要求:从控制台输入基本工资,并计算输出实领工资。
import java.util.Scanner;
public class GongZi {
public static void main(String[] args) {
int jibengz;
System.out.println("请输入基本工资:");
Scanner input = new Scanner(System.in);//输入基本工资
jibengz = input.nextInt();
System.out.println("基本工资是:"+jibengz);//输出基本工资
double wujia = jibengz*0.4;//算物价津贴
double fangwu = jibengz*0.25;//计算住房津贴
double gongzi = jibengz+wujia+fangwu;
System.out.println("物价津贴是:"+wujia);
System.out.println("住房津贴是:"+fangwu);
System.out.println("实际工资是:"+gongzi);
}
}
运行结果:

浙公网安备 33010602011771号