java 体系
java 环境
- jdk = jre(运行开发程序) + 开发工具集
- jre = jvm + JAVA SE 标准类库
- JVM是
Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范。引入Java虚拟机后,Java语言在不同平台上运行时不需要重新编译。
- JVM是
- 编译java程序
public class Hello{ //类
public static void main(String[] args){ //主方法
System.out.pringln("hello") //输出语句
}
}
- 注意:类名需要与文件名保持一致(类不是public 可以与文件名不一致,不推荐)
- javac + 文件名
- java + 类名
javac hello.java
# 执行后会出现 hello.class 文件(把java源文件编译为字节码文件)
2. 运行
java hello
类型
- 光标移到()内部,ctrl + p 可以查看匹配类型
''单引号里面有且只有一个字符- System.out.println('男');
+加号用来算数运算及拼接- System.out.println('a'+'b'); //195
- System.out.println("a"+"b"); //ab
- 字面量值
- long,数字后面加L
- float,数字后面加F
- char,用单引号,有且只有1个字符
- boolean:只能有true和false两个值
- String:不是基本数据类型,它用双引号,凡是程序中""引起来都是字符串的值。
- 查看代码:
- 快速查看一个类的成员有哪些,打开这个类,按快捷键Ctrl + F2
- 查看接口的实现类重写接口方法的源码,按快捷键
Ctrl + Alt + B,然后选择接口的实现类
- 异常处理
- 快捷键:选中需要{}的代码,
Ctrl + Alt + T
- 变量
打印快捷键:
- 变量名.sout
- System.out.println(age);
- 变量名.soutv
- System.out.println("age = " + age);
选中快捷键:
-
shift + f6 : 选中相同的变量
-
alt + j : 选中相同的单词,修改后 esc 退出
-
Math.random().var 等价于
-
Math.random() 按快捷键 Ctrl + Alt + v
- 加入别人模块
- copy 到自己项目中。
- new module , 名称和 copy 的模块名保持一致。
- 删除模块
- 移除模块:Remove Module(逻辑删除,解除关系)
- 物理删除:Delete
输入语句
输入语句是用于在程序运行期间,从控制台接收数据到程序中使用
import java.util.Scanner; //导包,告诉编译器和JVM去哪里找到这个工具类,JRE中包含很多核心类库
public class TestInput {
public static void main(String[] args) {
/*
这句代码创建了一个Scanner类的对象(这里忽略对象的概念)
这句代码中只有input是可以变的,其余是固定的。
input在这里就是一个变量名或对象名。它是标识符之一,可以由程序员自己取名字。
这里取名为input,想要代表输入的意思
System.in :系统输入
System.out:系统输出
*/
Scanner input = new Scanner(System.in);
System.out.print("请输入姓名:");
/*
调用Scanner工具类的方法来从键盘接收数据,把这个数据赋值给合适类型的变量
调用,方法,都是新概念,先不管它
*/
String name = input.next();
System.out.print("请输入年龄:");
int age = input.nextInt();
System.out.print("请输入体重:");
double weight = input.nextDouble();
System.out.print("是否已婚(true/false):");
boolean marry = input.nextBoolean();
System.out.print("请输入性别:");
// char gender = input.nextChar();
/*
Scanner类在设计时考虑到使用String最多,所以输入String的方法,next()
认为输入单个字符的情况很少,所以没有提供单独的nextChar(),
如果你确实需要输入单个字符,那么可以从String中提取1个字符,
charAt(index),index=0,表示取第1个字符,这个index就是后面要学习的数组的下标概念
charAt(index),index=1,表示取第2个字符
charAt(index),index=2,表示取第3个字符
*/
char gender = input.next().charAt(0);
System.out.println("name = " + name);
System.out.println("age = " + age);
System.out.println("weight = " + weight);
System.out.println("marry = " + marry);
System.out.println("gender = " + gender);
input.close();//释放资源,当前程序占用了键盘等系统资源,用完之后需要释放一下
}
}
- next(),nextInt(),nextDouble(),nextBoolean()等它们从控制台读取数据的规则是 从当前输入光标开始,往右找第1个非空格的字符开始读取,直到遇到空格、换行等空白字符位置。
- 所以.next()支持空格分割,一行写入。
- nextLine(),从当前输入光标开始一直读取,包括空格,直到遇到回车换行为止。.nextLine() 必须换行写入。
switch case
- switch 传统用法
注意和 go 语言的区别: 在Go语言里,case分支默认不会“穿透”到下一个case,每个case结束后会自动跳出switch结构,而不需要显式的break语句来终止执行,如果你想要模拟Java中的fallthrough行为(即从一个case继续执行到下一个case),需要明确地使用fallthrough关键字。
java:
switch (i) {
case 0:
System.out.println("000");
// 注意:这里没有 break 语句,所以如果匹配到此会自动 fall through 到下一层
case 1:
System.out.println("111");
case 2:
System.out.println("222");
break;
case 3:
System.out.println("333");
break;
default:
System.out.println("Default case");
break;
}
i 是 0 时,打印:
000
111
222
i 是 1 时,打印:
111
222
go :
switch i {
case 0:
fmt.Println("000")
fallthrough
case 1:
fmt.Println("111")
fallthrough
case 2:
fmt.Println("222")
// 这里没有 fallthrough,所以不会继续到 case 2
case 3:
fmt.Println("333")
default:
fmt.Println("Default case")
}
i 是 0 时,打印:
000
111
222
i 是 1 时,打印:
111
222
2. switch 表达式
switch 表达式使用->箭头符号来替代传统的冒号(:),并且每个case标签后的语句块自动隐含了一个break。
switch (i) {
case 0 -> System.out.println("000");
case 1 -> System.out.println("111");
case 2 -> System.out.println("222");
case 3 -> System.out.println("333");
default -> System.out.println("Default case");
}
IDEA 常用的快捷键
通用快捷键
Ctrl + S:保存所有文件。Ctrl + Shift + F12:最大化编辑器窗口。Ctrl + Tab:在最近打开的文件之间切换。Alt + F1:查找当前选中的元素在项目中的位置。
编辑器操作
Ctrl + Space:代码补全。Ctrl + Shift + Enter:自动完成语句。Ctrl + Alt + L:格式化代码。Ctrl + Alt + I:自动调整缩进。Ctrl + X/Ctrl + C/Ctrl + V:剪切、复制、粘贴。Ctrl + Y:删除行。Ctrl + D:复制行。Ctrl + W:选择单词或表达式。Ctrl + Shift + J:智能粘贴(根据上下文自动调整粘贴的内容)。Alt + Insert:生成代码(如构造函数、getter/setter 等)。Ctrl + P:显示参数信息。Ctrl + Q:快速文档查看。Ctrl + F12:类结构视图。
调试
Shift + F9:调试。Shift + F10:运行。F8:步过。F7:步入。Shift + F7:强制步入。Shift + F8:步出。Alt + F9:运行到光标处。Ctrl + F8:切换断点。Ctrl + Shift + F8:查看断点。
版本控制(VCS)
Ctrl + K:提交更改。Ctrl + T:从版本库更新项目。Alt + ':显示变更列表。Ctrl + D:比较文件的不同版本。
其他有用的功能
Ctrl + Shift + A:查找任何动作或选项。Ctrl + Shift + Alt + L:批量优化导入。Ctrl + Shift + M:重构 - 内联。Ctrl + Alt + Shift + T:重构菜单。Ctrl + Shift + Space:智能类型补全。