java基础知识

.

#1.java的概论

1.1java的特点

  • Java语言是简单的(相比与其他语言来说)
  • Java语言是分布式的
  • Java语言是健壮的
  • Java语言是安全的
  • Java语言是体系结构中立的
  • Java语言是可移植的
  • Java语言是解释型的
  • Java是高性能的
  • Java语言是多线程的
  • Java语言是动态的

2.2JAVA语言简介

  • Java分为三个体系:
    (1)JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
    (2)JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
    (3)JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

# 2.JAVA标识符与关键字

2.1 标识符

Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符.标识符是用来给类、对象、方法、变量、接口和自定义数据 类型命名的。
2.1.1 标识符的合法定义:

  • 由26个英文字母大小写,数字0-9,符号:_或$组成。
  • 数字不可以开头。
  • 不可以使用关键字和保留字,但能包含关键字与保留字。
  • Java严格区分大小写,长度无限制。
  • 标识符不包含空格。
    2.1.2 标识符命名规则
  • 包名:多单词组成时所有的字母都小写。如:xxxyyyzzz 包名一般定义为com.该项目名字.+自己的名字
  • 常量名:所有字母都大写,多单词组成时用下划线连接。XXX_YYY_ZZZ
  • 类名接口名:多单词组成是所有的首字母大写。驼峰写法:XxxYyyZzz
  • 变量名和函数名:多单词组成时,第一个单词首字母小写,之后的单词首字母大写。xxxYyyZzz(小驼峰方法)
    double price;// 单价
    double weight;// 重量
    double sum3;
    注意:定义变量名字时候一定要有实际意义,用a ,b,c来命名变量也可以但是会造成混乱容易出错

2.2 常用关键词分类如下:

  • 类、方法和变量修饰符关键字 class:告诉系统后面的单词是一个类名,从而定义一个类。
  • 访问修饰符关键字 protected public为公有的 private为私有的只能
  • *流程控制关键字
  • 异常处理关键字 try catch语句 最终可用finally结束 异常可用throw抛出
  • 包控制关键字
  • 数据类型关键字
  • 没有使用的关键字
  • 特殊类型和方法关键字

#3.java中的基本数据类型

3.1java 8 种基本数据类型

  • .布尔型(boolean)

  • 字符型(char)

  • 字节型(byte)

  • 整数型分为:short(短整型) long(长整型)int(整型)

  • 浮点型分为:float(单精度) double(双精度
    3.2 各数据类型按容量大小(表数范围大小)由小到大排列为:

  • Byte, short, char ——int ——long——float——double
    3.3强制类型转换与自动类型转换
    在这里插入图片描述

  • 进行赋值时,小精度能给大精度,大精度不能给小精度
    b=(byte) i;当大精度给小精度进行赋值时进行强制类型转换 System.out.println(“整数型”+b);//字符串进行相加为拼接 数字为相加 boolean类型一般用来判断真和假
    默认值为false

#4.java中常量与变量的定义

4.1java变量的声明:

4.1.1对变量进行解释
在这里插入图片描述

  • double salary;
    int age;
    Boolean op;
    其中第一项称为变量类型,第二项称为变量名。分号是必须的,这是 Java 语句的结束符号。
    同一类型的不同变量,可以声明在一行,也可以声明在不同行,如果要声明在同一行中,不同的变量之间用逗号分隔,
  • 例如下面的例子。
    int studentNumber,people;
    声明变量的同时可以为变量赋值,也可以声明以后再赋值。如:
    int a=1; //声明时赋值
    int a; a=1; //声明后赋值
    java中常量用final修饰不可改变,变量是在程序中可以进行重新赋值

#5.java中的运算符

5.1.java中的算数运算符**

  • 加+ 减- 乘* 除/ 取余% 加加++ 减减–
    加减乘除与普通的数学运算一样++与–具有特点
    ++相当于数值自增1 a++=a+1;
    –相当于数值自减1 a–=a-1;
    ++在前与++在后的区别
    • 1.如果在程序中进行运算 然后输出运算后的结果,运算符在前后是没有任何区别的

    • 2.如果在输出语句正进行运算并输出结果,那么++在前是先进行运算,然后在将运算结果输出

    • 到控制台,++在后是先输出变量本身的值在进行运算,在下一次使用变量的时候使用的就是运算
      结果

    • 例如

    • 在这里插入图片描述

5.2.Java语言支持的赋值运算符:*

5.21 常用的几种赋值运算符

  • 赋值= :简单的赋值运算,将等号右边的值赋给左边
  • 加等+= :把左右两边的值进行相加值赋给左边 a+=b就等于 a=a+b;
  • 减等-= :把左右两边的值进行相减值赋给左边 a-=b就等于 a=a-b;
  • 乘等*=:把左右两边的值进行相乘值赋给左边 a*=b就等于 a=a*b;
  • 除等/=:把左右两边的值进行相除值赋给左边 a/=b就等于 a=a/b;

5.3.java语言中的关系运算符

在这里插入图片描述

5.4.java语言中的逻辑运算符**

  • && 与:一个为假都为假 两个都为真的时候才为真
  • || 或 :一个为真都为真 两个为假都才为假
  • !非:与条件正好相反

5.5三元预算符

三元运算符的基本格式

  • 变量=(表达式)? value1:value2;判断是否正确 正确返回value1不正确返回value2
  • int num=((1==1)?10:20)
  • 注意事项,要接受变量类型必须与表达式的value类型一致
  • 直接输出System.out.println(((1==1)?10:20));
  • 三元运算符与if else语句相同 为真执行if里边的语句 不正确执行else外边语句
  • 在这里插入图片描述

#6.java中的流程控制

6.1.分支结构**

6.1.1分支结构分为if语句和switch语句
1.1if语句可分为三种单独的if语句

  • 1.if语句
    一个if语句包含一个布尔表达式和一条或多条语句。
    语法
    If语句的用语法如下:
    if(布尔表达式){
    //如果布尔表达式为true将执行的语句}
    如果布尔表达式的值为true,则执行if语句中的代码块。否则执行If语句块后面的代码。
    public class Test5{
    public static void main(String args[]){
    int x = 10;
    if( x < 20 ){
    System.out.print(“这是 if 语句”);
    }
    }}
    以上代码编译运行结果如下:
    这是 if 语句

  • 2.if(){} else语句
    if语句后面可以跟else语句,当if语句的布尔表达式值为false时,else语句块会被执行。
    语法
    if…else的用法如下:
    if(布尔表达式){ //如果布尔表达式的值为true}
    else{ //如果布尔表达式的值为false}
    public class Test6 {
    public static void main(String args[]){
    int x = 30;
    if( x < 20 ){
    System.out.print(“这是 if 语句”);
    }else{
    System.out.print(“这是 else 语句”);
    }
    }}
    以上代码编译运行结果如下:
    这是 else 语句

  • 3.if…else语句if…else语句
    if语句后面可以跟elseif…else语句,这种语句可以检测到多种可能的情况。
    使用if,else if,else语句的时候,需要注意下面几点:
    (1)if语句至多有1个else语句,else语句在所有的elseif语句之后。
    (2)If语句可以有若干个elseif语句,它们必须在else语句之前。
    (3)一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
    语法
    if…else语法格式如下:
    if(布尔表达式 1){
    //如果布尔表达式 1的值为true执行代码}
    else if(布尔表达式 2){
    //如果布尔表达式 2的值为true执行代码}
    else if(布尔表达式 3){
    //如果布尔表达式 3的值为true执行代码}
    else {
    //如果以上布尔表达式都不为true执行代码}
    使用嵌套的if-else语句是合法的。也就是说你可以在另一个if或者elseif语句中使用if或者elseif语句。
    语法

  • 4嵌套的if…else语法格式如下:
    if(布尔表达式 1){
    如果布尔表达式 1的值为true执行代码
    if(布尔表达式 2){
    如果布尔表达式 2的值为true执行代码
    }}
    你可以像 if 语句一样嵌套 else if…else。
    c |= a = 10
    1.2.2switch语句
    switch语句有如下规则:

  • switch语句中的变量类型只能为byte、short、int或者char,JDK1.7版本及以上可以使用String。

  • switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。

  • case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

  • 当变量的值与case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。

  • 当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。

    • switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。
  • switch语句的基本格式
    switch (key) {
    case value:

    break;
    

    default:
    break;
    }
    在switch语句与if语句能进行嵌套,在case里边进行嵌套。

6.2.循环结构

目前学习的循环结构为while语句与do while语句
6.2.1while语句

  • while是最基本的循环,它的结构为:
    while( 布尔表达式 ) {
    //循环内容}
    只要布尔表达式为true,循环体会一直执行下去。。
    当布尔表达式改变时候while循环结束

6.2.2do while语句

  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
    do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
    do {
    //代码语句}while(布尔表达式);
    注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为true,则语句块一直执行,直到布尔表达式的值为false。
    while语句与do while语句能进行嵌套,在循环里边也能加入分支结构
  • 例如
    while (jiXu) {
    // 创建水果循环
    System.out.println(“你想买什么水果”);
    chengji = in.next();
    // 创建switch语句进行水果选择
    switch (chengji) {
    case “苹果”:
    System.out.println(“苹果一斤的价格为20元,请问你想买多少斤”);
    price = 20;// 一斤苹果的价钱
    System.out.println(“您购买的苹果斤数为”);
    weight = in.nextDouble();// 重量为变量定义为可变的
    // 苹果总价钱
    // 给顾客找钱或者补的钱数
    double money = weight * price;// 顾客买苹果要给的钱
    System.out.println(“您需要给的钱为:” + money);
    sum += money;
    System.out.println(“您是否还要购买什么水果”);
    cheng = in.next();
    // 创建switch语句询问顾客是否还要继续买水果
    switch (cheng) {
    case “是”:
    break;// 选择是进入选择水果循环
    default:
    System.out.println(“不买水果了”);
    System.out.println(“你是否要继续买文具”);
    这个程序就是在循环里边进行的嵌套
    }
    }
    }

6.2.3 for循环语句

  • 1.1 语法结构:

     For( 【初始变量】; 【表达式】 ; 【变量更新】){
      Java代码
    
  • 1.2关于for循环有以下几点说明:
    (1)最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
    (2)然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
    (3)执行一次循环后,更新循环控制变量。
    (4)再次检测布尔表达式。循环执行上面的过程。
    for () 可以没有任何参数,代表是死循环
    在for语句中可以同时声明多个变量,必须是同一类型的。

      for(int i=2 , b=1;i<=10;i+=2){
      同时定义int类型的i和b
    
  • 1.3三个关键字

    • break
      break 结束当前循环,以后都不在执行break后边的语句

      //输出1--10之间的所有数字,不输出7 之后的值
      for(int i=1;i<=10;i++) {
      System.out.print(i+"\t");
       if(i==7) {
       	break;
       }
       System.out.print("我是break");
      }
      输出结果
      1	我是break2	我是break3	我是break4	我是break5	我是break6	我是break7	
      注释:当i自增到7的时候结束本次循环
      

      定点跳出 break加强版
      jieshu:
      for(){
      }
      break jieshu;
      定点跳出相当于return,使用定点break,相当于给我们break添加一个跳出去的节点。
      定位点必须在for循环语句的上面第一行

    • continue
      continue结束当前循环的本次循环进入当前循环的下一次循环,本次循环后边的语句不在执行,下次继续执行。

         //输出1--10之间的所有数字,continue
          for(int i=1;i<=3;i++) {
         System.out.print(i+"\t");
         if(i==2) {
       	continue;
         }
         System.out.print("我是continue");
         }
      
    • return
      return 结束当前所有循环

      for(int i=1;i<=3;i++) {
        System.out.print(i+"\t");
        if(i==2) {
        	return;
        }
        System.out.print("我是return");
        }
      

**

  • 1.4增强型for循环**

     增强型的for循环相当
      for  each
      for(int i:数组)
    

    主要针对数组使用,在一个数组可以保存多个相同数据类型的值。

  • 1.5for循环的嵌套
    外层循环控制行,内层循环控制列。外层循环循环一次。内层循环循环一遍。

    在这里插入图片描述

#7.java中的dos命令

  • 1.*创建TXT文件 将文件改为java文件 改后缀为.java
    在java文件中写代码:
    Public class hello
    Class后面的名字必须与java文件名字一致,首字母大写。
    Public static void main(String args[]){ } 要想让程序运行必须的有该代码,
    System.out.println(); 该语句是在控制台打印输出内容的语句 输出的内容在()写 , 如果想直接输出内容需要使用“” 但是如果输出的是数字就直接写数字就可以了。=
    将java文件复制带本地磁盘中
    进行编译和执行代码的操作
  • 2.编译 进入到java文件所在的位置,找到需要编译的文件
    进入到dos窗口:wind+r 在运行窗口输入cmd
    Dos命令:
    转盘 盘符名: D: e:
    文件夹切换:只能进入下一层 cd 文件夹名字
    查看文件夹 dir
    返回上一级目录: cd …/
    编译命令 javac +java源文件的名字和后缀。 会在当前位置生成对应的class文件。
    执行使用 java +class文件的名字。
    每一次的java源文件修改 都必须进行重新编译 才会生成新的字节码class文件。
    执行执行的是class文件。
    在这里插入图片描述

#8.搭建java程序开发环境

8.1、下载安装JDK

  • 首先我们需要下载java开发工具包JDK。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,
  • 在下载页面中你需要选择接受许可,并根据自己的系统选择对应的版本,本文以 Window 64位系统为例:
  • 下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 C:\Program Files (x86)\Java\jdk1.8.0_91。
    注意:JDK与jre区别?可以简单理解成:JDK = JRE + Tools&Tool APIs。

8.2、配置环境变量

  • 1、安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置";
  • 2、选择"高级"选项卡,点击"环境变量";
  • 3、然后就会出现如下图所示的画面:
    在这里插入图片描述
  • 4.在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。
    变量设置参数如下:
    变量名:JAVA_HOME
    变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置
    变量名:CLASSPATH
    量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."
    变量名:Path
    变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
  • 5.测试JDK是否安装成功
    1、“开始”->“运行”,键入"cmd";
    2、键入命令: java -version、java、javac 几个命令,出现以下信息,说明环境变量配置成功;
    在这里插入图片描述

8.3、JDK目录介绍

  • 在JDK1.7的根目录有bin,db,include,jre,lib五个文件夹,还有一个src.zip(Java的源码压缩包);其他的一些文件不做介绍…
    (1)bin:jdk/bin目录下基本都是.exe结尾的可执行文件
    (2)lib:jdk/lib目录存放的都是Java开发工具要用的一些库文件
    (3)jdk/jre目录提供java程序运行的全部环境
    (4)jdk/jre/lib:该目录提供了JRE要用的代码库
    (5)jdk/db目录,该目录应该是新加的,JDK6之后自带的微型数据库,这是一个纯 Java 实现、开源的数据库管理系统(DBMS)。

#9.数组

9.1数组的使用规则

  • 既能存储原始数据类型,又能存储数据对象

  • .数组元素的个数称为数组的长度。长度一旦确定,就不能改变

  • 数组有默认值,当数组里边没有值得时候为null

  • 数组的元素下标从0开始的,即第一个元素下标是从0开始的,数组的元素下标的最大值等于数组长度减1

  • 可以创建数组的数组

  • 数组可以作为对象处理,数组对象含有成员变量length,用来表示数组的长度

  • 数组中的每一个值称为数组的元素

9.11规则使用点

  • 1.可以只能给部分元素赋值
  • 只能给元素逐个赋值,但是不能给元素整体赋值
  • 如不给可初始化的数组附初值,则元素全部元素均为0值(基本数据类型)
  • 如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数

9.2数组的创建语法

9.21数组的创建

  • 数组类型[] 名字(推荐使用)

       int[] num1=new int [2];
       定义一个整数型的名字为num1长度为2的数组
    

    -数组类型 数组的名字[];

     int num3[]={1,2};
    

    9. 22、数组的赋值方式:
    在创建的时候只给定长度,不给具体的值。

    num=new int[5];
    

    在创建的时候给具体的值,不明确长度。

       num=new int[]{1,5,8,25}
    

9.23、数组的使用
数组中的所有的值称为数组的元素,数组的元素个数称为数组的长度。数组的长度是数组.length,数组中的每一个元素都有一个下标,下标从0开始,数组下标的最大值是数组的长度减1。

  • a查看数组的长度:num.length。数组的长度结果是int类型的。

    int leng=num.length;   使用变量来接收数组的长度
    System.out.println(num2.length);  直接输出长度
    
  • B数组的赋值: 根据数组的元素下标

     num1[0]=10;
      num1[2]=20;
    
  • C查看数组的元素 :根据数组的元素下标

    • 一个一个查看

      //查看数组的值
       int temp=num1[0];
       int temp1=num2[3];
      System.out.println(temp);
      System.out.println(temp1);
      System.out.println(num1[num1.length-2]);
       在去 使用元素下标获取数组中的元素值的时候,可以使用数组.length进行计算。用来接收数组元素的变量的数据类型必                   
       须数组的类型一致。
      
    • 使用循环查看数组中的所有元素

      //		for(int i=0;i<num2.length;i++) {
      //			System.out.println(num2[i]);
      //		}
      在使用for循环的时候,一定要避免是数组的元素下标越界。否则会报如下异常
      
    • 增清型的for循环的使用;

      //使用for each 循环
      for(int temp:num2) {
       System.out.println(temp);
      }
      不需要自己考虑数组的长度,但是临时变量的数据类型必须与数组的类型保持一致。除非是数组的大类型。
      
    • 多维数组

      多维数组就是一维数组中的元素是数组。
      public static void main(String[] args) {
      //创建两个数组
      int [] num1=new int[3];
      int [] num2=new int[] {1,5,68,54,30,60};
      //创建多维数组
      int [][] num3=new int[2][];
      num3[0]=num1;
      num3[1]=num2;
      for(int i=0;i<=num3.length-1;i++) {
         for(int j=0;j<num3[i].length;j++) {
         	System.out.println(num3[i][j]);
         }
      }
      //System.out.println(num3[1][1]);
      //num3[0][0]=20;
       ///* num3[0][1]=30; */
      //num3[1][0]=30;
      //num3[2][0]=40;
      /  ///System.out.println(num3[0][1]);
      //	System.out.println(num3.length);
      //普通for循环进行打印输出
      
      //增强型for循环
      //for(int[] temp:num3) {
      //for(int temp1:temp) {
      

      //System.out.println(temp1);}

9.3数组的更新和排序

9.31冒泡排序

  • 冒泡排序 用两两相比
    从小到大 如果前一个位置比后一个大交换位置,
    思想:相邻两个数进行比较,第一波比较后,最大的数在最后。(每比较完之后,后面的数就减少一个比较 )
    在这里插入图片描述

9.32选择排序

  • 选择一个位置的值和该位置后边的每一个值进行比较
    选择排序,让数组中的每一个数,依次与后面的数进行比较,如果前面的数大于后面的数,就进行位置的交换。换个说法,选择排序:第一个数依次与
    后面的数比较,第一次比较完之后最小的数在最前面

在这里插入图片描述

9.4使用java自带的Arrays进行数组的操作

  • sort对数组中的元素进行升序排序
    toString 返回指定数组内容的字符串表示形式

       int age[]=new int[]{5,44,2,12,56,45,1};
       Arrays.sort(age);
      System.out.println(Arrays.toString(age));
      输入结果
      [1, 2, 5, 12, 44, 45, 56]
    
  • fill 将指定的值分配给指定的每个元素

  • equals 如果指定的两个数组彼此相等 则返回true

9.5使用java自带的String进行数组的操作

  • length 返回此字符串的长度

  • equals比较此字符串与指定的对象。当且仅当该参数不为 null,并且是表示与此对象相同的字符序列的 String 对象时,结果才为 true。

  • valueOf//转换为String字符串类型

    String.valueOf(id);
    
  • replace 进行替换

    aaa.replace(oldChar, newChar)
    
  • toCharArray将字符串转换为数组

    char[] charArray = aaa.toCharArray();
    
  • split 进行截取,将一个字符串根据规定内容分为多个字符串

    String[] split = aaa.split("5");//用5为分界线进行截取
    
  • trim 去除前后空格

  • toUpperCase转换为大写

  • toLowerCase转换为小写

    String str="aBCD";
    String str1 = str.toUpperCase();//转变为大写
    String str2=str.toLowerCase();//转变为小写
    
  • indexOf 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
    last IndexOf 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。

  • toString 返回此对象本身(它已经是一个字符串!

  • copyOf返回 char 数组参数的字符串表示形式。字符数组的内容已被复制,后续修改不会影响新创建的字符串。

# 10.oop面向对象

10.1类

  • 什么是类
    Class 类名{} 类名必须符合命名规则
    在同一个java文件中,可以创建多个不同类名的类,但是只能有一个public修饰的主类,用public修饰的类名必须与java文件的名字一致。

10.1.1属性

    属性称为静态部分, 变量数据类型
    属性定义:用来描述对象或者类,数据类型可以使基本数据类型,也可以是引用数据类型,一个类可以被另外一个类当做属       
    性来引用,被引用的类就是该类的属性
  • 全局属性
    全局变量归整个类所有,它会给默认值,全局变量可以被当前所有的非静态static方法所调用。

  • 局部属性
    局部属性要想使用必须要先赋值才能使用,没有默认值作用于只在局部中,当局部变量和全局变量名字相同时候,采用局部优先原则。
    10.1.2方法

    • 方法是什么?
      动态部分(行为) 方法

    - 构造方法
    构造方法语法语法:

       public 类名(参数){ java代码}
    
    • 有参构造方法

      public 类名(【有参数】){ java代码}
      

      a.是在new对象给对象赋值,给对象的属性赋值。如果类中没有属性就不能创建有参数构造方法,参数的个数可以是多个。不要超过属性的个数。 参数的名字可以与你要赋值的属性的名字一致,如果一致的话必须使用this关键字来进行参数和属性的区分。如果不用this就必须将参数的名字和属性的名不一样,但是参数的类型必须与要赋值的属性一致。

    • 无参构造方法

      public 类名(【无参数】){ java代码}
      

      当类中没有任何构造方法的时候,会有一个默认的无参数构造方法,但是一旦类中有了有参数构造方法,就不会再有默认无参数构造方法。如果你在类中写了有参数构造方法,就一定要把无参数构造方法也显示的写出来。

    • 构造方法的调用

      -new Person();  根据你空号中是否传值
      

10.2对象

  • 对象是通过new类得到,对象是具有自身属性和方法的类的一个具体的实例。

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t &ThinSpace; . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值