Java开发手册(初级)


前言

                                                   明月皎皎照我床,星汉西流夜未央。 — 曹丕《燕歌行》

在这里插入图片描述


# 1 API概述

       API (Application Programming Interface) :即应用程序编程接口

2 API基础篇

2.1 Scanner类

       Scanner类代表键盘录入,使用步骤如下:

       1. 导包

import java.util.Random;

       2. 创建对象

Random r = new Random ();

       3. 生成随机数,随机数范围:参数为10,生成的范围[0,10)

int number = r.nextInt(10);

       4. 代码示例

//导包
import java.util.Scanner;
public class ScannerDemo1{
	public static void main(String[] args){
		//2.创建对象
		Scanner sc = new Scanner(System.in);
		//3.接收数据
		System.out.println("请输入一个数字");
		int i = sc.nextInt();
		System.out.println(i);
	}
}

注意:next()录入字符串、nextInt()录入整数、nextDouble()录入小数。

2.2 Random类

       Random类代表生成随机数,使用步骤如下:

       1. 导包

import java.util.Random;

       2. 创建对象

Random r = new Random ();

       3. 生成随机数,随机数范围:参数为10,生成的范围[0,10)

int number = r.nextInt(10);

       4. 代码示例

// 1.导包
import java.util.Random;

public class RandomDemo1 {
    public static void main(String[] args) {
        // 2.创建对象
        Random r = new Random();
        // 3.生成随机数
        int number = r.nextInt(100); 
        System.out.println(number);
    }
}

3 API进阶篇

3.1 String类

String 类代表字符串,可以使用String类中的相关方法进行字符串相关操作

3.1.1 代码示例

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 字符串
        String s = "明月照高楼,佳人锦瑟怨!";
        System.out.println("s1:" + s);
    }
}

3.1.2 == 和 equals方法的区别

  • 对于基本数据类型:==比较的是具体的值

  • 对于引用数据类型:==比较的是对象地址值

  • equals方法不能比较基本数据类型

  • 没有对equals方法进行重写:比较的是对象的地址

  • 对equals方法进行了重写:比较的对象的内容

注意:String,Date类对equals进行了重写,所以比较的是对象的内容

代码示例

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 1.构造方法的方式得到对象
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);

        // 2.直接赋值的方式得到对象
        String s3 = "abc";
        String s4 = "abc";

        // 3.比较字符串对象地址是否相同
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
        System.out.println(s3 == s4);
        System.out.println("--------");

        // 4.比较字符串内容是否相同
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));
    }
}

3.2 StringBuilder类

       StringBuilder 可以看成是一个容器,创建之后里面的内容是可变的。

3.2.1 代码示例

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 1.创建对象
        StringBuilder sb = new StringBuilder("abc");
        // 2.获取长度
        int len = sb.length();
        // 3.添加元素
        sb.append(1);
        // 4.反转
        sb.reverse();
    }
}

3.2.2 链式编程

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 1.创建对象
        StringBuilder sb = new StringBuilder();
        // 2.链式编程
        sb.append("aaa").append("bbb").append("ccc").append("ddd");
        System.out.println(sb);   //aaabbbcccddd
    }
}

3.3 StringJoiner类

       StringJoiner跟StringBuilder一样,也可以看成是一个容器,作用是提高字符串的操作效率。代码示例如下:

package com.syh;

import java.util.StringJoiner;

public class Esther {
    public static void main(String[] args) {
        //1.创建一个对象,并指定中间的间隔符号
        StringJoiner sj = new StringJoiner("---");
        //2.添加元素
        sj.add("aaa").add("bbb").add("ccc");
        //3.打印结果
        System.out.println(sj);   //aaa---bbb---ccc
    }
}

3.4 Math类

       Math类即数学类,可以帮助我们完成基本的数学运算

       1. Math类的常见方法

public static int abs(int a)					// 1.返回参数的绝对值
public static int round(float a)				// 2.按照四舍五入返回最接近参数的int类型的值
public static int max(int a,int b)				// 3.获取两个int值中的较大值
public static int min(int a,int b)				// 4.获取两个int值中的较小值
public static double pow (double a,double b)	// 5.计算a的b次幂的值

       2. 代码示例

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 1.返回绝对值
        System.out.println("-2的绝对值为:" + Math.abs(-2));
        System.out.println("2的绝对值为:" + Math.abs(2));

        // 2.四舍五入
        System.out.println("23.45四舍五入的结果为:" + Math.round(23.45));
        System.out.println("23.55四舍五入的结果为:" + Math.round(23.55));

        // 3.返回最大值
        System.out.println("23和45的最大值为: " + Math.max(23, 45));

        // 4.返回最小值
        System.out.println("12和34的最小值为: " + Math.min(12, 34));

        // 4.返回a的b次幂的值
        System.out.println("2的3次幂计算结果为: " + Math.pow(2, 3));
    }
}

3.5 System类

       System类即系统类,包含了系统操作的一些常用的方法。

       1. System类的常见方法

public static long currentTimeMillis()			// 1.获取当前时间所对应的毫秒值
public static void exit(int status)				// 2终止当前正在运行的Java虚拟机,0表示正常退出,非零表示异常退出

       2. 代码示例

package com.syh;

public class Esther {
    public static void main(String[] args) {
        // 1.获取当前时间所对应的毫秒值
        long millis = System.currentTimeMillis();
        System.out.println("当前时间所对应的毫秒值为:" + millis);

        // 2.终止Java虚拟机
        System.out.println("程序开始执行了.....");
        System.exit(0);
        System.out.println("程序终止了..........");
    }
}

3.6 Runtime类

       Runtime类表示Java中运行时对象,可以获取到程序运行时设计到的一些信息

       1. Runtime类的常见方法

public static Runtime getRuntime()		// 1.当前系统的运行环境对象
public int availableProcessors()		// 2.获得CPU的线程数
public Process exec(String command) 	// 3.运行cmd命令

       2. 代码示例

package com.syh;

import java.io.IOException;

public class Esther {
    public static void main(String[] args) throws IOException {
        // 1.获得当前运行环境
        Runtime runtime = Runtime.getRuntime();
        // 2.获得CPU的线程数
        System.out.println(runtime.availableProcessors());
        // 3.运行cmd命令
        // shutdown :关机
        // 加上参数才能执行
        // -s :默认在1分钟之后关机
        // -s -t 指定时间 : 指定关机时间
        // -a :取消关机操作
        // -r: 关机并重启
        runtime.exec("shutdown -s -t 3600");
    }
}

3.7 Object类

       Object类为超类,即每个Java类的父类

       1. Object类常见方法

public String toString()				// 1.返回该对象的字符串表示形式
public boolean equals(Object obj)		// 2.比较两个对象地址值是否相等

       2. 代码示例

package com.syh;
/**
 * 学生类
 */
public class Student {
    /**
     * 成员变量
     */
    private String name ;
    private String age ;


    public Student() {
    }

    public Student(String name, String age) {
        this.name = name;
        this.age = age;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return age
     */
    public String getAge() {
        return age;
    }

    /**
     * 设置
     * @param age
     */
    public void setAge(String age) {
        this.age = age;
    }
    /**
     * 重写toString方法
     */
    public String toString() {
        return "Student{name = " + name + ", age = " + age + "}";
    }
}


package com.syh;

/**
 * 测试类
 */
public class Test {
    public static void main(String[] args) {
        // 1.toString()方法
        Student s1 = new Student("李默然" , "18") ;
        String result1 = s1.toString();
        // 注意:这里输出itheima和14是因为重写了toString方法,如果没有重写toString方法,输出的是地址值
        System.out.println("s1对象的字符串表现形式为:" + result1);
        
        // 2.equals()方法
        Student s2 = new Student("李默然" , "18") ;
        Student s3 = new Student("李默然" , "18") ;
        System.out.println(s2.equals(s3));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值