Java学习笔记——day02

目录

  1. 用户交互,接收键盘输入
  2. 流程控制语句
    顺序结构
    选择结构
    循环结构
  3. 方法

1、用户交互–获取键盘输入

1.1 概述

在运行java程序的时候,我们需要在运行的时候传递进去一些参数,java就提供了一个叫做类的东西,我们利用其中的Scanner这个类就可以很方便获取键盘输入的参数;
类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。举一个例子说明下类,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。

1.1.1 JDK1.5以后的版本提供了Scanner类,用来获取键盘输入;
1.1.2 Scanner类是 一个文本扫描器,可以从文件、输入流、字符串中解析出基本类型值、字符串值;
1.1.3 Scanner类提供了多个不同的构造器,可接受文件,输入流,字符串作为数据源,用于从文件、输入流、字符串中解析数据;
1.1.4 Scanner类提供的方法:

  1. hasNextXX():是否还有下一项;
  2. nextXX():获取下一项;
  3. hasNextLine():是否有下一行;
  4. nextLine():获取下一行;

1.1.5 代码框架

//创建一个Scanner对象
Scanner sd = new Scannner(System.in);
//使用Scanner对象接收键盘输入
sd.next()
sd.nextInt()
...
//关闭Scanner
sd.close();

2、流程控制语句

2.1 什么是流程控制语句

简而言之,流程控制语句,就是可以控制程序执行的流程。

2.2 流程控制语句的分类

2.2.1 顺序结构

Java顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行。
在这里插入图片描述

package com.sd.day2;
//顺序结构
public class Demo03 {
    public static void main(String[] args) {
        //程序不被干扰情况下,就是从上到下的执行
        System.out.println("Helloworld1");
        System.out.println("Helloworld2");
        System.out.println("Helloworld3");
        System.out.println("Helloworld4");
        System.out.println("Helloworld5");
    }
}

2.2.2 选择结构

单选,多选
  1. if语句
    1.1. if单选择结构
  • 格式
if(布尔表达式){
	执行语句}
  • 流程图
    在这里插入图片描述
  • 实例
if(i >= 30){
                System.out.println(i);
            }

1.2. if多选择结构

  • 格式
if(布尔表达式){
                //如果条件成立执行这里的代码
            }else if(布尔表达式){
                //如果条件成立执行这里的代码
            }
            else{
            //如果条件不成立执行这里的代码
            }
  • 流程图
    在这里插入图片描述
  • 实例
Scanner sd = new Scanner(System.in);

        System.out.print("请输入成绩:");
        int score = sd.nextInt();

        if(score == 100){
            System.out.println("你真棒!");
        } else if(score >=90 && score < 100){
            System.out.println("优秀!");
        }else if(score >= 80 && score < 90){
            System.out.println("合格!");
        }else if(score >= 70 && score < 80){
            System.out.println("要努力!");
        }else if(score >= 60 && score < 70){
            System.out.println("再接再厉!");
        }else if(score >= 0 && score < 60){
            System.out.println("不合格!");
        }else{
            System.out.println("输入成绩错误!");
        }


        sd.close();

2 switch语句

  • 格式
switch (表达式) {
        case 常量表达式或枚举常量:
            语句;
            break;
        case 常量表达式或枚举常量:
            语句;
            break;
        ......
        default: 语句;
            break;
    }
  • 流程图
    在这里插入图片描述
  • 实例
//根据值匹配
//不写break就会出现case穿透现象
        switch(str){
            case "A":
                System.out.println("A");
                break;
            case "B":
                System.out.println("B");
                break;
            case "C":
                System.out.println("C");
                break;
            case "D":
                System.out.println("D");
                break;
            default:
                System.out.println("Other");
  • if语句与switch语句的区别
    if…else顺序判断条件分支,遇到表达式值为真时,执行代码,而switch…case生成一个跳转表来指示实际的case分支的地址,跳转表的索引号与switch变量的值相等,通过对应索引号的表项从而到达定位分支的目的。

2.2.3 循环结构

程序中若出现大量相同的代码,循环是首选的改进方式,目的:实现代码的复用
  • 三种Java中的循环结构
    • for循环
    • while循环
    • do-while循环
  1. for循环

     确定循环次数。先判断,再循环。常用嵌套。
    
  • 格式
for(参数初始化 ;循环的条件 ;循环变量的叠加  ){
		循环操作;
}
  • 运行顺序

(1)执行初始化表达式(只执行一次),通常是定义循环变量语句

(2)判断循环条件,为真往下执行,为假结束循环

(3)执行循环体语句

(4)执行循环变量控制语句,一般是循环变量的自增或自减(++,–)

(5)回到第(2)步,重复这个过程,直到为假时结束循环

  • 实例
public static void main(String[] args) {
        //计算出0-100之间的奇数和偶数和
        int evenSum = 0;
        int oddSum = 0;
        //1. 遍历1-100
        //2.判断是奇数还是偶数
        //3.奇数和奇数相加,偶数和偶数相加
        for(int i = 1; i <= 100; i++)
        {
            if(i%2 == 0) {
                evenSum = evenSum + i; //evenSum += i;
            }else{
                oddSum = oddSum + i;
            }
        }
        System.out.println("奇数的和:"+oddSum);
        System.out.println("偶数的和:"+evenSum);
    }
  1. do-while循环

     不确定循环次数,但至少要循环一次。先循环,在判断。最后的分号不可省。
    
  • 格式
do{
	循环操作
        }while(循环条件);
  • 特点

     do-while的循环体至少会被执行一次
    
  • 实例

    public static void main(String[] args) {
       
        int a = 0;
        
        do{
            System.out.println(a);
            a++;
        }while(a < 0);
    }
  1. while循环

     不知道循环次数。先判断,再循环。常用死循环。用死循环时就要判断什么时候手动让他停止,而这个时候就常会定义一个Boolean类型的变量,让他初始值为true,到循环该结束时,让他的值为false。
    
  • 格式
    while(循环条件){
    循环操作;
  }
  • 实例
public static void main(String[] args) {
        int i = 1;
        while(i < 100){
            System.out.println("HelloWorld!"+i);
            i++;
        }
    }
  1. while循环和for循环的区别

     循环变量的作用域不同:
     (1).for循环中循环变量的作用域一般情况下是for后面的{}
     (2).while循环中变量是定义在while之上的,所以其作用的范围更大
    

2.2.4 在循环中常会用到的还有三种跳出循环的语句

  • break:结束本次循环,继续执行循环后面的语句。跳到外层循环。

  • continue:跳过本次循环,剩余的语句继续,继续执行下一次。

     注意:用在while循环里容易出现死循环。要将更新变量语句i++放在continue上面。
    
  • return:直接结束当前main方法,遇到return后,方法中的所有代码将不再执行。

     注意:程序中要减少return的使用频率。一旦使用return,整个main方法结束。
    

3、方法

3.1 概述

在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。

在java中,方法就是用来完成解决某件事情或实现某个功能的办法。

方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。
我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。

3.2格式

修饰符 返回值类型 方法名(参数,参数,....){
				方法体;
				return 返回值;
}

对于上面的语法格式中说明如下:

  • 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,公有访问修饰符public,私有访问修饰符private等;

  • 返回值类型:用于限定方法返回值的数据类型;

  • 参数类型:用于限定调用方法时传入参数的数据类型;

  • 参数名:是一个变量,用于接收调用方法时传入的数据;

  • return关键字:用于结束方法以及返回方法指定类型的值;

  • 返回值:被return语句返回的值,该值会返回给调用者;

     注:(1).如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。
      (2).方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
    

3.3实例

本例为:打印一个三角。

  • 先建立一个方法;
//打印三角形
    public void printSJ(int n){
        for (int i = 1; i <= n; i++) {
            //第一个空白倒三角
            for (int j = n; j >= i; j--) {
                System.out.print(" ");
            }
            //第二个正三角
            for (int j = 1; j <= i ; j++) {
                System.out.print("*");
            }
            //第三个正三角
            for (int j = 1; j < i ; j++) {
                System.out.print("*");
            }
            System.out.println(); //换行
        }
    }
  • 建立一个测试程序,调用方法;
public class test1 {
    public static void main(String[] args) {
        Sud s = new Sud();
        s.printSJ(5);
    }
}
  • 结果显示调用成功;
    在这里插入图片描述
    注:其他相关内容以后再补充。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值