Java课程学习笔记2

2025-03-20

该笔记主要记录浙江大学翁恺的java入门与进阶课程的学习笔记,主要包括第一小节的变量、赋值以及浮点数等相关知识

1 变量

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());
//        System.out.println("2+3="+2+3);
//        System.out.println("2+3="+(2+3));
        System.out.println(in.nextInt());
    }
}

这里的in.nextLine()就是读取用户输入的整数,但是需要注意的是这里有两个in.nextLine()所以实际运行的时候会要你输入两个数字

image-20250320103548061

但实际过程中,我们一般希望的是用户输入一次,就可以了,而不是每次调用这个输入的内容就要重新输入

在java中,定义变量以以下的形式来定义:

image-20250320103734234

需要注意的是,变量在定义之后这个变量的类型就不变了,一开始定义的是int那这个变量之后就只能是int了

2 赋值

在计算机中,=代表赋值动作而非数学中的等于:

a=6 实际上是: a <– 6

这也就意味着对于计算机的赋值中,赋值并没有交换律

如果在赋值变量前就使用变量,此时就报错了:

image-20250320104252848

这是因为变量在使用前都需要被初始化,有时候也可以直接在定义的时候就初始化:

image-20250320104417936

例如上图中的amount

在print的时候,只需要用字符串连接符链接即可:

image-20250320104718006

如果某个字母对应的变量基本不变,那么我们也可以将其定义为常量,例如将int amount;这个amount变量定义为常量可以用final int amount=100;

image-20250320104908064

如果两个变量都需要输入则每个变量都需要把in.nextln()里的内容赋值,我们要对输入加一些提示词时可以用System.out.print其相较于println而言没有换行

image-20250320105348061

3 浮点数——身高换算器

刚刚所有的内容都是基于整型的,所以如果直接用整型进行运算只能得到整数:

image-20250320200144646

只要在运算中有一个浮点数,那么运算就会变为浮点数了,当然也可以直接用double来定义

image-20250320200926823

需要注意的是,相较于浮点数,整数的运算结果更精确,运算速度也更快

4 运算优先级

image-20250320201056534

实在弄不清优先级,就加括号吧……

需要注意的是,单目运算符都是优先级最高的:

image-20250320201435411

其实就是正负号,那自然的逻辑里也是如此

5 类型的转换

image-20250320201644901

这里的计算结果往往有许多位的小数,而一般我们都是170cm这种,所以需要将其进行类型转换:

import java.util.Scanner;

public class inch {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        double inch,foot;
        System.out.print("请输入英尺");
        foot=in.nextDouble();
        System.out.print("请输入英寸");
        inch=in.nextDouble();
        System.out.println((int)(100*0.3046*(foot+inch/12))+"cm");
    }
}

可以使用(int)(float value) 将浮点数转化为整数,且这种转化是生成新数,并不会影响原先的数的值