Java基础语法闪过——纯小白

Java语法突击

笔者因为学校奇葩选课原因,需要学习Java,考试所迫和大伙一起交流复习下基础的语法内容,大家都一把拿下考试👊

观前提醒:本文整理的有些仓促了,简单几分钟看看Java有什么内容还好,如果有细致学习的需求推荐看一下廖雪峰的Java教程,跟着敲一敲代码,把基础打牢。

Java基本语法

程序结构

编写第一个Java程序 Hello_world

// 这里是注释
// 类是一个程序的基本单位,此处类名为Hello_world
public class Hello_world {
    // 此处为类中的main方法
    public static void main(String[] args) {
        // java的打印函数
        System.out.println("Hello, world!");
    }
}

保存代码文件为hello_world.java
编译:javac hello_world.java
运行:java hello_world.java

数据类型

Java的数据类型和C/C++没有很大出入:

  • 整数类型:byte,short,int,long
  • 浮点数类型:float,double
  • 字符类型:char
  • 布尔类型:boolean
public static void main(String[] args) {
        int a = 10;
        // float类型需要加上f后缀,不加后缀的为double类型,不能赋给float。
        float b = 3.14f;
        char c = 'm';
        boolean d = true;

变量和常量

常量

定义的变量前面加上final关键词,这个变量就变成了常量。
如:final double PI = 3.14;

为了便于区分,常量名通常全部大写。

var关键字

java编译器可以根据赋值语句自动推测出变量类型,使用var可以简化我们的代码,如var a = 100

运算符

这部分的内容和C/C++基本一致,包括运算顺序、自增自减、移位运算、位运算(与/或)、类型转换操作,不再赘述。

流程控制

输入和输出

java的输入和C语言基本相同,通过System.out.printf()可以实现占位格式化输出。
Java的输入要复杂一些,下面来看一个读取一个字符串和一个整形输入的代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建Scanner对象
        System.out.print("Input your name: "); // 打印提示
        String name = scanner.nextLine(); // 读取一行输入并获取字符串
        System.out.print("Input your age: "); // 打印提示
        int age = scanner.nextInt(); // 读取一行输入并获取整数
        System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
    }
}

首先我们需要import导入Scanner包,
然后创建scanner对象,
最后调用scanner.nextLine()来实现读取命令行输入的信息。

if、switch、while、for

使用方式和C中一致,不再赘述。

数组

定义数组int[] nums = new int[5]
获取数组大小nums.length
Java中的数组一旦创建后大小就不可改变了,数组本身是引用类型。
下面列举一些常用的数组操作:

// 打印数组(除了for循环java中还有更方便的方式)
System.out.println(Arrays.toString(ns));
// 打印多维数组(除了多层循环)
System.out.println(Arrays.deepToString(ns));
// 数组排序
Arrays.sort(ns);

面向对象技术基础

如果大家之前接触过面向对象的高级语言,那么应该对面向对象的基础已经很熟悉了,这里简要概括几笔。

继承、抽象类和接口

// Student继承Person类,重写抽象类
class Student extends Person {
  @override
  public void run() {
    System.out.println("run");
  }
}
// java抽象类
abstract class Person {
  public abstract void run();
}

// 接口定义
interface Person {
  public abstract void run();
}
// 接口继承
class Student implements Person {
  @override
  public void run() {
    System.out.println("run");
  }
}

java使用extends来实现继承
接口interface是更抽象的抽象类,类中没有字段,只有抽象方法。接口定义使用interface关键字,接口继承使用implement关键字

io

异常处理

Java内置了一套异常处理机制,使用try...catch语句

public static void main(String[] args) {
    try {
        process1();
        process2();
        process3();
    } catch (UnsupportedEncodingException e) {
        System.out.println("Bad encoding");
    } catch (IOException e) {
        System.out.println("IO error");
    } finally {
        System.out.println("END");
    }
}

多线程

Java创建多线程直接new就行了

// 多线程
public class Main {
    public static void main(String[] args) {
        Thread t = new Thread(new MyRunnable());
        t.start(); // 启动新线程
    }
}

class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("start new thread!");
    }
}
posted @ 2024-11-09 10:08  寒柏懒得想  阅读(1)  评论(0编辑  收藏  举报