一、编写并运行java程序步骤:

1、编写java源代码
  java源代码文件都已java作为扩展名

  java代码格式:
class 类名{
  //主方法}

2、编译,将字符文件编译为字节文件

  在dos中打开java文件所在的目录
  编译:javac 文件名(包含扩展名) 如果没有提示其他信息,并且在当前文件夹下多出来一个.class作为扩展名的文件,说明编译成功。

3、运行java字节文件
  命令: java 文件名(不包含扩展名,因为所有的java字节码文件都是以.class作为结尾的)
4、注释
  单行注释: //注释内容
  多行注释1、
    /*
    多行注释:不会编译到class文件中
    */

    /**
    * 多行注释会被编译到class文件中
    */
5、运算符
  语句
  常量
  变量
  数据类型 变量名 = 值;
  int score = 89;

二、堆、栈、方法区

  堆:实例化对象,数据储存 
  栈:运行方法 
  方法区:加载类,分配类成员变量以及静态方法的入口。含有常量池

三、java三大要素:继承、封装、多态

1、继承

  (1)每个类只能继承一个类,object默认为所有类的父类

  (2)关键字

    1.extends:表示继承,用法为<子类>extends<父类>

    2.super:

    • super关键字可以调用父类的成员变量( super.属性)和方法(super.父类方法([参数列表]))。
    • 子类构造方法中可以使用super关键字调用父类的构造方法:super([参数列表]);
    • super 不能用于静态方法或静态代码块中。

    3.final:

    • final关键字可以用来修饰类、方法和变量。
    • final修饰的类不能被继承。
    • final修饰的方法不能被重写。
    • final修饰的变量是常量,不允许二次赋值。

    4.this:表示当前类的对象,还可以使用this()表示调用当前类的构造方法

  (3)运行顺序:

    继承结构在内存中运行步骤:

  父类静态变量以及静态程序块 --- 子类的静态变量以及静态程序块 ---(子类主方法)--- 父类非静态代码块 --- 父类初始化---父类中构造方法 --- 子类中非静态代码块 --- 子类初始化---子类中构造方法 --- 对象调用的方法

    (具体分析参照Java——继承的运行顺序)

2.封装:指使用公有方法操作类中私有属性以保证数据的安全性

  (1)public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;

  (2)protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;

  (3)默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;

  (4)private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用;public是最大的访问权限修饰符,其修饰的成员变

    量、构造方法和普通方法可在任何一个类中被操作或使用;

3.多态

  (1)关键字:

    1.abstract:

    • 由abstract修饰的方法叫抽象方法
    • 非抽象类子类必须实现抽象父类的所有抽象方法
    • 抽象类不能被实例化
    • abstract只关心此方法是否存在,而不关心此方法是否被实现。

    2. 接口(interface): 

    • 接口只能继承父接口,不能继承类class
    • 接口回调:接口声明,实现类实例化
    • 非抽象子接口必须调用父接口中的所有抽象方法
    • 如果一个类实现了一个接口,但没有实现接口中的所有抽象方法,那么这个类必须是抽象类  

四、String字符串

  常用方法: 
  length():String的长度 
  equals(str):比较和str是否相同 
  endWith(str)、startWith(str):  判断是否以str开头、结尾 
  compareTo(String str):  和str按字典顺序比较;相同返回0,大则返回正数,小则返回负数。 
  indexOf(str):检索str第一次出现的位置,如果没有则返回-1. 
  lastIndexOf(str):  检索str最后一次出现的位置,没有则返回-1. 
  indexOf(str,start):  检索str从start开始第一次出现的位置,没有则返回-1. 
  lastIndexOf(str,end):  检索str到end位置最后一次出现的位置,没有则返回-1 
  substring(start,end):  截取从start到end位置的字符并返回。 
  replaceAll(old,new):  以new替换old。 
  trim(str):  去掉起始和结束位置的所有空格并返回余下字符串 
  split(str):  以str分割当前字符并返回字符串组                 

五、Comparable接口

  Character常用方法

  isDigit(char ch)    如果ch是数字字符返回true,否则返回false
  isLetter(char ch)   如果ch是字母字符返回true,否则返回false
  isLetterOrDigit(char ch) 如果ch是字母字符或数字字符返回true,否则返回false
  isLowerCase(char ch)  如果ch是小写字母字符返回true,否则返回false
  isUpperCase(char ch)  如果ch是大写字母字符返回true,否则返回false
  toLowerCase(char ch)  返回ch的小写形式
  toUpperCase(char ch)  返回ch的大写形式
  isSpaceChar(char ch)  如果ch是空格返回true,否则返回false

六、封装类

  1.基本数据类型的封装类: 
    int————–>Integer 
    byte————>Byte 
    short———–>Short 
    long———–>Long 
    boolean——->Boolean 
    char———–>Character 
    double——–>Double 
    float———–>Float

  2.字符串转化为封装类:
     Byte.parseByte(<目标字符串>);
     Short.parseShort(<目标字符串>);
     Integer.parseInt(<目标字符串>);
     Long.parseLong(<目标字符串>);
     Float.parseFloat(<目标字符串>);
     Double.parseDouble(<目标字符串>);
     Boolean.parseBoolean(<目标字符串>);

Java——总结的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. HDU 5616 Jam's balance(Jam的天平)

    HDU 5616 Jam's balance(Jam的天平) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ...

  2. Go-For Range 性能研究

    文章转载地址:https://www.flysnow.org/2018/10/20/golang-for-range-slice-map.html 如果我们要遍历某个数组,Map 集合.Slice 切 ...

  3. sublime text 3安装

    输入快捷键:shift+ctrl+p, 打开安装界面,先要安装install package control,然后选择install package. 增加编译环境,ctrl + b 执行. 安装如下 ...

  4. adb常用命令(转)

    1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...

  5. c#数据库事务锁类型

    一.脏读.不可重复读.幻象读的区别   1.脏读:包含未提交数据的读取.例如,事务 a 更改了某行(数据库已发生更改,但尚未提交,有可能发生回滚),事务 b 在事务 a 提交更改之前读取已更改的行.如 ...

  6. efk学习整理

    概念 Logstash 数据收集处理引擎.支持动态的从各种数据源搜集数据,并对数据进行过滤.分析.丰富.统一格式等操作,然后存储以供后续使用. kibana 可视化化平台.它能够搜索.展示存储在 El ...

  7. 【Mac】系统语言切换为英文后chrome浏览器无法用国内印象笔记账号登陆印象笔记剪藏

    解决办法: 将chrome浏览器语言设置成中文就可以了

  8. dedecms织梦文章微信分享带缩略图与简介

    dedecms V5.7二次开发 php5.6 mysql5.1 问题:dedecms文章分享到微信,带缩略图与简介.如下图: 1.准备工作 PHP 5.3+ 并且 curl扩展已经开启 微信服务号一 ...

  9. 关于noip2017的感想

    关于noip2017的感想 晚自习没有事做,也不知道该干什么. 第一次参加noip提高组. 前2年参加普及还算不错,没有犯任何错误. 去年就做了几套历年真题,感觉500+很好拿呀. 但去年的时候看20 ...

  10. day 07 数据类型,集合,深浅copy

    1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一 ...