文章目录
第五章 数组
5.1 一维数组
一维数组的元素是数值。
5.2 二维数组
5.2.1 声明
-
二维数组由一维数组组成,其元素是一维数组
-
数据类型[][] 数组名称 = new 数据类型[行数][列数];
-
二维数组的长度:arr.lenth表示二维数组中元素的个数,即一维数组的个数,就是行数
-
arr[0].lenth表示第一个元素的长度,即第一行的列数
-
arr[i].lenth表示第i行的列数
int[][] arr = new int[2][3];
//二维数组的特殊用法
int[][] crr = new int[3][];
crr[0] = new int[3];
crr[1] = new int[4];
但是存储空间依然是连续的,所以可以写成这种样子。
for(i=0;i<arr.lenth;i++){
for(j=0;j<arr[i].lenth;j++){
……
}
}
第六章 对象和类
6.1 对象和面向对象的概念
- 对象:万物皆对象
- 面向对象:以特征(属性)和行为的观点去分析现实事物的方式
- 面向对象编程:先使用面向对象的方式进行分析,再使用任意一门面向对象的编程语言进行翻译,特征:封装、继承、多态
(1)c:面向过程
(2)c++:面向过程、面向对象
(3)java:面向对象
6.2 类和对象以及引用
- 对象:客观存在的实体,java中,体现为内存空间的一块区域,其数据结构由类决定
- 类:分类的概念,java中,包含描述特征的成员变量和描述行为的成员方法
String name = "aa";
int age =11;
String name2 = "bb";
int age = 10;
…………
简化工作量就描述成类
人类:
特征:姓名、年龄
行为:学习、吃饭
6.2.1 类的定义
class 类名{
类体
}
//如
class People{
}
//当类名由多个单词组成时,每个单词的首字母要大写
(1)成员变量语法格式
class 类名{
数据类型 成员变量 = 初始值;
}
初始值通常省略,但;不省略
class People{
String name;
//多个单词组成时,第二个单词首字母大写
int age;
}
成员的变量与局部变量有什么区别
1、局部……:方法体中声明的变量,作用范围从声明开始到方法体结束
2、成员……:方法体外类体内声明的变量,作用范围从声明到类体结束
6.2.2 对象的创建
- 类的实例化
- 本质在内存中的堆区申请存储空间,存放对象的独有特征信息
(1)语法格式
new 类名();
如:
new People();
对象没有名字,称为“匿名对象”
6.2.3 引用
- 引用数据类型声明的变量,引用型变量
- 记录内存地址信息
(1)- 类名 引用变量名
如:
People p;
声明People类型的引用变量p,本质上在栈区申请存储空间 - People p = new People;
声明引用变量p来记录People类型对象的地址信息,new是在堆区申请空间,声明申请栈空间,等于之后就是地址指向堆区 - 引用变量名.成员变量名
p.name:指向堆区中的堆区对象的姓名特征
- 类名 引用变量名
boolean的默认是false
6.2.4 成员方法
成员方法允许直接访问成员变量
第七章
7.1 构造方法和方法重载
构造方法:方法名与类名相同
默认构造方法
第八章 String类
public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World!");
StringBuffer s = new StringBuffer("gyy");
s.append("jj");
s.append("good");
System.out.println(s);
String k = s.toString();
StringBuffer k2 = s.reverse();//反转
System.out.println(s);
System.out.println(k2);
StringBuffer k3 = s.delete(2,3);
System.out.println(k3);
System.out.println(s);
s.insert(3,3);
System.out.println(s);
s.replace(2,7,"qq");//替换
System.out.println(s);
s.toString();
System.out.println(s);
}
}
Hello World!
gyyjjgood
doogjjyyg
doogjjyyg
dogjjyyg
dogjjyyg
dog3jjyyg
doqqyg
doqqyg
//所以可以直接s.reverse();s的值就变了
第九章 日期时间
import java.util.Date;
import java.text.*;
public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World!");
//显示日期:
Date d1 = new Date();
//确立转换格式
SimpleDateFormat d2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//int k =d1.compareTo("Wed Feb 12 15:36:56 UTC 2020")
System.out.println(d1);
System.out.println(d1.toString());
System.out.println(d1);
Date d3 = new Date();//当前时间
Date d4 = new Date(99,2,12);//自定义时间初始化
System.out.println(d3.getTime());//获取返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
System.out.println(d4);
System.out.println(d4.before(d1));//若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
System.out.println(d4.compareTo(d1));
System.out.println(d4.hashCode());//返回此对象的哈希码值。
System.out.println(d2.format(d1));//以d2格式显示d1
d4.setTime(10000);//用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
System.out.println(d4);
}
}
Hello World!
Wed Feb 12 16:10:13 UTC 2020
Wed Feb 12 16:10:13 UTC 2020
Wed Feb 12 16:10:13 UTC 2020
1581523813657
Fri Mar 12 00:00:00 UTC 1999
true
-1
2073798870
2020-02-12 04:10:13
Thu Jan 01 00:00:10 UTC 1970
第十章 Number与Math类的使用
public class NumberMath{
public static void main(String[] args){
System.out.println("Numbe与Math类学习:");
double a = 3.4;
Integer b =3;
Integer d = 5;
String s = "gyy";
System.out.print(b.doubleValue());//xxxValue:转换为xxx类型
System.out.println(Math.round(a));//四舍五入
System.out.println(b+"对比"+d+":"+b.compareTo(d));//对比数字
System.out.println("11:"+Integer.parseInt("11"));
System.out.println("11 ,2):"+Integer.parseInt("11",2));
System.out.println("11,16):"+Integer.parseInt("11",16));
System.out.println("010 ,16):"+Integer.parseInt("010",16));
System.out.println("010 ,8):"+Integer.parseInt("010",8));
System.out.println("010 :"+Integer.parseInt("010"));
//System.out.println("0xA:"+Integer.parseInt("0xA".trim()));
//System.out.println("0x11 ,16):"+Integer.parseInt("0x11".trim()));
System.out.println("0x11:"+Integer.parseInt("0x11"));//编译正确,运行出错
System.out.println(Math.min(a,b));
System.out.println(Math.atan2(1,2));
System.out.println(Math.toDegrees(Math.PI/2));
System.out.println(Math.toRadians(Math.PI/2));
System.out.println(Math.random());
}
}
Numbe与Math类学习:
3.03
3对比5:-1
11:11
11 ,2):3
11,16):17
010 ,16):16
010 ,8):8
010 :10
Exception in thread "main" java.lang.NumberFormatException: For input string: "0x11"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at NumberMath.main(NumberMath.java:26)
第十一章 Character类使用
/*
*character 类学习
*/
public class Character{
public static void main(String[] args){
System.out.println("character");
System.out.println("访问\"菜鸟教程!\"");
//Character ch = new Character();
// Character ch = 'a';
// //char ch2 = test('x');
// System.out.println(ch);
char ch='a';
Character ch1=ch;//自动封箱
//Character c=new Character(a);
//char c1=c;
}
}
Character.java:16: 错误: 不兼容的类型: char无法转换为Character
Character ch1=ch;//自动封箱
^
1 个错误
第十二章 正则化表达式
java.util.regex 包主要包括以下三个类:
- Pattern 类:pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
String patten = //正则表达式 ,如“.*runoob.*”
Patten p = Patten.compile(patten);
- Matcher 类:Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
String s = //字符串;
Matcher m = Patten.matcher(s);
出现的代码问题找到解决方法后会在这里更新。