条件语句
1.作业回顾
1,将分钟数转换为小时和分钟。(1000分钟是多少小时,剩下多少分钟)
public class Day061 {
public static void main(String[] args) {
// 1,将分钟数转换为小时和分钟。(1000分钟是多少小时,剩下多少分钟)
// int num1 = 1000 / 60;
// int num2 = 1000 % 60;
// System.out.println("1000分钟有"+num1+"小时,剩下"+num2+"分钟"); //1000分钟有16小时,剩下40分钟
int minutes = 1000; //总分钟数
int h = 0; //小时数
int m = 0; //分钟数
h = minutes / 60; //结果是int,没有小数
System.out.println(h); //16
m = minutes % 60; //剩下多少分钟
System.out.println(m); //40
}
}
2,根据半径计算圆的周长和面积(半径 是5的圆,输出周长和面积)
public class Day062 {
public static void main(String[] args) {
//2,根据半径计算圆的周长和面积(半径是5的圆,输出周长和面积)
int r = 5;
//Math.PI是Math类中的一个常量,3.14159265358979323846
final double PI = Math.PI;
double perimeter = 2 * PI * r;
System.out.println(perimeter); //31.41592653589793
double area = PI * r * r;
System.out.println(area); //78.53981633974483
//Math.round() 四舍五入,得到一个最接近long值
System.out.println(Math.round(31.4)); //31
System.out.println(Math.round(31.5)); //32
//保留1位小数
System.out.println((double)Math.round(perimeter * 10)); //314.0
//将周长扩大10倍,进行round,然后将结果强制类型转换为double,最后再除10
System.out.println((double)Math.round(perimeter * 10) / 10); //31.4
//保留2位小数
System.out.println((double)Math.round(perimeter * 100) / 100); //31.42
System.out.println((double)Math.round(area * 100) / 100); //78.54
}
}
3,找出两个数中的最大值(int a = 3, int b = 4,输出最大值)
public class Day063 {
public static void main(String[] args) {
//3,找出2个数中的最大值(int a = 3, int b = 4,输出最大值)
int a = 3;
int b = 4;
int max = a > b ? a : b;
System.out.println(max); //4
//找出3个数中的最大值(int c = 3, int d = 4,int d = 5,输出最大值)
int c = 3;
int d = 4;
int e = 5;
int maxvalue = c > d ? (c > e ? c : e) : (d > e ? d : e);
System.out.println(maxvalue);
}
}
2.if语句
public class Day064 {
public static void main(String[] args) {
//if语句,当括号中的表达式为true时,会执行代码块,否则不执行
if(true){
System.out.println("这句话会输出");
}
if(2 > 1){
System.out.println("2 > 1");
}
if(false){
System.out.println("这句话不会输出");
}
if(2 < 1){
System.out.println("2 < 1");
}
int x = 5;
if(x == 5){
System.out.println("x == 5");
}
x = 6;
if(x == 5){
System.out.println("x == 5");
}
}
}
public class Day065 {
public static void main(String[] args) {
int y = 10;
//if else 语句,当括号中的表达式结果为true时,执行if代码块,否则执行else代码块
//if代码块和else代码块有且只有一个会执行
if(y == 10){
System.out.println("y == 10");
}else{
System.out.println("y != 10");
}
y = 11;
if(y == 10){
System.out.println("y == 10");
}else{
System.out.println("y != 10");
}
}
}
public class Day066 {
public static void main(String[] args) {
//只有满足条件的代码块会执行,其他的则会跳过,有且只有一个会执行
//如果没有满足的条件,就会执行else代码块
//当遇到满足的条件时,执行此代码块,后面的就不看了
int z = 15;
if(z == 10){
System.out.println("z == 10");
}else if(z == 12){
System.out.println("z == 12");
}else if(z == 15){
System.out.println("z == 15");
}else{
System.out.println("z是其他数");
}
}
}
public class Day067 {
public static void main(String[] args) {
//如果满足条件,会执行代码块中的所有代码
int x = 7;
if(x == 7){
System.out.println("今天是星期天");
System.out.println("我喜欢星期天");
System.out.println("星期天可以出去玩了");
}
}
}
public class Day068 {
public static void main(String[] args) {
//ctrl + /单行注释的快捷键
//ctrl + shift +/多行注释,ctrl + shift + \取消多行注释
//如果if语句不带块,那么只有后面的第一条语句属于if
int number = 5;
if(number < 0)
number = number + 10; //属于if,不执行
number++; //不属于if,会执行
System.out.println(number); //6,不属于if,会执行
//尽量使用带块的if
}
}
public class Day069 {
public static void main(String[] args) {
//嵌套的if
int a = 70; //考试成绩
if(a >= 0 && a <= 100){
if(a > 60){
if(a >= 90){
System.out.println("优秀");
}else if(a >= 80){
System.out.println("良好");
}else{ // a < 80 && a >= 60
System.out.println("一般");
}
}else {
System.out.println("不及格");
}
}
else{
System.out.println("数字有误");
}
}
}
3.switch语句
switch语句会在几个选项中做出选择
public class Day0610 {
public static void main(String[] args) {
// int number = 2;
// if(number == 1){
// System.out.println("1");
// }else if(number == 2){
// System.out.println("2");
// }else if(number == 3){
// System.out.println("3");
// }else if(number == 4){
// System.out.println("4");
// }else if(number == 5){
// System.out.println("5");
// }else{
// System.out.println("number不是12345");
// }
// switch会在几个选项中做选择
int number = 2;
switch (number) {
case 1: //如果number是1,执行下面代码,break是终止,后面的case和default都不看了
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
case 5:
System.out.println("5");
break;
default: //如果上面的case都没有匹配成功,那么default会得到执行
System.out.println("number不是12345");
}
System.out.println("switch结束了");
//switch语句只能使用char,byte,short,int,String和枚举
// long lg = 15;
// switch(lg){ //编译错误
//
// }
//
//case值必须是一个编译时的常量
number = 10;
switch(number){
// case number > 5: System.out.println("大于五"); //编译错误,不能使用表达式
}
int x = 5;
switch(x){
// case x: System.out.println(x); //编译错误,不能使用变量
}
final int n = 6;
switch(n){
case n: System.out.println(n); //正确,n是编译时的常量
}
}
}
4.练习
1,从键盘输入一个分数,如果60分以上,就打印及格,否则就打印不及格。
public class Day0611 {
public static void main(String[] args) {
//1,从键盘输入一个分数,如果60分以上,就打印及格,否则就打印不及格。
//java.util.Scanner是一个类,它是一个扫描器
//System.in代表标准输入流,就是从控制台来获取输入
//new是一个操作符,用来创建一个扫描器对象
//s代表了刚创建的扫描器
java.util.Scanner s = new java.util.Scanner(System.in);
int score = s.nextInt(); //会等待键盘输入一个int数据,将输入结果赋值给score
if(score >= 60) {
System.out.println("及格");
}else {
System.out.println("不及格");
}
// int c = s.nextInt();
// System.out.println(c);
s.close(); //关闭扫描器
}
}
2,编写程序,从键盘获取三个整数,分别存入变量num1,num2,num3中,从小到大输出。
import java.util.Scanner;
public class Day0612 {
public static void main(String[] args) {
//2,编写程序,从键盘获取三个整数,分别存入变量num1,num2,num3中,从小到大输出。
//ctrl + shift +o导入类
Scanner s = new Scanner(System.in);
System.out.println("请输入num1");
int num1 = s.nextInt();
System.out.println("请输入num2");
int num2 = s.nextInt();
System.out.println("请输入num3");
int num3 = s.nextInt();
//将最小的数放入num1,最大的数放入num3中
int temp; //临时变量
if(num1 > num2){
temp = num1;
num1 = num2;
num2 = temp;
} //num1 < num2
if(num1 > num3){
temp = num1;
num1 = num3;
num3 = temp;
} //num1 < num3
if(num2 > num3){
temp = num2;
num2 = num3;
num3 = temp;
} //num2 < num3
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
3,男大当婚,女大当嫁。如果女方家长要嫁女儿,当然要提出一定的条件。高:180cm以上;富:财富1千万以 上;帅:是。如果这三个条件同时满足,则:输出我一定要嫁给他,如果三个条件中有为真的情况,则:嫁吧,比上 不足,比下有余,如果三个条件都不满足,则:不嫁。
4,编写程序,从键盘接受整数,如果为1-7,打印对应的星期值,否则,打印非法数字。