前言
java 包机制
java基础 包机制
Intellij Idea 下建包
jdk8官网在线帮助文档
java javaDoc文档注释
javaDoc文档注释
写注释
通过命令行生成注释
通过idea生成注释
idea生成javadoc
java 用户交互Scanner
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();
}
}
这里就打印了一整句话
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的标签使用方式,但是不建议使用