跳过正文
JavaSE基础语法知识
  1. TP` Blog/

JavaSE基础语法知识

·3 分钟· loading ·
龙城飞将
作者
龙城飞将
最美的是月亮🌙……
目录
Java学习之旅 - 这篇文章属于一个选集。
§ 2: 本文

方法
#

Java 运行的最小单元是 方法 就是实现某一功能的代码块,可以返回处理后的结果

定义格式:

修饰符 返回值类型 方法名形参列表{
    方法体代码
    return 返回值
}

// 功能:求最大值
public static int max(int a, int b){
    int max = a>b?a:b;
    return max;
}

方法必须调用才能执行


方法的其他形式
#

不需要返回值,返回值类型需要声明成 void

方法可以重载

一个类中,可以出现多个方法的名称相同,但是形参列表不同(类型不同,个数不同,或者顺序不同),那么这些方法则是方法重载

public static void print(int a) {
        System.out.println(a);
    }

    public static void print(char a) {
        System.out.println(a);
    }

    public static void print(int a, String  b) {
        System.out.println(a);
        System.out.println(b);
    }

在无返回值的犯方法里,可以使用 return 提前结束执行

类型转换
#

在Java中,有4种8个类型的变量,分别是
Byte 1个字节 Short 2个字节 Int 4个字节 Long 8个字节
double 8个字节 float 4个字节 Char 2个字节 Boolean 1个字节

小的可以自动的向大的进行类型转换,反过来不行,需要进行强制转化


Byte a = 20;
Int b = 300;
Int c = a + b

Byte d = (Byte) b + a

输入输出
#

需要调用API来进行输入输出

import java.util.Scanner;
public static void print() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");

        String name = scanner.next();
        System.out.println("请输入密码:");
        int password = scanner.nextInt();
        System.out.println("用户名:" + name);
        System.out.println("密码:" + password);

    }

运算符
#

几种常规的算术运算符和逻辑运算符,以及三元运算符

public static void print() {
        int a = 10;
        int b = 20;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(a % b);
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a >= b);
        System.out.println(a <= b);
        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(!true);
        System.out.println(!false);
        System.out.println(a & b);
        System.out.println(a | b);
        System.out.println(a ^ b);
        System.out.println(a << 2);
        System.out.println(a >> 2);
        System.out.println(a >>> 2);
        // 三元运算符
        int c = a > b?a:b;
        System.out.println(c);
    }

程序控制流程
#

  • 顺序结构
    按顺序执行

  • 分支结构

    • if-else
        public static void drive() {
                // 定义三种灯的状态
                boolean red = true;
                boolean yellow = false;
                boolean green = false;
                if (red) {
                    System.out.println("红灯停");
                } else if (yellow) {
                    System.out.println("黄灯等");
                } else {
                    System.out.println("绿灯行");
                }
            }
    
    • switch
    public static void printBook() {
        String sex = "男";
        switch (sex) {
            case "男":
                System.out.println("推荐《java从入门到放弃》");
                break;
            case "女":
                System.out.println("推荐《java从入门到精通》");
                break;
            default:
                System.out.println("没有推荐");
        }
    }
    
switch注意事项:
1 不支持小数比较,不支持double,float,long比较
2 case值不能重复,只能是字面量,不能是自变量
3 不要忘记break ,会出现穿透现象(可以利用简洁代码)
  • 循环结构
    • for
    • while
    • do-while
    • 死循环
    • 嵌套循环
public static int print(int n) {
        // 使用for循环,求1-n的累加和
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }

    // 使用while循环,求1-n的累加和
    public static int print2(int n) {
        int sum = 0;
        int i = 1;

        while (i <= n) {
            sum += i;
            i++;
        }
        return sum;
    }
     // 使用do-while循环,求1-n的累加和
    public static int print3(int n) {
        int sum = 0;
        int i = 1;
        do {
            sum += i;
            i++;
        } while (i <= n);
        return sum;
    }
    // 死循环
    public static void print4() {
        for (; ;){
            System.out.println("hello world");
        }
    }
    
    public static void print5() {
        while (true) {
            System.out.println("hello world");
        }
    }

for 和 while 都是先判断后执行
do-while 是先执行后判断

数组
#

  • 一维数组
  • 二维数组

定义数组时本身存储的是指向一片连续空间的地址,然后根据索引去访问
在定义数组时可以动态分配数组

        int[] arr = {10, 20, 30, 40};
        System.out.println(arr[0]);
        String[] names = {"张三", "李四", "王五"};
        System.out.println(names[1]);

        int[][] arr2 = {{1, 2, 3},
                        {4, 5, 6},
                        {4,4,4,6,7}};
        System.out.println(arr2[1][1]);
        for (int[] ints : arr2) {
            for (int anInt : ints) {
                System.out.print(anInt);
            }
            System.out.println();
        }
        
public static void print() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入二维数组的行数:");
        int n = sc.nextInt();
        String[][] names = new String[n][n];
        for (int i = 0; i < names.length; i++) {
            for (int j = 0; j < names[i].length; j++) {
                System.out.println("请输入第" + (i + 1) + "行第" + (j + 1) + "列的值:");
                names[i][j] = sc.next();
            }
        }
        inOut(names);
    }
        

内置函数
#

  • Math.random()返回[0,1)的小数
// 生成0-100的随机整数
int num = int(Math.random() * 100) +1;
  • Math.sqrt(a)给数开平方
Java学习之旅 - 这篇文章属于一个选集。
§ 2: 本文