Java-Basic2

Before:快开学了( 还没玩够呢呜呜呜😢 )

下面是一点碎碎念吧:
昨天和fz学弟吃饭,震惊于学弟对物竞的执着,想必是没法把学弟骗来泥交了吧🤣🤣🤣。想起了3年前的自己对数竞也是一样的痴迷,励志要把一生都献给纯数研究。当时应该还在学物竞,尝试着数物双修。还是在寒假后放弃了物理,选了数学,当然最后也只以高二的省一草草收场。有时候想,如果当时跟大多数人一样学了物理,大概至少也有个国一吧。经常嘴上说自己物理差数学好,其实细想自己还是挺喜欢物竞的。下学期也是终于有物理课了,希望能借此找到以前对物理的热爱❤️

Java Basic 2

Good Programing Style 代码风格

  • Rule 1 : 使用好的/有意义的变量名
  • Rule 2 : 正确的缩进 Ctrl + shift + F 可自动调节缩进
  • Rule 3 : 空格 (特别是在复杂的表达式中) 空行 增强可读性
  • Rule 4 : 不要重复测试 可能存在多个条件判断中不必要的重复检查等问题,使得代码不够简洁和高效。

循环 Loops

Java中有几个循环语句,与C ++ 中几乎一致

while循环

1
2
3
while( condition ){
statements
}

for循环

1
2
3
for(initialization; condition ; updata){
statements
}

break & continue

与C ++ 中用法一致

数组 Arrays

与C ++ 同样都是 0 ~ base - 1

Arrays 的定义

int[] values; //整型一维数组
int[][] values; //整型二维数组
如果想创建一个固定大小的数组,使用运算符 new
int[] values = new int[5];

Arrays 初始化

注意:这种方法只能在声明变量时使用:
int[] values = {12 , 24 , -23 , 47};

Arrays 访问

同样是下标访问 values[index]

length 变量

Java数组在这里与C++数组存在一点区别:
C++中length变量只存在于STL容器中,普通数组并不具备这一变量,但Java中则存在
For example:

1
2
int[] values = new int[12];
int size = values.length;

String Array

Java中允许字符串数组(C ++ 中并不允许string数组)

Object Oriented Programing 面向对象编程

Why use classes ?

Why use classes
Why use classes

Class Definition

Baby myBaby = new Baby();

1
2
3
4
public class Baby{
fields
methods
}

构造函数 constructer

  • 函数名即为类名
  • 没有返回值
  • 通常初始化fields
  • 每个类至少需要一个构造函数
    For example:
    1
    2
    3
    4
    5
    6
    7
    8
    public class Baby{
    String name;
    boolean isMale;
    Baby(String myname , boolean malebaby){
    name = myname;
    isMale = malebaby;
    }
    }

调用类

1
2
3
4
public class Baby {...}
Baby Jane = new Baby("JaneZ" , false );
System.out.println(Jane.name);
Jane.sayhi();

基本数据类型 VS 引用数据类型

基本数据类型

包括 int(整数)、long(长整数)、double(双精度浮点数)、boolean(布尔值)、char(字符)、short(短整数)、byte(字节)、float(单精度浮点数)

引用数据类型

数组和对象
所占的空间比基本数据类型要大的多

Java 对Object 的存储——引用!

Reference: Object的存储位置
遵循对对象的引用 <-> 按照指示前往一所房子
改变对象中的字段 <-> 挪动房子里的家具

静态数据类型和函数

静态字段或函数是为类声明(class declaration)而定义的
也就是说,它们属于类本身,而不是类的某个具体实例

Why public static void main(String[] arguments)

  • 无需实例化:程序启动时,Java 虚拟机(JVM)需要直接调用 main 方法来执行程序。如果 main 方法不是 static,JVM 就需要先实例化一个类的对象,然后才能调用 main 方法,但在程序启动初期,没有合适的机制来创建对象,所以将 main 声明为 static,JVM 可以直接通过类名调用它,无需创建类的实例。
  • 内存和性能考虑:静态方法在类加载时就已经绑定到类上,调用时不需要额外的对象创建开销,这有助于提高程序启动的效率,并且在程序启动阶段也更符合内存管理和性能优化的需求。

Java-Basic2
http://example.com/2025/02/09/Java-Basic2/
Author
Yihan Zhu
Posted on
February 9, 2025
Updated on
February 9, 2025
Licensed under