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

前言

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的标签使用方式,但是不建议使用
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值