之前的博客因为玩不懂 Docker 的备份,数据丢失,TAT
第一周学的是 Java 的环境配置,这里就顺带提一下吧。
Java 环境配置
打开控制面板的 -- 系统与安全 -- 系统 -- 高级系统设置 -- 环境变量
在下方的系统变量找到 Path,点击新加,把 JDK 目录下的 bin 目录路径写进去。
我这里是 D:\javajdk21\bin,你需要找到你的 JDK 安装到了哪里。
Path添加
第二步是配置 ClassPath
这里是配置两个,一个是" . ",另外一个是“jdk/lib" 的路径。
ClassPath配置
调用 cmd 进行查看环境是否配置完成:
分别输入 java 和 javac 看看是否提示使用方法,如果提示找不到则配置未成功。
第 3 章 Java 语言基础
书上的数据类型和数据赋值等就不学了,C 语言有的学。
数据类型的转换
数据类型优先级,从左到右从低到高
运用:当两个数进行运算时候,系统会把低级的数往高级的数进行转换计算
数据类型转换语法
他的语法和 C 语言的有相似之处:
举例子:
float a=2.2;
int b=0;
b=(int)a;
这样子就会把 a 从浮点数强制转换成了整型
局部变量与成员变量
成员变量是在 类 中定义的变量
局部变量是在 方法 中定义的变量
类中的成员变量相当于 C 语言里面的全局变量
而局部变量就相当于 C 语言里面的子函数里面的变量
故名思意,他们是有他们的作用范围的,成员变量可以被任何在类下的方法进行调用,而局部变量只能在对应的、方法里面进行调用
Var 的使用
Var 只能声明局部变量,而不能声明方法的参数类型,返回值类型或者类的实例变量。
使用 var 每次只能声明一个变量。
不能使用 null 作为初始值。
看着好像很多限制哦,不知道发明他干什么。
例子
public class b{
public static void main(String[] args){
var a=10;
System.out.println(a);
}
}
没有问题的话输出应该是 10
这个 var 定义的的话有什么好处呢?好像可以不用框死数据的类型,可以使用在那种不知道将会有什么值赋过来的情形。(个人的想法)
从键盘输入数据
这里老师讲了两种方法:
使用 io 库的键盘输入
代码:
import java.io.*;
public class b {
public static void main(String[] args) throws IOException {
int a = 0;
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
a = Integer.parseInt(buf.readLine());
System.out.println(a);
}
}
这里逐渐变得抽象起来了 23333
解释一下吧,这个 BufferedReader 是搭配这个 IO 输入输出库进行使用的,格式的话就是那三行,通用的:
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
a = Integer.parseInt(buf.readLine());
注意这里的 a = Integer.parseInt(buf.readLine());,这个是整数的输入方法,如果是字符串的话就使用 a = buf.readLine();就可以了,但是他只能这样子读取字符串,所以我们需要使用转换语句将他转换成我们的整型。
这里的 throws IOException 是错误抛出使用的,如果不写的话编译器会叫你写,23333,这么比 C 语言复杂那么多。
然后的话就差不多了,多练习一下就可以记住了
其他的转换方法见书的 3.6 表
课堂实操代码
import java.io.*;
public class a{
public static void main(String[] args)throws IOException{
String str="";
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader buf=new BufferedReader(isr);
str= buf.readLine();
System.out.println("Your input is:"+str);
String s1="",s2="";
s1=buf.readLine();
int m1=Integer.parseInt(s1);
s2=buf.readLine();
int m2=Integer.parseInt(s2);
int sum=m1+m2;
System.out.println(sum);
}
}