Java的入门3

一、Scanner

引用数据类型使用:

1.导包:指明要使用类型存在的位置

import 包名。类名;

package包信息的下面,class类型的上面

2.定义引用数据类型的变量/引用

引用数据类型 变量名/引用名=new 引用数据类型();

3.使用功能 引用.功能名字();

Scanner

定义:接收用户键盘输入

1.导包:import.java.util.Scanner;

2.创建Scanner类型的引用 Scanner sc=naw Scanner(System.in);

3.使用功能

sc.nextByte();   接收用户输入的byte类型数据
        sc.nextByte();   接收用户输入的byte类型数据
        sc.nextShort();   
        sc.nextInt();   
        sc.nextLong();   
        sc.nextFloat();   
        sc.nextDouble();   
        sc.next(); 接收用户输入的字符串数据,从有效字符开始接收,遇到空格停止接收,直到遇到enter结束功能
        sc.nextLine(); 接收用户输入的字符串数据,接收任意字符,直到遇到enter结束
                       需要注意处理前面系列next功能遗留的enter问题
        sc.close(); 应该使用完毕进行关闭
import java.util.Scanner;//1\导包
public class Sanner{
    public static void main(String[] args){
        Scanner scn=new Scanner(System.in);//2.创建Scanner类型的引用
        System.out.println("请输出byte类型:");
        byte a=scn.nextByte();
        System.out.println(a);
        int b=scn.nextInt();
        System.out.println("请输入int类型:");
        System.out.println(b);
        //scn.nextLine();遗留问题
        String s=scn.nextLine();
        
    }
}

二、Random 产生随机数

1.导包 import java.util.Random; 2.创建Random类型的引用 Random ran = new Random(); 3.使用功能Random : 产生随机数

ran.nextInt();   产生int范围内的随机整数
ran.nextInt(n);   产生[0,n)内的随机整数
ran.nextDouble()  产生[0,1)之间的随机小数
公式 : 
            [0,n)    ran.nextInt(n)
            [0,n]    ran.nextInt(n+1)
            [min,max)  ran.nextInt(max-min)+min
                过程 : 
                    ran.nextInt(max)   --> [0,max)
                    ran.nextInt(max)+min   --> [min,max+min)
                    ran.nextInt(max-min)+min   --> [0,max-min)+min-->[min,max)
            [min,max]   ran.nextInt(max-min+1)+min
import java.util.Random;
public class Rd{
    public static void main(String[] args){
        Random rd=new Random();//创建类型
        int a=rd.nextInt();//在int范围内产生随机数
        System.out.println(a);
        System.out.println(rd.nextInt(6));//[0,6)
        System.out.println(rd.nextInt(6)+2);//[2,7]//在int
        System.out.println(rd.nextInt(6)+2);//[2,7]
        System.out.println(rd.nextInt(6)+2);//[2,7]
        System.out.println(rd.nextInt(6)+2);//[2,7]
        //System.out.println(Random());//[2,7]
        System.out.println(rd.nextDouble());//[0,1)
    }
}

三、流程控制工具

流程控制语句

顺序结构 : 从上到下 ,从左到右 选择结构 : 满足条件执行对应的代码段 if..else switch 循环结构 : 根据条件决定,使一段代码重复执行多次 for while do..while

if语句 : 单选择|单分支 : if(条件){ 满足条件执行的代码段; } 条件 : 必须为值为boolean表达式 双选择|双分支 : if(条件){ 满足条件执行的代码段; }else{ 不满足条件执行的代码段; } 多选择|多分支 : if(条件1){ 满足条件1执行的代码段; }else if(条件2){ 满足条件2执行的代码段; }else if(条件3){ 满足条件3执行的代码段; }... else{ 以上的条件如果都不满足执行的代码段; }

注意 : 如果{}中的语句体只有一句,前后的{}可以省略

public class If00{
    public static void main(String[] args){
        int a=16;
        //单if
        if(a==0){
            a=12;
        }
        System.out.println(a);
        //双if else  判断a是否为0
        if(a==0){
            System.out.println("a的值为0");
            
        }else{
            System.out.println("a的值不为0");
            
        }
        //多选
        if(a>0){
            System.out.println("a>0");
            
        }else if(a==0){
            System.out.println("a=0");
        }else{
            System.out.println("a<0");
        }
    }
}

switch语句

if : 定值判断|区间判断 switch : 定值判断

jdk12之前 : 
    switch(表达式){
        case 值1:
            语句体1;
            break;
        case 值2:
            语句体2;
            break;
        ...
        default : 
            语句体n;
            break;
    }
    
    表达式 : 可以为一个具体表达式,可以为一个变量
    类型要求 : byte short int char enum(jdk1.5新增枚举)  String(jdk1.7新增字符串)
    case : case后面的值就是与表达式的结果进行判断是否相等,满足相等执行对应的语句体,不相等继续向下判断
    break : 终止swtich语句
    如果语句体后不写,会发生case穿透,需要在适合的场景下使用,可以简化代码结构
    default : 默认的,如果所有的case都不满足,最终执行default后面的语句体-->else
              位置可以调整,但是一般放在最后
import  java.util.Scanner;
public class SwitchTest{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int mo=sc.nextInt();
        switch(mo){
            case 3:
            case 4:
            case 5:
            System.out.println("现在是春天");
            break;
            case 6:
            case 7:
            case 8:
            System.out.println("现在是夏天");
            break;
            case 9:
            case 10:
            case 11:
            System.out.println("现在是秋天");
            case 12:
            case 1:
            case 2:
            System.out.println("现在是冬天");
            break;
            default:
            System.out.println("输入错误");
            break;
        }
        //12新增->代替可以省略break;可以在case后面判断多个值
        switch(mo){
            case 3,4,5->System.out.println("现在是春天");
            case 6,7,8->System.out.println("现在是夏天");
            case 9,10,11->System.out.println("现在是秋天");
            case 12,1,2->System.out.println("现在是冬天");
            default ->System.out.println("输入错误");
        }
        //有返回值
        String str=switch(mo){
            case 3,4,5->"春天";
            case 6,7,8->"夏天";
            case 9,10,11->"秋天";
            case 12,1,2->"冬天";
            default->"输入错误";
        };
        System.out.println(str);
        //jdk13 :可以通过yield定义switch返回值
        //注意 : 如果一个存在返回值的switch,必须存在default
        String st = switch(mo){
            case 3,4,5->{
                System.out.println("当前月份是春季");
                yield "春季";
            }
            case 6,7,8->"夏季";
            case 12,1,2->"冬季";
            default ->"月份不合法...";
        };
        System.out.println("st"+st);
        
        
    }
    
}

for循环

for * while do..while 可以相互转换

for(条件初始化;条件判断;条件变化){ 循环体语句; } 条件初始化 : 声明一个变量,并第一次赋值 int i = 1; 条件判断 : 对变量i值的判断 i<=5 值为boolean类型的结果 条件变化 : 变量i自身值的改变 i++;i+=2.... 执行流程 : 1.条件初始化 int i = 1; 2.条件判断 i<=5 如果结果为false,不满足执行循环体语句{}条件,循环直接结束 如果结果 为true,可以执行循环体{}语句,下一步执行第三步 3.执行条件变化 注意 : 循环的条件i作用域为当前循环中,如果循环体语句只有一句,前后的{}可以省略

public class Class021_For{
    public static void main(String[] args){
    for(int i=100;i<=200;i+=10){
            System.out.println(i);
        }
        //计算1~10之间整数和
        int sum = 0;
        for(int i=1;i<=10;i++)
            sum+=i;
        
        System.out.println(sum);
    }
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值