该笔记主要记录浙江大学翁恺的java入门与进阶课程的学习笔记,主要包括第一小节的基础知识内容
1 计算机基本概念
计算机的常见的一个方法:枚举法
但枚举法往往很慢,为了加速计算往往设计了许多其他的方法,例如二分法等等,或者更加复杂优化的方法
关于程序的执行:
解释器每次根据代码进行逐行执行,而编译器则是根据代码将其编译成机器码,然后直接用机器码运行
需要注意的是,语言的解释和编译是没有具体区分的,只是根据习惯往往会选择比如说python是解释器,c用编译器。
在今天,这两种方式没有很明显的区别。
2 java编程软件的选择
这里用来编写代码的编辑器是idea(视频里推荐的是eclipse,但考虑到实际使用而言,现在一般用的更多的都是idea)
对于软件的安装首先需要jdk,原视频推荐的是jre,但我在查阅了知乎之后感觉不如直接安装全套的内容:
from 知乎 : JRE 和 JDK 的区别是什么? - 一直在路上的回答 - 知乎
这里我选择的是JDK24:
选择其中的x64 installer
之后一路安装就可以了,在安装了java运行环境jdk之后,就可以安装编辑器idea了:
安装链接,这里我选择的是idea2021(其实就是瞎选的)
在安装好并激活好之后,create a new project:
需要注意的是,需要选择好jdk(类似于pycharm里配置好环境),如果你已经安装了jdk的话,idea会自动检测已有的环境(detecting jdk),下图中显示的就是我们刚刚安装的 jdk 24
这里之后会显示如下的界面:
意思是根据模板创建,其中的Command Line App
会自动创建一个带有main
方法的类,对于hello world来说不需要根据模板创建应该
接下来就是这个project的location:
3 hello world
编写之后可以发现,下面有warning,这是由于自 Java 17 及之后的版本,Oracle 对 Java 的原生方法(如 System.load
)引入了更严格的安全限制,导致 IDEA 在运行 Java 代码时会触发警告。
为了解决这个问题,需要在Run → Edit Configurations
中进行配置:
在add VM 里加上--enable-native-access=ALL-UNNAMED
再运行就没有warning了:
tips: public sraric void 这个内容可以直接psvm快捷键实现添加
需要注意的是,每一句的要以英文的分号结尾(和c一样),没有的话会报错
但输出中文的时候面临乱码:
应该怎么解决呢,有以下的几步:
按照以下的内容全部变成utf-8
然后还要修改启动配置:
添加最后一行:
上述的方法仅适用于jdk18以前的内容,jdk18之后内部的字符集已经变成了gbk字符集
现在只需要修改项目启动的参数为gbk编码:
还是在run-edit configuration:
在这里的add VM options 里加上-Dfile.encoding=GBK
,特别需要注意这里要改成=GBK
需要注意的是刚刚改的idea 启动参数不要修改,就在这修改就行了
reference: P00014-基于JDK21中IDEA控制台中文输出乱码
4 输入内容
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
System.out.println("你好");
Scanner in = new Scanner(System.in);
System.out.println(in.nextLine());
}
}
这里的import是自动的
如果要加一些固定字符串,和python类似可以,可以用加号:
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
System.out.println("你好");
Scanner in = new Scanner(System.in);
System.out.println("echo:"+in.nextLine());
}
}