前言:
本文为b站课程的参考笔记 :Java黑马程序员_哔哩哔哩_bilibili
适合零基础,以及想要快速二刷复习Java知识点的同学
一、快速入门
1、配置开发环境JDK
简介:JVM->JRE->JDK是包含关系(如下图),自从Java11后就省掉了JRE,但是我们不用考虑,只需要安装JDK即可
分两大步:
① 下载jdk
打开Oracle官网:Oracle | Cloud Applications and Cloud Platform
可自行选择版本,我这里选择的是在持续更新的21压缩版
把下载的jdk包放在你想放的位置,并解压
② 配置环境变量
为什么要配置环境变量?
因为我们明明下载好了jdk,但在cmd中想要查看java版本时,会报错,找不到它(如下图)
设置环境变量,就是类似设置成全局变量,无论以后你的项目放在哪个盘都能找到它
把你解压的jdk包地址复制粘贴到path里面,保存即可
再次输入java -version,查看java版本命令执行成功,就说明环境变量配置成功了
二、熟悉命令行程序
① 第一个程序
第一个java命令,输出一个Hello,world!
第一个java文件,需要3步:
- 编写Java类
- 利用javac把代码转化为字节码
- jvm运行字节码转成机器码,供机器读取运行
拓展:为什么要转字节码?
C++可以直接将代码编译成机器码,但是受系统限制,Linux和Windows转化结果是不同的。
但java就可以适应,虽然加了“转成字节码”这个步骤,但是提高了适配度,反而节省了效率
② 实用工具
vscode比较轻量便捷,下载插件很方便,一般写前端喜欢用它
eclipse属于比较老牌的代码编辑工具(ps:大学用的就是eclipse,加载慢,使用起来很笨重)
idea号称是最智能的java开发工具,,推荐!(注意下载Community版,Ultimate版要收费)
- vscode:vscode下载地址
- eclipse:Eclipse 官网下载地址
- idea::下载 IntelliJ IDEA
idea中和vscode类似,可以写个简单的案例试试
三、开发web程序基础
1、字符类型 & 运算符
2、运算小案例
计算【等额本息还款】,一种贷款的还款方式,每个月偿还的钱是相等的,本金和利息加起来是固定的数额
每月偿还贷款 = p*mr(1+mr)^m/ [(1+mr)^m - 1]
p-本金,mr月利率,m-还款月数
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;
public class calculater {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //ALT+ENTER可以快捷生成变量名,格式化快捷键Ctrl+alt+L
System.out.println("请输入本金");
double p = scanner.nextDouble();//本金
System.out.println("请输入年利率");
double yr = scanner.nextDouble();//年利率
double mr = yr / 12.0 / 100;//月利率
System.out.println("请输入还款月数");
int m = scanner.nextInt();//还款月数
double pow = Math.pow(1 + mr, m);
double pay = p * mr * pow / (pow - 1);
String format = NumberFormat.getCurrencyInstance().format(pay);
System.out.println("本息等额还款结果:");
System.out.println(format);
}
}
接下来,我们可以在上面案例的基础上改进,
将计算总额的部分提取出来写成方法来调用,方便重复调用
ps:爱写注释的都是大好人~~~///(^v^)\\\~~~
import java.text.NumberFormat;
import java.util.Scanner;
public class newCalculate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //ALT+ENTER可以快捷生成变量名,格式化快捷键Ctrl+alt+L
System.out.println("请输入本金");
double p = scanner.nextDouble();//本金
System.out.println("请输入年利率");
double yr = scanner.nextDouble();//年利率
double mr = yr / 12.0 / 100;//月利率
System.out.println("请输入还款月数");
int m = scanner.nextInt();//还款月数
double pay = calculate(p, mr, m);
printDetails(p,mr,m,pay);
}
/**
* 计算本息等额还款
* 斜杠加俩星号后直接回车,会根据参数自动添加注释
*
* @param p 本金
* @param mr 月利率
* @param m 月数
* @return 返回本息等额总数pay
*/
static double calculate(double p, double mr, int m) {
double pow = Math.pow(1 + mr, m);
return p * mr * pow / (pow - 1);
}
/**
* @param p
* @param mr
* @param m
* @param pay
*/
static void printDetails(double p, double mr, int m, double pay) {
for (int i = 0; i < m; i++) {
double payInterest = pay * mr; //偿还利息
double payPrincipal = pay - payInterest; //偿还本金
p -= payPrincipal;//剩余本金
System.out.print("月份:" + (i + 1));
System.out.print("本月还款:" + NumberFormat.getCurrencyInstance().format(pay));
System.out.print("偿还本金:" + NumberFormat.getCurrencyInstance().format(payPrincipal));
System.out.print("偿还利息:" + NumberFormat.getCurrencyInstance().format(payInterest));
System.out.println("剩余本金:" + NumberFormat.getCurrencyInstance().format(p));
}
System.out.println("偿还总额:" + NumberFormat.getCurrencyInstance().format(pay * m));
}
}