当前位置: 首页 > article >正文

Java基础第二天(实训学习整理资料(二))

目录

一、扫描器

1、作用

2、用法

3、练习

二、运算符优先级

三、流程控制

1、顺序

2、判断

(1)if语句:

案例:

(2)switch语句

3、循环


一、扫描器

1、作用

        实现在控制台接收用户的输入。

2、用法

/构建扫描器对象

Scanner sc = new Scanner(System.in);

//给用户提示

System.out.println("请输入一个数:");

//挂起程序,等待用户输入

sc.next() -- 返回字符串

sc.nextLine()--将整行内容作为字符串输入返回

sc.nextInt()--将用户输入的字符串转为int类型并返回

3、练习

1.判断两个数中的最大值

2.判断数的奇偶

ps:已在Java实训基础简单案例作业(简单笔记)(1022)中单独笔记。

二、运算符优先级

运算符说明
. [] ()成员,小标,提高优先级
++ -- ~ !自增,自减,按位取反,非
* / %乘,除,模运算(取余数)
+ -加,减
<< >> >>>位左移,位右移,无符号右移
< > <= >=小,大,小等,大等
== !=等,不等
&位与
^位异或
|位或
&&逻辑与
||逻辑或
? :三元
= *= /= %= += -= <<= >>= >>>= &= ^= |=赋值

ps:算术运算符>关系运算符>位运算符>逻辑运算符>赋值运算符

三、流程控制

1、顺序

从上到下、从左到右依次执行

2、判断
(1)if语句:

if(表达式){

逻辑代码

}

if(表达式){

逻辑代码1

}else{

逻辑代码2

}

if(表达式1){

逻辑代码1

}else if(表达式2){

逻辑代码2

}

···

else{

兜底逻辑

}

案例:

输入一个0~100之间的分数,<60 打印C,>=60 <80 打印B,>= 80 <= 100打印A,如果超出以上范围打印 输入有误!

应用场景:只要是出现判断的都可以用,如果有范围判断作为首选。

(2)switch语句

switch(变量){

case值1:

语句1;

break;

case值2:

语句2;

break;

····

default:

执行兜底

}

switch语句只能用于值匹配,不能比较范围。

ps:在jdk1.7之前选择项数据只支持byte/short/int/char,在1.7及以后的版本中加入了对String的支持。

练习:利用判断实现一个四则运算

输入两个数和一个运算符(+,-,*,/)

根据输入的运算符,实现对两个数的计算,并打印结果。

import java.util.Scanner;

public class Demo01 {
    /** 案例:
 输入一个0~100之间的分数,<60 打印C,>=60 <80  打印B,>= 80 <= 100打印A,如果超出以上范围打印 输入有误!
     */
    public static void main(String[] args) {
     /*  Scanner sc=new Scanner(System.in);
       /*System.out.println("请输入一个0~100之间的分数:");
       int score = sc.nextInt();

       if (score<60){
           System.out.println("C");
       }else if (score>=60 && score<80){
           System.out.println("B");
       }else if (score>=80 && score<=100){
           System.out.println("A");
       }else {
           System.out.println("输入有误!请重新输入");
       }
      */
        /**
         *数字电话
         */
       /*System.out.println("请输入一个0~9之间的数:");
       int phoneNum =sc.nextInt();

       if (phoneNum == 1){
           System.out.println("打电话给妈");
       }else if (phoneNum == 2){
           System.out.println("打电话给爸");
       }else if (phoneNum == 3){
           System.out.println("打电话给爷爷");
       }else if (phoneNum == 4){
           System.out.println("打电话给外公");
       }else {
           System.out.println("您拨打的是空号!");
       }
       switch (phoneNum){
           case 1:
               System.out.println("打电话给妈");
               break;
           case 2:
               System.out.println("打电话给爸");
               break;
           case 3:
               System.out.println("打电话给爷爷");
               break;
           case 4:
               System.out.println("打电话给外公");
               break;
           default:
               System.out.println("您拨打的是空号");
       }
    }*/
        /**
         * 用switch进行四则运算
         */
        Scanner sc1 = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        Double a = sc1.nextDouble();
        Scanner sc2 = new Scanner(System.in);
        System.out.println("请输入第二个数:");
        Double b = sc2.nextDouble();
        Scanner sc3 = new Scanner(System.in);
        System.out.println("请输入一个运算符(+,-,*,/):");
        String c=sc3.next();
        switch (c) {
            case "+":
                System.out.println("运算结果为:" + (a+b));
                break;
            case "-":
                System.out.println("运算结果为:" + (a-b));
                break;
            case "*":
                System.out.println("运算结果为:" + (a*b));
                break;
            case "/":
                System.out.println("运算结果为:" + (a/b));
                break;
            default:
                System.out.println("输入运算符错误,请重新输入!");

        }
    }
}

ps:记得导入相应的page包路径。

3、循环
(1)通用for循环

语法结构:

for(初始化;条件判断;步长设置){

//循环体

}

执行逻辑:

第一次循环:初始化,条件判断,循环体,步长设置

2-n次循环:条件判断,循环体,步长设置

案例:从1输出到100

 for (int i=1;i<=100;i++){
            System.out.println("i" );
        }

案例:从1输出到100(只输出偶数)

for (int i=1;i<=100;i++){
            if (i%2!=0){
                continue;
            }
            System.out.println(i);
        }
(2)continue和break的区别

break:跳出当前结构体(用于switch和循环语句)

continue:跳出本次循环进入下一次循环

(3)while循环

语法结构:

while(条件判断){

//循环体

}

执行逻辑:先条件判断再执行循环体

int i=0;
        while (i<100){
            i++;
            System.out.println(i);
        }
(4)do - while循环

语法结构:

do{

//循环体

}while(条件判断);

执行逻辑:先执行循环体再执行条件判断

(5)循环的练习

题目1:在控制台上输出五个*

	for (int i = 0; i < 5; i++) {   //控制每行中的元素
		System.out.print("* ");
	}

题目2:在控制台输出5行5列的*

	for (int j=0; j<5; j++) {   //控制行数
		for (int i = 0; i < 5; i++) {   //控制每行中的元素
			System.out.print("* ");
		}
		System.out.println();	//输出换行符
	}

题目3:在控制台输出等腰三角*

for (int i = 1; i <= 5; i++) {

            //控制空格的循环
            for (int j = 1; j <= 5 - i ; j++) {
                System.out.print(" ");
            }

            //控制*号的循环
            for (int k = 1; k <= i ; k++) {
                System.out.print("* ");
            }

            System.out.println();
        }

题目4:在控制台输出空心等腰三角*

        for (int i = 1; i <= 5; i++) {

            //控制空格的循环
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }

            //控制*号的循环
            for (int k = 1; k <= i; k++) {
                //第一行和最后一行正常打印
                if (i ==1 || i == 5){
                    System.out.print(" * ");
                }else {
                    //如果是当前行中的第一个或者最后一个就正常打印,否则输出为空格
                    if (k==1||k==i){
                        System.out.print(" *");
                    }else {
                        System.out.print("   ");
                    }
                }

            }

            System.out.println();
        }


http://www.kler.cn/news/365299.html

相关文章:

  • 实现可扩展人工智能的便捷之路:英特尔 Tiber 开发者云 + MinIO 对象存储
  • 【Flutter】页面布局:线性布局(Row 和 Column)
  • vue富文本使用editor
  • 【记录】VSCode|自用设置项
  • EasyExcel_动态表头的导入导出
  • iPhone当U盘使用的方法 - iTunes共享文件夹无法复制到电脑怎么办 - 如何100%写入读出
  • 【纯血鸿蒙】HarmonyOS Emulator(实操亲测版)
  • java 17天 TreeSet以及Collections
  • 昇思MindSpore进阶教程--安装常见问题(上)
  • 炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)
  • 机器学习与神经网络的当下与未来
  • LoadBalancer 类型的 Service工作期间,kube-proxy做了什么?
  • ctfshow(262,264)--反序列化漏洞--字符串逃逸
  • LeetCode Hot 100:图论
  • 昇思MindSpore进阶教程--三方硬件对接
  • Windchill性能优化篇之分页查询
  • 操作系统笔记(二)进程,系统调用,I/O设备
  • 使用LangGraph构建多Agent系统架构!
  • C++20中头文件syncstream的使用
  • JavaScript 有哪些学习资源
  • Rust使用config加载Toml配置文件
  • leetcode-75-颜色分类
  • 为Windows Terminal 配置zsh + Oh-My-Zsh!
  • 探索 SVG 创作新维度:svgwrite 库揭秘
  • 力扣80:删除有序数组中重复项
  • vue2+elementui日期选择器