对面丹尼斯超市做活动,第二件半价,请用java程序实现, 输入商品名字,输入单价,输入数量,并计算结果。 1.要求输入3样商品 2.要求输入的3样商品的数量分别是2件,4件,8件 3.最后汇总买商品一共花了多少元 --------------------------------------------------- 示例: 请输入你要买的商品 请输入商品单价 请输入要购买的数量 打印输出: xxx商品,单价xxx,购买x件,一共花了xxx元 请输入你要买的商品 请输入商品单价 请输入要购买的数量 打印输出: xxx商品,单价xxx,购买x件,一共花了xxx元 请输入你要买的商品 请输入商品单价 请输入要购买的数量 打印输出: xxx商品,单价xxx,购买x件,一共花了xxx元 ---------------------------------------------------------- 汇总输出:买东西一共花了xxxx元
代码如下:
package com.yzh70625;
import java.lang.reflect.Array;
import java.util.Scanner;
public class ceshi {
public static void main(String[] args) {
int i;
float sum=0;
for ( i = 0; i < 3; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品名称:");
String x=sc.next();
System.out.println("请输入商品单价:");
int y=sc.nextInt();
System.out.println("请输入购买数量:");
int z=sc.nextInt();
int n=y*z;
if(i==1){
float y1= (float) (y*0.5);
float n1=y1*z;
sum=(float)sum+n1;
System.out.println("打印输出:"+x+"商品,单价"+y1+",购买"+z+"件,一共花了"+n1+"元");
continue;
}
sum=sum+n;
System.out.println("打印输出:"+x+"商品,单价"+y+",购买"+z+"件,一共花了"+n+"元");
if(i==2){
System.out.println("=============================");
System.out.println("一共"+sum+"元");
}
}
}
}
运行结果如下:
2.类 方法 注释 全局/局部变量代码如下:
package com.yzh70625;
public class ceshi {
static int zzz;
public static void main(String[] args) {
System.out.println(zzz);
//单行注释
//100 1.123123 "sddfsdf" true
}
}
3. float:4字节 double:8字节 char 2字节 : 可以和整数相互转换
代码如下:
package com.yzh70625;
public class ceshi {
public static void main(String[] args) {
byte age = 100; // 1字节
short salary = -32768; //2字节
int money = 2147483647; //4字节
long l = 2147483648l; //8字节
//对于程序中的整数,默认先用int存储,然后再转存到变量中
//float:4字节 double:8字节
float f = 1.234F;
double d= 2.34;
//对于程序中的整数,默认先用double存储,然后再转存到变量中
//char 2字节 : 可以和整数相互转换
char c = 'n';
System.out.println(c);
int num = c;
System.out.println(num);
boolean b = false;
if(b){
int xxx =100;
System.out.println(xxx);
}
}
}
运行结果如下:
4.算术运算符:+,-,*,/,%,++,-- /+: 有二义性 自增,自减代码如下:
package com.yzh70625;
public class ceshi {
public static void main(String[] args) {
//算术运算符:+,-,*,/,%,++,--
// int num1 = 10;
// int num2 = 3;
// System.out.println(num1+num2);
// System.out.println(num1-num2);
// System.out.println(num1*num2);
// System.out.println(num1/(num2*1.0)); //整数相除没有小数
// System.out.println(num1%num2);
//+: 有二义性
//1.两个操作数都是数值,做加法运算
//2.有一个操作数是字符串,做字符串拼接
// System.out.println("============");
// System.out.println(10+20);
// System.out.println("10"+20);
// System.out.println("==============");
//自增,自减
//++/--:
//在单步运算表达式中,在前在后,结果都一样
//在多步运算表达式中,在前先做++/--,再做其他运算
// 在后先做其他运算,再做++/--
// int num1 = 10;
// //++num1;
// int num2 = ++num1;
// System.out.println(num1+" "+num2);
}
}
5.关系运算:>,>=,<,<=,==,!= 结果是boolean 逻辑运算符
图片、代码的路径如下如所示:
代码如下:
package com.yzh70625;
public class ceshi {
public static void main(String[] args) {
//关系运算:>,>=,<,<=,==,!= 结果是boolean
// System.out.println(3>5);
// System.out.println(3>=5);
// System.out.println(3<5);
// System.out.println(3<=5);
// System.out.println(3==5);
// System.out.println(3!=5);
// ==:对于基本类型的数据可以直接判断相等性
// 对于引用类型的数据,无法判断内容的相等性
// 判断的是数据的内存地址
String s = "aaa";
String s1 = "aaa";
String s2 = new String("aaa");
// System.out.println(s+" "+s1+" "+s2);
// System.out.println(s==s1);
// System.out.println(s==s2); //内存的地址不一样
// System.out.println(s.equals(s2)); //判断内容相等性
//Scanner sc = new Scanner(System.in);
//String s2 = sc.next(); //这种方式的数据会存在堆空间
//所以存储的地址和上面两个不一样
//System.out.println("s2:"+s2);
//System.out.println("=============");
//System.out.println(s==s1);
//System.out.println(s==s2);
//逻辑运算符:
// &&:有一个条件为false,结果为false,否则为true
// ||:有一个条件为true,结果为true,否则为false
// !:对条件结果取反
// System.out.println(3>5 && 1<2);
// System.out.println(3>5 || 1<2);
// System.out.println(!(3>5));
// String res;
// int money = 1;
// res = money>=100?"富翁":"穷人";
// System.out.println(res);
// int num = 10;
// int num2 = 20;
// //赋值,增强赋值
// num2+=num;
// num2/=num;
// num2-=num;
// num2*=num;
// System.out.println(num2);
}
}
运行结果如下:
#pic_center
图片、代码的路径如下如所示:
代码如下:
package com.yzh70625;
public class ceshi {
public static void main(String[] args) {
//类型转换:
//不兼容类型的转换:整数-字符串 小数-字符串
//兼容类型之间的转换:整数-整数 整数-小数 整数-字符
//隐式转换/自动转换:自动完成,不需要特殊处理
//显示转换/强制转换: 语法: (目标类型)数据
//1.隐式转换/自动转换
//a.小类型存储到大类型
// byte b = 10; //1字节
// int n = 20; //4字节
// n = b;
// System.out.println(n);
//b.整数存储到小数
// int num = 10; //4字节
// double d= 1.234; //8字节
// d = num;
// System.out.println(d);
//c.字符存储到整数
// char x = 'a';
// int n = 10;
// n = x;
// System.out.println(n);
//d.不同类型直接的数据进行混合运算
// byte b = 10;
// int n = 20;
// long l = 30;
// //小类型先向大类型对齐
// long x = b+n+l;
// System.out.println(x);
// int n = 10;
// float f = 3.0f;
// //整数转为小数
// float res = n/f;
// System.out.println(res);
//2.显示转换/强制转换
//a.大类型存储到小类型,在范围内的数据,可以直接存储。超出范围会发生数据溢出。
// int n = 129;
// byte b = 5;
// //强制转换
// b = (byte) n;
// System.out.println(b);
//课下研究:整数存储到byte中的原理
//b.小数存储到整数中,小数会被舍弃,精度丢失
// double d = 10.234;
// int n = 2;
// n = (int)d;
// System.out.println(n);
//c.将整数存到字符中
int n = 100;
char c = 'a';
c = (char)n;
System.out.println(c);
//面试题:
//short d = 5;
//d = d+5;//发生了类型转换
//d+=5; //+= 可以自动强转
//System.out.println(d);
}
}
运行结果如下:



