【零基础??天速成 Java】Day1 - 初识 java

简介: 【零基础??天速成 Java】Day1 - 初识 java

前言

我的 java 基础学习,跟的是韩顺平的 java 课程~

本篇文章涵盖视频 0 ~ 215 集中 java 与 C++ 不同的知识点~

1. 第一个 java 程序

我的环境是:java8,Sublime

第一个 java 程序:

public class test {
  public static void main(String[] args) {
    System.out.println("hello java!\n");
  }
}

public class test 表示的是 test 是一个公有的类,

public static void main(String[] args) 表示的是一个主方法,程序的入口

System.out.println("hello java!\n"); 表示输出 hello java! 到屏幕上

很开心,第一个 java 程序成功启动!

2. java  开发的注意事项

1. 源文件中最多只能有一个 public 类,其他类的个数不限制;

2. public 类的类名必须和文件名相同;

3. 可以将 main 方法写在非 public 类中,然后指定运行非 public 类,

这样进入的就是非 public 类的 main 方法,举个例子:

public class test {
  public static void main(String[] args) {
    System.out.println("hello java!");
  }
}
class dog {
  public static void main(String[] args) {
    System.out.println("hello dog~");
  }
}

我们可以从 dog 类的主方法进入函数:

3. java 的注释

java 的注释跟 C++ 的一模一样。

但是 java 有一个文档注释:

/**
 * 我的第一个 java 程序
 * 
 * 
 *  
*/

输入:/**

之后,就会有自动补齐的语法。

4. javadoc 标签

比如说我们这样一段代码:

/**
 * @author xl
 * @version 1.0
 * 我的第一个 java 程序 
*/
// public 类
public class test {
  public static void main(String[] args) {
    System.out.println("hello java!");
  }
}
class dog {
  public static void main(String[] args) {
    System.out.println("hello dog~");
  }
}

在文档注释里面的 @author,@version 就是java的文档标签,

我们使用 javadoc 执行就能生成一个文档,

输入这样的指令:

javadoc -d F:\my test.java

-d 后面加的是文件路径:

这样就证明成功了,我们该文件去看看:

我们可以看到他生成的文档,点开 index:

我们就能看到他生成的文档。

5. java 的变量

java 的 int double char 和 C++ 相同,而字符串类型是 String。

boolean 是 java 的 bool 类型。(注意 java 的 char 是两个字节)

另外补充一点 '+' 的使用,java 的加号如果是两个字符串,可以进行拼接操作。

6. java 的 String 和 基本类型转换

只需要把基本类型 + " " 就可以转换成 String 类型。

比如说这段代码:

class string {
  public static void main(String[] args) {
    int a = 1000; 
    int b = 2222;
    String s1 = a + "";
    System.out.println(s1 + b + "");
  }
}

这段代码输出的就是:

String 也可以转成基本的数据类型,不过这就需要用到一些 api 的接口,

这里我就懒得学了。

7. java 的输入

来看代码:

// 需要包含 Scanner 包
import java.util.Scanner;
public class Input {
  public static void main(String[] args) {
    // 用 new 创建一个 Scanner 对象
    Scanner myScanner = new Scanner(System.in);
    System.out.println("请输入你的名字:");
    String name = myScanner.next();
    System.out.println("请输入你的年龄:");
    int age = myScanner.nextInt();
    System.out.println(name + "" + " " + age + "");
  }
}

输出:

8. java 的数组

java 的数组有两种:

静态数组:

public class ArrayTest {
  public static void main(String[] args) {
    // 静态数组
    int[] arr = {1, 2, 3, 4, 5};
    for(int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
  }
}

动态数组:

Scanner myScanner = new Scanner(System.in);
    // 动态数组
    int[] arrM = new int[5];
    for(int i = 0; i < arrM.length; i++) {
      arrM[i] = myScanner.nextInt();
      System.out.println(arrM[i]);
    }

二维数组也是类似的方式。

9. java 的方法

来看例子:

class Person {
  int _age;
  public void speak() {
    System.out.println("你好。");
  }
}
class Method {
  public static void main(String[] args) {
    Person p = new Person();
    p.speak();
  }
}

这里要注意的是,java 的对象不同于 C++,

java 的对象一定要 new 出来才能使用。

然后就是注意 public 写在方法的返回类型前面。

10. java 方法的传参

这里需要注意的是,java 传基本类型的时候,

形参的改变不影响实参,方法内修改不会影响方法外,

但是!!!

java 传引用类型(数组)或者传对象的时候,

传过去的是地址,所以在方法内修改会影响到方法外面。

然后这里又有一个需要注意的场景:

class Person {
  int _age;
  public void speak() {
    System.out.println("你好。");
  }
}
class Do {
  public void mod(Person p) {
    p = null;
  }
}
class Method {
  public static void main(String[] args) {
    Person p = new Person();
    Do d = new Do();
    d.mod(p);
    p.speak();
  }
}

我们在 Do 类里吧 Person 类对象置空了,但是,

我们在主方法还是可以直接使用 p 对象,这是为什么呢?

因为,mod 函数使用的是一个独立的栈区,所以 p 指向位置的改变不会影响 主方法里的。

但是修改对象里面的成员,是可以改变的。

数组也是类似的:

class Do {
  public void mod(int[] arr) {
    arr = null;
  }
}
class Method {
  public static void main(String[] args) {
    int[] arr = new int[1];
    arr[0] = 10;
    Do d = new Do();
    d.mod(arr);
    System.out.println(arr[0]);
  }
}

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

相关文章
|
11天前
|
Java
java
re是java运行时的环境,包含jvm和运行时所需要的类库 jdk是java开的程序包,包含jre和开发人员使用的工具 jvm就是我们常说的java虚拟机,他是整个java实现跨平台的最核心 的部分,所有的java程序会首先被编译为.class的类文件,这种类文 件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统 相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释 给本地系统执行。 只有jvm还不能成class的执行,因为再解释class的时候jvm需要调用 解释所需要的类库lib,而jre包含lib类库。jvm屏蔽了与具体操作系 统平台相关的信息,使得java程
15 0
|
8月前
|
Java
学JAVA,从现在开始-day03
每日记录自己学习java的心得和体会~
|
11月前
|
Java Unix Linux
JAVA|什么是Sdkman
JAVA|什么是Sdkman
366 0
|
存储 负载均衡 监控
JAVA问答4
JAVA问答4
112 0
|
监控 Dubbo 安全
JAVA问答8
JAVA问答8
94 0
|
Java
Java一些常见的坑
总是觉得自己Java基础还是不行,需要恶补。今天偶然mark了一本《Java解惑》,其中以端程序的方式罗列了95个即常见又不常见的xian(坑)jing(儿),拿来瞻仰一下。
40 0
|
Java
java24-if..else...if
java24-if..else...if
79 0
java24-if..else...if
|
存储 Java
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
341 0
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
|
Java 程序员 C++
|
Java API Windows