java学习 基础篇 源于狂神说java 02

本文介绍了Java的基础包机制,讲解了如何在IntelliJ IDEA中创建包,并详细探讨了JavaDoc注释的生成与使用。通过实例展示了Scanner类在用户交互中的应用,对比了`next()`与`nextLine()`的区别。同时,文章还揭示了Java中switch语句支持字符串的原理,通过反编译展示了其实现方式。最后,提到了break和continue的标签使用,但指出应谨慎使用。

前言

java 包机制

java基础 包机制
Intellij Idea 下建包
jdk8官网在线帮助文档
在这里插入图片描述
在这里插入图片描述

java javaDoc文档注释

javaDoc文档注释
在这里插入图片描述
写注释
在这里插入图片描述
通过命令行生成注释
在这里插入图片描述
通过idea生成注释
idea生成javadoc
在这里插入图片描述
在这里插入图片描述

java 用户交互Scanner

Scanner01
在这里插入图片描述

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("获取用户输入:");
        scanner.hasNext(); //这里也会阻塞 但是这里只是去缓存区查看是否有字符串
        String str = scanner.next(); //next会阻塞等待缓存区直到有字符串 如果没有上面的hasNext 这里也会阻塞
        System.out.println(str);
        scanner.close();
    }
}

next 以空格作为分割符 所以bbb不会被打印
在这里插入图片描述

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("获取用户输入:");
        String str = scanner.nextLine(); //nextLine 以回车作为分隔符
        System.out.println(str);


        scanner.close();
    }
} 

这里就打印了一整句话
在这里插入图片描述

在这里插入图片描述

Scanner02
在这里插入图片描述
在这里插入图片描述

java if switch while do…while for  break continue

if while do…while for break continue 完全等同c++ 所以不记录了

switch 等同c++ 但是多了可以支持字符串,c++ 只能枚举
在这里插入图片描述
但是怎么支持的呢?
原始程序如下

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        switch (name){
            case "test1":
                System.out.println("test1");
                break;
            case "test2":
                System.out.println("test2");
                break;
            case "test":
                System.out.println("test");
                break;
            default:
                System.out.println("default");
        }
    }
}

.class 程序如下

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
import java.util.Scanner;

public class Demo01 {
    public Demo01() {
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();		
        byte var4 = -1;
        //看到这里发现 原来是把字符串转换成hash值了
        switch(name.hashCode()) {
        case 3556498:
            if (name.equals("test")) {
                var4 = 2;
            }
            break;
        case 110251487:
            if (name.equals("test1")) {
                var4 = 0;
            }
            break;
        case 110251488:
            if (name.equals("test2")) {
                var4 = 1;
            }
        }

		//所以他的switch还是对枚举值 数字做判断
        switch(var4) {
        case 0:
            System.out.println("test1");
            break;
        case 1:
            System.out.println("test2");
            break;
        case 2:
            System.out.println("test");
            break;
        default:
            System.out.println("default");
        }
    }
}

等同c11的for增强
在这里插入图片描述
在这里插入图片描述
break和continue的标签使用方式,但是不建议使用
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值