《Java核心技术卷1:基础知识》CH4-对象与类

文章目录

  • 4.1 面向对象程序设计概述
  • 4.2 使用预定义类
  • 4.3 用户自定义类
  • 4.4 静态域与静态方法
  • 4.5 方法参数
  • 4.6 对象构造
  • 4.7 包
  • 4.8 类路径
  • 4.9 文档注释
  • 4.10 类设计技巧
  • Tips
  • 常用语法

4.1 面向对象程序设计概述

4.2 使用预定义类

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

// 字符串String类
String input = "yang";
String output = "song";
StringBuffer stringBuffer = new StringBuffer();  // 
StringBuilder stringBuilder = new StringBuilder();  // 

output.equals(input);  // equals(),比较函数
output.length();  // length(),获取字符串长度
String[] output = input.split(""{1,});  // split(),分割字符串
output.isEmpty();  // 判断是否为空
output.format();  // 转换格式
output.append("A");  // 给字符串增加字符
output.indexOf("y");  // 返回output中y字符的位置
output.lastIndexOf("y");  // 
output.substring(1, 5);  // 截取字符串
output.charAt(5);  // 
output.reserver();  // 
output.toString();  //
output.replace(, , );  //
output.toUpperCase();  // 大写
output.toLowerCast();  // 小写
output.compareTo();  // 
output.compareToIgnoreCase();  // 
output.startsWith("a");  // 判断字符串是否以a开头
output.endsWith("a");  // 判断字符串是否以a结尾
NumberUtils.isNumber("aaa");  // 判断是否为数字
output.matcher(input);
Integer.parseInt(input);  // 文本转化为整数
Character,codePointAt(input, 0);  // 字符串的第一个字符的代码点
System.nanoTime();  // 返回系统时间
Byte.MAX_VALUE;
Byte.MIN_VALUE;


import java.text.NumberFormat;  // 数字格式化类
import java.text.DecimalFormat;  // 浮点数格式化类
import java.util.Date;
import java.util.Locale;
import org.apache,commons.lang.math.NumberUtils;
// 从控制台接收输入
import java.util.Scanner;  // 扫描输入类
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();  // 将控制台输入的String,赋值给input
long input = scanner.nextLong();  // 将控制台输入的long,赋值给input
decimal input = scanner.nextDecimal();  // 将控制台输入的decimal,赋值给input
// 数组
String[] array = new String[] {"a", "b", "c"};  // 声明一维数组
int[] array = new int[5];  // 声明长度为5的一维int数组
char[] array = new char[5];  // 
int[][] array = new int[][] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};  // 声明二维数组
int[][] array = new int[3][3];  // 声明长度为3X3的二维int数组

String input;
input.append(array[i]);  // 将数组的值赋给字符串


// 数组的for循环
int[] array = new int[] {1, 2, 3};  // 声明数组
for (int input : array) {
	System.out.println(input);  // 执行业务逻辑
}
// Java集合类
import java.util.Array;  // 数组类
import java.util.ArrayList;  // 动态数组类
import java.util.List;  // 集合类
import java.util.Map;  // 集合类
import java.util.Set;  // 集合类
import java.util.TreeSet;  // 集合类
import java.util.ListIterator;  // 集合类
// 数学类
import java.math.BigDecimal;
import java.util.Random;
Math.random();  // 随机数

4.3 用户自定义类

class Employee {
	// 成员变量
	private String name;
	private double salary;
	private LocalDate hireDay;
	
	// 构造器
	public Employee(String n, double s, int year, int month, int day) {
		name = n;
		salary = s;
		hireDay = LocalDate.of(year, month, day);
	}

	// 方法
	public String getName() {
		return name;
	}
	
	public double getSalary() {
		return salary;
	}

	public LocalDate getHireDay() {
		return hireDay;
	}

	public void raiseSalary(double byPercent) {
		double raise = salary * byPercent / 100;
		salary = salary + raise;
	}
}

4.4 静态域与静态方法

4.5 方法参数

4.6 对象构造

4.7 包

4.8 类路径

4.9 文档注释

4.10 类设计技巧

Tips

  • 面向对象程序设计(OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的过程化程序设计开发技术。Java是完全面向对象的;
  • 面向对象的程序是由对象组成的,每个对象包含:对用户公开的特定功能部分,和隐藏的实现部分;
  • 一个重要思想:在OOP中,不必关系对象的具体实现,只要能够满足用户的需求即可;
  • 面向对象编程,适用于解决大规模项目;面向过程编程,适用于解决小规模问题;
  • 类,是构造对象的模板或蓝图,由类构造对象的过程称为创建类的实例;
  • 封装,也被称为数据隐藏,它给对象赋予了“黑盒”特征,从而提高了重用性和可靠性;
  • Java中,所有的类都源自于一个“神通广大的超类”,Object;
  • 构造器(Constructor),用于构造新实例。构造器是一种特殊的方法,用于构造并初始化对象;构造器的名称应该与类名相同;
  • 源文件名必须与public类的名字相同;在一个源文件中,只能有一个public公有类,但可以有任意数目的非公有类;

常用语法

// 控制台输出
System.out.println("hello world");  // 输出,且换行
System.out.print("hello world");  // 输出,不换行
System.err.println("error message");  // 输出错误日志信息


// 数据类型转换
int a = 1;
char b = "2";
System.out.println((short)a);  // 将int转换为short
System.out.println((char)a);  // 将int转换为char
System.out.println((int)b);  // 将char转换为int


// 三元运算符,形式为“条件运算” ? 运算结果1 : 运算结果2
// 即 if... else... 的简写形式
long number = 100;
String output = (number % 2 ==0) ? "结果为偶数" : "结果为奇数";


// 逻辑关系符
&& 逻辑与;|| 逻辑或

// 正则表达式

// 流程控制
if (...) {...} else if (...) {...} else {...}
while (...) {...}
switch (...) { case A: ...;	break;	case B: ...; break; default: ...;}

你可能感兴趣的:(Java)