Java学习之路(2)----Java基础

第五章 数组

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);

出现的代码问题找到解决方法后会在这里更新。

发布了12 篇原创文章 · 获赞 1 · 访问量 128

猜你喜欢

转载自blog.csdn.net/weixin_43351473/article/details/104279027
今日推荐