Day02——变量与运算符的使用
chapter02 变量、运算符以及注释
本章目标:
认识变量以及使用变量 重点
认识JAVA中常用的数据类型 重点、难点
认识JAVA中的常用运算符 重点、难点
了解注释的使用
一、变量
案例:
入住宾馆:
1、选择合适的房间类型
2、办理入住手续工作人员给你房号。
3、根据房号入住房间
4、如果要找到该客人,可根据房号
变量的使用步骤:
1.根据需求定义正确的数据类型
2.编写变量名
3.给变量赋值
示例:
小张在银行中有存款1000元,按银行的利息每年增长5%那么,一年后小张的存款是多少?
//定义存款变量
int money = 1000;
//定义利率变量
double lilv = 0.05;
//计算一年后的存款金额
money = money+money*lilv;
System.out.println(“小张一年后的存款为:”+money);
变量的语法:
数据类型 变量名 = 数值;
double lilv = 0.05;
int money = 1000;
通过以上案例总结:
1.什么是变量?
变量就是在内存中根据数据类型开辟一块用于存储数据的空间。
2、如何使用变量?
语法:
数据类型 变量名 = 数值;
步骤:
1.根据需求定义正确的数据类型
2.编写变量名
3.给变量赋值
4.使用变量
二、数据类型
1.数据类型的分类:
a.基本数据类型:
基本数据类型分类:
1).数值类型:
长整型:long
整型:int
短整型:short
双精度浮点类型:double
单精度浮点类型:float
字节:byte
位:bit
2).非数值类型:
布尔类型:boolean:true/false
字符类型:char:它的值要使用单引号括起来,只能有一个汉字,字符,数字
b.引用数据类型:
三、数据类型的转换:
数据类型转换可分为:
1.强制类型转换(显示转换)
当赋值符号右边的数据类型大于左边的数据类型时,就要用到强制类型转换
例如:
int a =10;
double b = 20;
a =b;编译错误,因为b数据类型大于b数据类型:
解决:
强制类型转换
a = (int)b;
缺点:转换后,失去了数据的精确度
2.自动类型转换(隐式转换)
a:当赋值符号右边的数据类型小于左边的数据类型时,就要用到自动类型转换
例如:
int a = 10;
double b = 20;
b =a;
b:在同一个运算表达式中,如果小的数据类型遇到比自身大的数据类型时,会发生自动转换
int a = 10;
double b = 20.3;
b = a*b;—-这时,a先提升为double再与b进行运算。
三、运算符:
1.算数运算符:+、-、*、/、%、++、–
注意:
int a = 10;
int b = a++;
System.out.println(b);
结果为:10;因为,先将变量a的值赋给b然后a在自身++
int a = 10;
int b = ++a;
System.out.println(b);
结果为:11;因为,a先自身++,然后将结果赋值给b
2.赋值运算符: =、 +=、 ﹣=、 *=、 /=、 %=
3.比较运算符: >、 <、 >=、 <=、 ==、 !=、 instanceof
instanceof:是用作对象的比较。是某个对象是否属于某个类,如果属于返回为true,否则false.
4.逻辑运算符: !、 &&、 ||
解释:
!:逻辑非(条件为真,结果为假)
&&:逻辑并(两两条件同时为真,结果为真,有一条件为假,结果为假)
||:逻辑或(两两条件有一个条件为真,结果为真)
5.条件运算符(三元表达式): ?:
可以把它看成if..else ?(如果条件成立) :(条件不成立)
运算符的优先级顺序:
小括号的优先级最高,如果要提升运算符的优先级可使用小括号、
逻辑非>算术运算符>关系运算符>逻辑运算符
优先级最低:赋值运算符
题目:
设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。
1.x自身++ 2
2.z/2 =1.相除后z在自身–
3.执行y+=1.y=y+1 结果:3
四:注释
1、有哪些注释?
单行注释://
多行注释:/…../
javaDoc注释:/*…../
2、注释的作用?
单行注释:a.在逻辑控制语句上方出现以及变量的定义处,可以告知逻辑的意义,有便维护。
b.可以屏蔽某行代码不被执行。
c.有利于初学者编程逻辑思维的建立。
多行注释:a.出现在方法的上方,或类名的上方。告知维护人员类该类要描述的内容,以及方法的功能。有利于维护。
b.可以屏蔽一定范围内的代码不被执行
javaDoc注释:出现在类的上方,方法的上方。可以生成java独有的帮助文档。有便于一些项目产品的申报文档的编写。
总结:
1、变量环节的补充
变量的命名规范:
a.变量首字母一定要小写。如果变量名由2个单词或以上的单词组成,那么第二个单词的首字母要大写。
例如:
int money = 20;
String studentName = “张三”;
b.变量不能以数字开头但是可以包含数字,不能使用java中的关键字
c.变量中可以由$或_开头。除此以外不允许出现任何符号
*数据类型转换补充:
int a = ‘你’;*
习题
1、打印学生信息:学生姓名:张三,性别:男,年龄20,年级:软件系2班
要求:使用适当的数据类型定义变量,在控制台进行输出
输出要求:(注意空格以及换行)
学生姓名 性别 年龄 班级
张三 男 20 软件系2班
package com.neusoft;
public class PrintStu {
/**
* @Elvis 定义变量和输出练习
*/
public static void main(String[] args) {
String name="张晓东";
String sex ="男";
int age = 20;
String classroom="软件系2班";
System.out.println("学生姓名"+"\t\t"+"性别"+"\t\t"+"年龄"+"\t\t"+"班级");
System.out.println(name+"\t\t"+sex+"\t\t"+age+"\t\t"+classroom);
}
}
2、根据编程1.变量的赋值使用控制台进行输入,并在控制台进行输出结果(输出要求同上)
package com.neusoft;
import java.util.Scanner;
/**
* @Elvis
*打印学生信息:
*学生姓名:张三,性别:男,年龄:20,班级:软件系2班
*/
public class PrintInfo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名");
String name = sc.next();
System.out.println("请输入学生的性别");
String sex = sc.next();
System.out.println("请输入学生的年龄");
int age = sc.nextInt();
System.out.println("请输入学生的班级");
String classroom = sc.next();
System.out.println("学生姓名"+"\t\t"+"性别"+"\t\t"+"年龄"+"\t\t"+"班级");
System.out.println(name+"\t\t"+sex+"\t\t"+age+"\t\t"+classroom);
}
}
3、有数字12345,在控制台中进行倒序打印:54321
提示:使用循环
package com.neusoft;
import java.util.Scanner;
public class DaoXuPrint {
/**
* @Elvis
* 有数字12345,在控制台进行倒序打印,输出54321 使用循环结构
* 使用int类型,不要使用String类型
* 改成键盘录入一段数字,使其倒序
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一串数字");
int x = sc.nextInt();
int remainder = 0;
while(x!=0){
remainder = x%10;
System.out.print(remainder);
x = x/10;
}
}
}
课后作业与复习题
创建项目
a) 项目名:myshopping 注意项目名称的大小写,如果发现有误一并删除
b) 编写类:
i. WelComeMenu.java
打印输出:
欢迎使用我行我素购物管理系统
1. 登录
0. 退出
ii. MainMenu.java
1. 使用控制输入的形式完成用户的登录输入
打印输出:
提示用户请输入用户名
提示用户请输入登录密码
要有相应的变量,使用控制台为变量赋值
iii. GoodsMenu.java
1. 打印购物列表
商品名 单价(元) 购买数量 总价格(元)
网球鞋 480 2 960
网球拍 1280 3 3840
总金额:4800元
折扣:8折
实际付款:3840元
WelComeMenu.java
package com.neusoft;
public class WelComeMenu {
/**
* @Elvis
*/
public static void main(String[] args) {
//输出网站要求的内容
System.out.println("\t\t\t\t\t\t\t\t"+"欢迎使用我行我素购物管理系统"+"\t\t\t\t\t\t\t\t");
System.out.println("\t\t\t\t\t\t\t\t\t\t"+"1.登录"+"\t\t\t\t\t\t\t\t\t\t");
System.out.println("\t\t\t\t\t\t\t\t\t\t"+"0.退出"+"\t\t\t\t\t\t\t\t\t\t");
}
}
MainMenu.java
package com.neusoft;
import java.util.Scanner;
public class MainMenu {
/**
* @param args
*/
public static void main(String[] args) {
//键盘录入用户输入的用户名和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String username=sc.next();
System.out.println("请输入密码");
String password=sc.next();
//输出用户输入的用户名和密码
System.out.println("您的用户名是"+username);
System.out.println("您的密码是"+password);
}
}
GoodsMenu.java
package com.neusoft;
import java.util.Scanner;
public class GoodsMenu {
/**
* 此程序用来打印购物列表,采用了键盘录入的方式录入了数据,并计算其总金额输出
* 打印购物列表
商品名 单价(元) 购买数量 总价格(元)
网球鞋 480 2 960
网球拍 1280 3 3840
总金额:4800元
折扣:8折
实际付款:3840元
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String shoes="网球鞋";
String racket="网球拍";
//输入网球鞋的单价和购买数量并且计算其总价
System.out.println("请输入网球鞋的单价");
int shoespri=sc.nextInt();
System.out.println("请输入网球鞋的购买数量");
int shoesnum= sc.nextInt();
int shoescount=shoespri*shoesnum;
System.out.println("网球鞋的总价为"+shoescount);
//输入网球拍的单价和购买数量并且计算其总价
System.out.println("请输入网球拍的单价");
int racketpri=sc.nextInt();
System.out.println("请输入网球鞋的购买数量");
int racketnum= sc.nextInt();
int racketcount=racketpri*racketnum;
System.out.println("网球鞋的总价为"+racketcount);
//计算商品的总价
int productsum=shoescount+racketcount;
System.out.println("商品总价为"+productsum);
//声明折扣变量,并且计算实际货款金额
System.out.println("请输入折扣(8折为0.8)");
double discount = sc.nextDouble();
double actualproductsum = productsum*discount;
System.out.println("实际付款为"+actualproductsum);
//输出商品名、单价、购买数量以及总金额、实际价格、折扣等等
System.out.println("商品名"+"\t\t"+"单价(元)"+"\t\t"+"购买数量"+"\t\t"+"总价格(元)");
System.out.println(shoes+"\t\t\t"+shoespri+"\t\t\t"+shoesnum+"\t\t\t"+shoescount);
System.out.println(racket+"\t\t\t"+racketpri+"\t\t"+racketnum+"\t\t\t"+racketcount);
System.out.println("总金额为:"+productsum+"元");
System.out.println("折扣为:"+discount*10+"折");
System.out.println("实际付款金额为:"+actualproductsum+"元");
}
}