计算——零基础学Java语言笔记(一)

那么看完了C语言的课程之后呢,在@伞菌大佬的指点下我准备下一步去学习Java语言,至于课程选择嘛我就直接选择了浙江大学翁恺教授的课(毕竟看了有一段时间了有点不舍emm)并且这门课是国家精品课程,不过是面向零基础的。Java和CSharp很像,本来没有想这么细致的去学习,但是碰巧又赶上这门课程在开课,可以去讨论区互动和交作业等,于是便准备养老一般的跟着课程走。

那么Java这门语言呢,我准备跟着开课的进度一点一点学。(当然我看了一眼进度有点猴急,准备跟着上一次开课去学,然后跟着这个次开课去做题)。毕竟它和CSharp非常相似,我觉得把课跟下来应该不是特别难,当然,学好是另外一回事了。因为前面几周很多东西都偏基础,所以这些笔记可能会很短、很短

浙江大学-零基础学习Java

下一篇笔记

比较——零基础学Java语言笔记(二)

1.1 第一个Java程序

IDEA新建项目、新建模块、然后新建包、新建类,在class中写入

1
2
3
public static void main(String[] args){
    System.out.println("HelloWorld");
}

来输出HelloWorld,其中main函数是主函数,程序的入口点

输出时println函数括号里面的运算要用括号括起来,比如:

1
2
System.out.println("3 + 2 = " + 3 + 2);     // 输出32
System.out.println("3 + 2 = " + (3 + 2));   // 输出5

Java语言使用“+”来拼接字符串

1.2 变量与计算

1.2.1 输入

Java获取输入需要首先定义一个Scanner

1
Scanner in = new Scanner(System.in);

并且在前面

1
import java.util.Scanner;   // 自动生成

然后使用

1
2
3
in.nextLine();  // 读取一行输入
in.nextInt();   // 读取输入的整数
                // 其余类型的类似

1.2.2 变量

Java是强类型语言,所有的变量在使用前都需要经过定义并且有明确的类型并且被初始化。

使用 " 变量类型 + 变量名 " 定义变量,比如:

1
int myVar = 0;

变量的名字叫做标识(zhi4)符,只能由字母、数字和下划线,第一个字符只能是字母或下划线,不能用Java的关键字做标识符

在一行当中定义多个变量,每一个变量都应该有单独的赋值,比如:

1
2
int amount = 0, price = 0;              // [!]推荐一行定义一个变量
final int AMOUNT = 0;                   // 在前面加上final来定义常量

1.2.3 赋值

等于号 " = " 是赋值运算,将右边的值给左边

1.3 浮点数计算

1.3.1 浮点数

double用于定义double类型的浮点数变量 浮点数计算是有误差的

1.3.2 计算的优先级

如果不能确定计算的优先级可以加上括号来确保万无一失 大部分计算的优先级是按照人正常的思维来规定的 单目运算符只有一个算子,通常单目运算符的优先级较高

1.3.3 类型的转换

Java使用(类型)进行强制转换(和C一样) 比如说:

1
int i = (int)((3.0 / 2) * 5);

1.x 在中国大学MOOC上面提交编程作业:

  1. 需要将 package 以下的内容复制过去
  2. class名改为Main

第一周编程题

题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是:
°F = (9/5)*°C + 32
其中C表示摄氏温度,F表示华氏温度。
程序的输入是一个整数,表示华氏温度。输出对应的摄氏温度,也是一个整数。
提示,为了把计算结果的浮点数转换成整数,需要使用下面的表达式:
(int)x;
其中x是要转换的那个浮点数。
注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能。
这道题目要求转换后的数字,程序就只能输出这个数字,除此之外任何内容都不能输出。
输入格式:
一个整数
输出格式:
一个整数
输入样例:
100
输出样例:
37
时间限制:500ms 内存限制:32000kb

需要注意的问题:

给的公式是摄氏度转华氏度,而程序的目的是华氏度转摄氏度

提交的代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int F = in.nextInt();       // F代表读取的华氏度
        double C = 0;               // C代表读取的摄氏度
        
        C = (F-32)/(9/5.0);         // 根据公式运算(需要把公式导一下)
        
        System.out.println((int)C); // 输出,并强制转换为int
    }
}
冀ICP备17015375-1号
使用 Hugo 构建
主题 StackJimmy 设计