Java知识点复习与总结(一)—— 基础知识

Java 阅读: 608

因为个人原因,Java语法自己学了好几次,但每次由于各种原因,之后没有经常使用Java,语法又忘掉了,所以这次在这里总结一下Java知识点,以便以后进行复习。

Java

Java环境搭建

所需安装包

开发JAVA所需要的安装包有:JDK、JRE、Eclipse
JDK: 全称是 Java Devolpment Kit,即Java开发套件,包含了JRE和Java工具。
JRE: 全称是 Java Runtime Environment,即Java运行环境,包含JVM(Java虚拟机)标准实现及Java核心类库。Java程序编译后需要JRE环境才能运行,因此Java是一种半编译半解释型语言。
Eclipse: 开发Java程序的IDE,为java开发提供了良好的界面和工具。

另外Java API文档在开发中也是必不可少的。

安装步骤:

  1. 去Oracle从官网下载JDK安装程序,因为JDK内置了JRE,所以只需下载JDK即可。
  2. 去Eclipse官网下载Eclipse安装包。
  3. 安装JDK和Eclipse
  4. 将JDK安装目录\java\bin\java\jre\bin加入到环境变量PATH。
  5. 测试Java环境,打开控制台,输入 java -version,显示内容类似如下说明成功安装。
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

变量

Java中变量主要分为两大类: 基本数据类型和对象类型。

基本数据类型

  1. 整型: byte short int long
  2. 浮点型: float double
  3. 字符型: char
  4. 布尔型: boolean

包装类

java为了方便,为每种基本类型都提供了包装类,让这些类型具备了对象的属性,包装类型可以解决一些基本类型解决不了的问题。各类型对应的包装类如下:

  1. 整型: byte short int long => Byte Short Integer Long
  2. 浮点型: float double => Float Double
  3. 字符型: char => Character
  4. 布尔型: boolean => Boolean
    各种包装类型可以想基本类型一样进行使用,也可以赋值给基本类型(拆箱),基本类型也可以直接赋值给包装类(装箱)。

对象类型

对象类型有:数组Array、字符串String、类Class、接口interface、抽象类abstrct
类型这些之后会详细说明。

变量类型转换

基本数据类型转换:高精度类型可以自动向低精度类型转换,反过来则需要强制类型转换。
类类型转换: 父类可自动向子类转换(向上转型),反过来需要强制转换(向下转型)

输入输出

输出比较简单,一般使用 System.out.println()System.out.print() 在控制台输出数据。前者输出后会自动换行。
输入稍微麻烦一些,使用Java提供的Scanner类,参考如下代码:

Scanner scanner = new Scanner(System.in);  //初始化scanner
String string = scanner.next();    //输入一个字符串
int i = scanner.nextInt();         //输入一个整数
String line = scanner.nextLine();  //输入一行字符串

Scanner提供了各种nextType()用来输入对应基本类型数据,注意next()方法和nextLine()方法的区别,前者输入一个字符串,遇到空白字符就结束了,后者可以输入一行,可以输入空白字符。

运算符

Java运算符基本同C/C++,使用也一样,所以不多说明了。

条件语句和循环语句

条件语句if、else、switch和循环语句while、do-while、for用法同C/C++。
不同的是JAVA增加了一个forEach循环,可以用来遍历像Array、List之类的序列。

int[] nums = {1, 2, 3, 4, 5};
//普通for循环
for(int i = 0; i < nums.length; ++ i) {
    System.out.println(nums[i]);
}
//效果等价上面的循环
for(int num: nums) {
    System.out.println(num);
}

数组 Array

声明数组

声明数组有两种方式:

DataType[] array;   // 首选的方法
DataType array[];   // 同上面等价但不推荐

创建数组

创建数组也有两种方式:

DataType[] array = new DataType[length];     //使用new动态创建
DataType[] array = {val1, val2, val3, ...};  //用列表的方式创建

数组也是对象

数组在Java其实是一种类,它继承于Object。并增加了length属性和clone()方法。
其中length属性可以用来获取数组长度,而clone可以复制(深拷贝)一个相同的数组。

字符串 String

String也是一种对象,继承与Object,用来在java中对字符串进行操作。

创建方法:

//静态赋值
String str = "luoluolzb";

//动态new创建
String str = new String("luoluolzb");

//使用字符数组创建
char[] data = {'a', 'b', 'c'};
String str = new String(data);

其他的构造方法参考api文档。

String提供了丰富的方法来满足各种对字符串操作的需求。下面介绍几种常用的字符串操作方法。

获取字符串长度

使用length()方法可以获取字符串长度 。

String s = "abc123def";
System.out.println(s.length());  //输出 9

字符拼接

在Java中,可以直接使用+号拼接两个字符串,或者拼接一个字符串和可以转换为字符串的类型(基本类型可以自动转换为String,定义了toString()方法的类也可以自动转换)。
例如:

public class Test {
    public String toString() {
        return "Test";
    }
    public static void main(String[] args) {
        String s1 = "abc", s2 = new String("123");
        //输出 abc123
        System.out.println(s1 + s2);
        //输出 abcdef
        System.out.println(s1 + "def");
        //输出 abc123
        System.out.println(s1 + 123);
        Test test = new Test();
        //输出 abcTest
        System.out.println(s1 + test);
    }
}

获取字符串中字符

使用int charAt(int index)方法,获取字符串中的某个字符。

String s = "abc123def";
//输出 a
System.out.println(s.charAt(0));
//输出 3
System.out.println(s.charAt(3));

字符串比较

使用boolean equal(Object o)方法判断两个是否相等。
使用int compareTo(String s)方法字典序比较两个字符串。

String s = "abc123def";
//输出 true
System.out.println(s.equals("abc123def"));
//输出 48,大于0说明大于"abc123456"
System.out.println(s.compareTo("abc123456"));

字符串搜索

使用int indexOf(char ch)在字符串中搜索字符。
使用int indexOf(String s)在字符串中搜索字符串。

String s = "abc123def";
//输出 2
System.out.println(s.indexOf('c'));
//输出 6
System.out.println(s.indexOf("def"));

字符截取

使用 String substring(int beginIndex) 截取字符串中从beginIndex开始到末尾的子字符串。
使用 String substring(int beginIndex, int endIndex) 截取字符串中从beginIndex到endIndex的子字符串。

String s = "abc123def";
//输出 123def
System.out.println(s.substring(3));
//输出  123
System.out.println(s.substring(3, 6));

String 还有其他很多方法,参考API文档。

Math类

Math是Java中提供数学计算的类,里面的方法都是静态方法,所以可以直接使用 Math.method() 方式进行调用。
Math类主要提供的方法有:

  1. 三角函数: sin、cos、tan、asin、acos、atan
  2. 最大最小值: max、min
  3. 幂次方、开方: pow、sqrt
  4. 对数: exp、log、log10、log1p
  5. 近似取整: ceil、floor
  6. 随机数: random

具体说明参考API文档。

版权声明:本文为博主原创文章,转载需注明来自: 洛洛の空间