java教程[未完结]

java教程[未完结]

十一月 23, 2025

还没写完,期待催更~~


使用环境 IDEA+JDK17

第一个程序

1
2
3
4
5
public class Main{
public static void main(String[] args){
System.out.println("hello world");
}
}

在这里 public class Main意思是创建一个公共的类为Main(和文件名一致)

public static void main(String[] args)这个的意思是创建一个main函数,主函数,类型是静态空

System.out.println就是输出,如果嫌麻烦,可以这样

1
1.sout//这里可能是IDEA的快捷键,至少IDEA是可以这样的,输入后直接变成println

其他的大致与C类似

然后在java中+是可以作为连接符的,如果是与字符串连用则识别为连接符

"coo"+"kie"+1的结果是cookie1

然后剩下的也和C一样

直到逻辑和按位与

注意

java中的逻辑与比C的指代更加明确

1
2
3
4
5
6
7
8
import java.util.OptionalInt;

public class Main {
public static void main(String[] args) {
System.out.println(1 | 2);
System.out.println(1 || 2);
}
}

在这里第一条println是可以运行的

但是第二条是不可以运行的

原因就是java强制逻辑运算符使用表达式

使用如果非得要写得改成

System.out.println(1==1 || 2==2);

输出true

然后后面没啥了,包括条件语句循环等等都与C/C++一致

输入

java里输入依靠java内遵循万物皆类

所有这里要引用java的一些类包,就像C引用头文件一样

其实说实话,java的这些类什么的名字都挺长的,如果记不住不用硬记,去网上查就行(还是要注意一下,java也区分大小写!)

1
2
3
4
5
6
7
import java.util.Scanner;
//此处引用了Scanner类,这个是输入,下面是使用方法
Scanner sc = new Scanner(System.in);
//这里sc可以改成你想要的名,下面是调用
int a = sc.nextInt();
char b = sc.next().charAt(0);
String c = sc.nextLine();

java的数组记录元素个数使用的是.length而不是size

然后补充一下数组

1
2
3
4
5
6
7
类型[] 名称;
or
类型[] 名称 = new 类型[字符数];
//然后是ArrayList
ArrayList<类型> sites = new ArrayList<类型>();
sites.add("Google");...
//当C++vector玩就行

面向对象

甭管别的了,直接开!

面向对象中类的定义

1
2
3
4
5
6
7
8
[类型public/private] class [名称]{
[类型public/private] 变量类型 [名称];
......
[类型public/private] 方法类型 [名称](变量){
......
}
......
}

然后是封装

首先我先确定我的结构

比如我写一个food类

1
2
3
4
5
6
code
|
--- textclass
|   |
|   ---food.java
--- Main.java

food.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package textclass;
import java.util.*;
public class food{
private String name;//食物名称
private int num;//食物数量
//方法的设计,这里的参数为空是在构造,也就是默认创建对象时的xxx xx = new xxx
public food(){
this.name = "";
this.num = 0;
}
//而这个构造不一样,这个是王维的构造(),不是这个是带参数的
public food(String name, int num){
this.name = name;
this.num = num;
}
public String getName(){
return this.name;
}
public int getNum(){
return this.num;
}
public void setNum(int num){
this.num = num;
}
public void addNum(int num){
this.num += num;
}
}

这个时候就定义好了一个food类

我们可以在main类中尝试简单使用一下这个类

首先,如果你的类没有定义错也没有放错地方的情况下

你可以在main类通过import textclass.food;来引入food类

这时候你只能访问public修饰的方法和属性

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;
import textclass.food;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
food f1 = new food();
//使用默认构造
System.out.println(f1.getName()+' '+f1.getNum());
System.out.println("使用构造:");
food f2 = new food("饼干", 10);
System.out.println(f2.getName()+' '+f2.getNum());
}
}

此时输入应该是

1
2
3
 0
使用构造:
饼干 10

然后就是继承