Java个人基础学习摘要


个人学习记录!!!

Java概要

Java简史

诞生于:1995年
由sun公司开发,James Goling带领团队
开发工具包JDK(包括JVM),官网下载: https://www.oracle.com
JavaSE(标准版)、JavaEE(企业版)、JavaME(微型版)

Java相关基础

1.Java特性

  • 简单性:不支持多继承,屏蔽指针(底层为c++实现)
  • 健壮性:自动垃圾回收(GC机制)
  • 可移值性:JVM(Java虚拟机)、跨平台

2. Java编译运行

  • 编译:javac.exe
    由 .Java 源程序 --> (编译生成) .class文件
  • 运行:java.exe
    运行class文件,A.class 使用为:Java A
    此过程是在DOS直接运行Java文件

3. 环境变量path

  • 相当于给windows操作系统程序指路,在电脑属性 --> 高级系统设置中配置

4. Java关键缩写

  • JDK:java开发工具包
  • JRE:java运行环境
  • JVM:java虚拟机

5. Java开发基础知识

  • java开发分为编译期和运行期,编译期主要检查语法错误
  • java内存:
    方法区内存:编译生成class文件(编写的代码方法)
    堆内存:对象引用的储存
    栈内存:程序运行(方法调用)
    方法只有调用才会分配内存空间

6. Java集成开发环境【简称:IDE】

  • 如:eclipse(myeclipse)、Intellij IDEA、NetBeans、JBuilder

Java基础

数据类型

1. 八种基本数据类型

数据类型 字节大小
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
  • 变量默认为 0 或 null
  • char 默认位 \u0000
  • 一个中文占用2个字节(char)
  • java默认把数字当成int型(超出整型加 L )
  • java默认浮点类型为double型
  • double和float在计算机内部二进制存储为近似值
  • boolean型只有true和false(C语言可以用0和1表示)
  • 数据类型容量:byte < short < int < long < float < double ,无论字节大小,浮点数容量大于整型

2. 字节大小

扫描二维码关注公众号,回复: 8811779 查看本文章
字节 换算
1 Byte 8 bit
1 KB 1024 Byte
1 MB 1024 KB
1 GB 1024 MB
1 TB 1024 GB
  • 一个比特(bit)等于一个二进制位(1/0)

3. 编码

  • 支持中文简体编码:GB2312 < GBK < GB18030 (容量依次增加)
  • 支持繁体中文:大五码 < big5 >
  • 全球编码(unicode):UTF-8、UTF-16、UTF-32…
  • java采用unicode编码,支持标识符使用中文(但编程一般不建议使用中文)
  • ASCII码:‘a’ -->97、’A’–>65、‘0’–>48

关系运算符

  • 关系运算符的结果是boolean型
  • || 短路与(其中一个不成立及返回) 和 | 逻辑与(所有条件都要执行)
  • 位运符 执行快速运算
  • 扩展运算符不改变类型
    例:byte x = 1;
    x += 5 等于 x = (byte)(b + 5)

编程思想

1. 面向对象

  • 三大特征:封装、继承、多态
  • 面向对象的分析:OOA
    面向对象的设计:OOD
    面向对象的编程:OOP

2. 方法重载( override)

  • 与方法名 和传递参数类型 有关
  • 与修饰名 和返回类型 无关
  • 静态方法 不能继承和重载
  • eclipse 有快捷重写方法

3. 封装

  • private成员私有化
  • 提供操作入口get、set
  • 类构造方法返回类本身
  • 类自定义了构造方法,不再提供无参(开发需要自己补上)
  • 引用数据类型 null
  • 没有static修饰,为实例方法和变量
  • static 不存在this
  • static 的方法可以用类名和引用
    static 的变量可以表示为一族类的公共量
    static String country = “中国”(存在方法区内存中,带有类名Chinese.country)

4. 继承 extends

  • java为单继承,只能继承一个类(C++可以多继承)
    父类各名称(父类、基类、超类、superclass)
    子类各名称(子类、派生类、subclass)
  • 私有构造方法 不支持继承
  • 所有默认继承 java.lang.Object
  • 所有子类第一继承最近父类

5. 多态

  • 转型(必须有继承关系)
    向上转型 --> 子类到父类(调用还是子类方法)
    向下转型 --> 父类带子类(需要强转,需要子类的特有方法)
  • 著名类型异常(存在在强制向下转型–隐患)
    java.lang.ClassCastException 类型转换俩者没有关系
    在强制类型转换,使用instanceof 避免以上异常错误(A instanceof B)A是否B类型对象
    空指针异常:java.lang.NullPointerException

关键语法

1. 注释

  • 单行注释 //
  • 多行注释 /*… */
  • javadoc注释
/** 
* javacdoc注释
* 可生成帮助文档
*/ 

2. switch语句

  • case内为 (byte、short、char转换int)intString类型
  • case没有break会穿透执行剩下所有(包括default),遇到break停止

3. break语句

  • break(continue也一样)可以停止标识符(myFor1)的循环语句

4. static 静态代码块、实列代码块

  • static 静态代码块:类之前执行,只执行一次! static{ … } 记录日志等
  • 实列代码块在类构造方法前执行(类创建),每次都执行
    工具类一般为静态类static

4. final 关键字

  • 不可变
  • 无法被继承
  • 无法被覆盖
  • 不可重新赋值
  • 成员变量final ,直接赋值 和 构造方法赋值
  • final 修饰的引用,地址不能修改,内容可以修改
    final 和 static 联合使用为常量,一般为全大写

5. package 关键字

  • 命名规范:公司域名倒序 + 项目名 + 模块名 + 功能名
  • 全部小写,也是标识符规则
  • 一个包一个目录,用 . 隔开
  • 使用packe机制后,类名完整加上 + 包名(引包后不需要)
  • 同一软件包下可省略包名

6. import 关键字

  • 引入其它(包名.*) 或(类名)
  • packageclass 之间
  • java.lang.* 是基础包不需要引用
  • ctrl + shift + o 导包(eclipse快捷)

7. 访问权限修饰符

  • public 公共 (任何)
  • protected 保护 (同包,子类)
  • 缺省(同包)
  • private 私有(本类)
    类只能 public 和 default缺省
发布了2 篇原创文章 · 获赞 0 · 访问量 443

猜你喜欢

转载自blog.csdn.net/chengya1919/article/details/104068409