java全端课1--输入语句及IDAE快捷键

104 阅读6分钟

java 体系

image.png

java 环境

  • jdk = jre(运行开发程序) + 开发工具集
  • jre = jvm + JAVA SE 标准类库
    • JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范。引入Java虚拟机后,Java语言在不同平台上运行时不需要重新编译

image.png

  1. 编译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
  1. 字面量值
  • long,数字后面加L
  • float,数字后面加F
  • char,用单引号,有且只有1个字符
  • boolean:只能有true和false两个值
  • String:不是基本数据类型,它用双引号,凡是程序中""引起来都是字符串的值。
  1. 查看代码:
  • 快速查看一个类的成员有哪些,打开这个类,按快捷键Ctrl + F2
  • 查看接口的实现类重写接口方法的源码,按快捷键Ctrl + Alt + B,然后选择接口的实现类
  1. 异常处理
  • 快捷键:选中需要{}的代码,Ctrl + Alt + T
  1. 变量

打印快捷键:

  • 变量名.sout
    • System.out.println(age);
  • 变量名.soutv
    • System.out.println("age = " + age);

选中快捷键:

  • shift + f6 : 选中相同的变量

  • alt + j : 选中相同的单词,修改后 esc 退出

  • Math.random().var 等价于

  • Math.random() 按快捷键 Ctrl + Alt + v

  1. 加入别人模块
  • copy 到自己项目中。
  • new module , 名称和 copy 的模块名保持一致。
  1. 删除模块
  • 移除模块: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

  1. 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;
}
i0 时,打印:
000
111
222
i1 时,打印:
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")
}
i0 时,打印:
000
111
222
i1 时,打印:
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:智能类型补全。