Java基础day4【谷】

Java基础day4【谷】

从键盘输入

实现步骤:

1.导包 import java.utils.Scanner;

2.Scanner的实例化:Scanner sc=new Scanner(System.in);

3.调用Scanner类的相关方法{next()/nextXxx()},来获取指定类型的变量

import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a =sc.nextInt();
System.out.println(a);
}
}

实现代码:

import java.util.Scanner;
class love{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println(“请输入姓名:”);
String name =sc.next();
System.out.println(“请输入年龄:”);
int age =sc.nextInt();
//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
System.out.println(“请输入性别:”);
String gender =sc.next();
char genderOne= gender.charAt(0);//获取索引为0位置上的字符
System.out.println(“请输入体重:”);
double weight =sc.nextDouble();
System.out.println(“姓名”+name+“年龄”+age+“性别”+gender+“体重”+weight);
}
}

注意:

需要根据对应的方法,来输入指定类型的值。如果输入的数据类型与需要的数据类型不匹配时,会报异常:InputMisMatchException,导致程序终止。

不违背语法规则时没问题的。(输入的数据类型长度小于需要的数据类型长度)

if-else例题:

在这里插入图片描述

import java.util.Scanner;
class IfTest{
public static void main(String[] arges){
Scanner sc = new Scanner(System.in);
int goal = sc.nextInt();
if(goal==100){
System.out.println(“奖励一辆BMW”);
}else if(goal>80 && goal<=99){
System.out.println(“奖励一台水果电话”);
}else if(goal>=60 && goal<=80){
System.out.println(“奖励一台ipad”);
}else{
System.out.println(“Nothing!!!”);
}
}
}

说明:

1.else 结构是可选的

2.针对于条件表达式:

​ 对于多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,都无所谓。

​ 对于多个条件表达式之间是有“交集”的关系,哪个判断和执行语句声明在上面还是下面,有所谓

​ 对于多个条件表达式之间是“包含”关系(交集的关系的特殊情况),哪个判断和执行语句声明在上面还是下面,有所谓

image-20220706152941817

import java.util.Scanner;
class IfTest2{
public static void main(String[] arges){
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
if(num1>=num2){
if(num1>=num3){
System.out.println(“最大值为”+num1);
}else{
System.out.println(“最大值为”+num3);
}
}else if(num2>=num3){
System.out.println(“最大值为”+num2);
}else{
System.out.println(“最大值为”+num3);
}
}
}

注意:if-else可以嵌套

​ if-else中只有一条执行语句时,大括号可以省略。

​ 非常不建议使用

课后练习:

在这里插入图片描述

image-20220706155622735

import java.util.Scanner;
class IfTest3{
public static void main(String[] arges){
Scanner sc = new Scanner(System.in);
double age = sc.nextDouble();
if(age>=0){
if(age<=2){
age=age*10.5;
System.out.println(“年龄为:”+age);
}else{
age=(age-2)4+10.52;
System.out.println(“年龄为:”+age);
}
}else{
System.out.println(“输入错误!!!”);
}
}
}

在这里插入图片描述

import java.util.Scanner;
class IfTest4{
public static void main(String[] arges){
//[10,99] [10,100)
//[0.0,1.0)
int result=(int)(Math.random()*90+10);
int ge=result%10;
int shi=result/10;
System.out.println(result+“\t”+ge+“\t”+shi);
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int nge=num%10;
int nshi=num/10;
System.out.println(num+“\t”+nge+“\t”+nshi);
if(numresult){
System.out.println(“奖金为:10000美元”);
}else if(ge
nshi&&ngeshi){
System.out.println(“奖金为:3000美元”);
}else if(ge
nge||shinshi){
System.out.println(“奖金为:1000美元”);
}else if(ge
nshi||shi==nge){
System.out.println(“奖金为:500美元”);
}else{
System.out.println(“奖金为:0美元”);
}
}
}

随机数公式:[a,b]----》(int)(Math.random()*(b-a+1)+a)

switch-case结构

在这里插入图片描述

说明:

①根据switch表达式的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应的case结构中,调用其执行语句。

​ 当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。

②break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构

③switch结构中的表达式,只能是如下6种数据类型之一:

btye int short char 枚举类型 String类型

④case之后只能声明常量。不能声明范围。

⑤break关键字可以加可以不加,根据实际情况来定。

⑥default:相当于if-else结构中的else.

​ default结构是可选的,位置是灵活的。

练习

从键盘上输入2019年的“month’‘和“day’,要求通过程序输出输入的日期为2019年的第几天。

思路:倒过来从12月开始写,并且不需要break,利用switch特点来实现总天数的运算。

说明:

1.凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。

2.我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们可以优先使用switch-case.原因:switch-case执行效率稍高。

for循环结构的使用

一、循环结构的四个要素

①初始化条件

②循环条件 --------(boolean类型)

③循环体

④迭代条件

二、for结构的循环

for(①;②;④){

​ ③

}

①–②–③–④–②–③–④–②

例题

image-20220706193826483

class ForTest{
public static void main(String[] args){
for(int i=1;i<=150;i++){
System.out.print(i);
if(i%30){
System.out.print(“foo”);
}
if(i%5
0){
System.out.print(“biz”);
}
if(i%7==0){
System.out.print(“baz”);
}
System.out.print(“\n”);
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值