自动售票机
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化
Scanner in = new Scanner(System.in);
// 读入投币金额
System.out.println("请投币:");
int amount = in.nextInt();
// 打印车票
System.out.println("票价10元");
// 计算并打印找零
System.out.println("找零:"+(amount-10));
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化
Scanner in = new Scanner(System.in);
// 读入投币金额
System.out.print("请投币:");
int amount = in.nextInt();
System.out.println(amount>=5);
// 打印车票
System.out.println("*******************");
System.out.println("Java城际铁路专线");
System.out.println(" 票价10元 ");
<pre name="code" class="java">public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a = 1.0;
double b = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
System.out.println("a="+a+";b="+b);
}
}
// 计算并打印找零System.out.println("找零:"+(amount-10));}} 运算结果
请投币:5
true
*******************
Java城际铁路专线
票价10元
*******************
找零:-5
关系运算:
== 相等
!= 不等于
优先级:
所有的关系运算符的优先级比算术运算的低,但是比赋值运算的高
判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行
6>5>4 先计算6>5,true,然后判断true是否大于4,错
整数和浮点数,与ture和false是无法做比较的
ture和false二者也无法做比较
判断两个浮点数是否相等:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a = 1.0;
double b = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
System.out.println("a="+a+";b="+b);
}
}
运算结果:
false
a=1.0;b=0.9999999999999999
所以判断两个浮点数是否相等不能用==,那如何来判断呢?
math.abs(a-b)<1e-6;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a = 1.0;
double b = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
System.out.println("a="+a+";b="+b);
<span style="color:#ff0000;">System.out.println(Math.abs(a-b)<1e-6);</span>
}
}
加入判断语句if,如果投入的金额>=10,才计算:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化
Scanner in = new Scanner(System.in);
// 读入投币金额
System.out.print("请投币:");
int amount = in.nextInt();
<span style="color:#ff0000;">if(amount >= 10){</span>
// 打印车票
System.out.println("************");
System.out.println("Java城际铁路专线");
System.out.println(" 票价10元 ");
// 找零
System.out.println("找零:"+(amount - 10));
<span style="color:#ff0000;">}</span>
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 定义常量
final int minor = 35;
// 读入年龄
System.out.print("请输入你的年龄:");
Scanner in = new Scanner(System.in);
int age = in.nextInt();
System.out.println("您的 年龄是:"+age);
// 判断
if(age<minor){
System.out.println("啊,年轻是美好的");
}
System.out.println("年龄决定了你的精神世界,好好珍惜吧");
}
}
输入两个数,判断大小:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int y = in.nextInt();
int max = y;
if(x>y)
max = x;
System.out.println(max);
}
}
或者:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int y = in.nextInt();
int max;
if(x>y)
max = x;
else
max = y;
System.out.println(max);
}
}
if-else
输入三个数,比大小:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int y = in.nextInt();
int z = in.nextInt();
int max = z;
int b = x;
if(z<b){
if(x<y)
b = y;
max =b;
}
System.out.println(max);
}
}
tips:在if和else后面总是加{},即使只有一条语句的时候
判断语句容易出现的错误总结:
1:忘记大括号,解决办法:永远在if和else后面总是加{},即使只有一条语句的时候。不要怕麻烦,将来的你会感谢现在的自己。
2、if语句后面加分号
3、错误使用==和=
代码风格:
在if和else之后必须加上大括号形成语句块;
大括号内的语句缩进一个tab的位置