Java知识点整理——(2)编程基础

一、Java命名规则

  1. 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  2. 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

二、Java数据类型

  1. 基本数据类型(内置数据类型)

    byte 8位、有符号、-128—127,默认值0
    short 16位、有符号、-32768—32767,默认值0
    int 32位、有符号、-2,147,483,648—2,147,483,647,默认值0
    long 64位、有符号、-9,223,372,036,854,775,808—+,默认值0L
    float 32位、有符号、符合IEEE 754标准的浮点数,默认值0.0F
    double 64位、有符号、符合IEEE 754标准的浮点数,默认值0.0
    boolean 1位,true/false,全是小写
    char 16位Unicode字符,常量用‘ ‘
    1. Java对Unicode支持采用的是UTF-16的编码实现;在UTF-16下,Java的一个Unicode字符由1或2个char(代码单元)表示。

      UTF-32和Unicode码表基本一一对应,固定四个字节。
      Unicode定义的范围太大了,其实99%的人使用的字符编码不会超过2个字节,所以如果统一用4个字节,数据冗余太大,16位是最好的。遇到超过16位才能表示的字符,可以通过代理技术,采用32位标识。所以现在绝大部分机器实现Unicode采用UTF-16的方案
    2. 整数默认为int型,浮点数默认为double型。
    3. 基本类型的取值范围,已经以常量的形式定义在对应的包装类中。如Byte.SIZE、Byte.MIN_VALUE、Byte.MAX_VALUE。"E+数字"表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。
  2. 引用数据类型
    1. 对象、数组都是引用数据类型。
    2. 所有引用类型的默认值都是null。
    3. 一个引用变量可以用来引用任何与之兼容的类型。
  3. 类型转换

    (1)自动类型转化

    整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级。

    低  ------------------------------------------------------------>  高

    byte、short、char—> int —> long—> float —> double

    (2)强制类型转化

    把容量大的类型转换为容量小的类型时必须使用强制类型转换。

    格式:(type)value

    注:转换的数据类型必须是兼容的;不能对boolean类型进行类型转换。

三、常量

  1. 变量作用域

    (1)局部变量

    1. 局部变量声明在方法、构造方法或者语句块中;
    2. 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
    3. 访问修饰符不能用于局部变量;
    4. 局部变量只在声明它的方法、构造方法或者语句块中可见;
    5. 局部变量是在栈上分配的。
    6. 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

(2)成员变量(实例变量)

    1. 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
    2. 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
    3. 实例变量可以声明在使用前或者使用后;
    4. 访问修饰符可以修饰实例变量;实例变量具有默认值;
    5. 数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。
    6. 实例变量可以直接通过变量名访问。

(3)类变量(静态变量)

    1. 在类中以static关键字声明,但必须在构造方法和语句块之外。
    2. 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
    3. 静态变量除了被声明为常量外很少使用。静态变量储存在静态存储区。
    4. 静态变量在程序开始时创建,在程序结束时销毁。
    5. 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
    6. 默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
    7. 静态变量可以通过:ClassName.VariableName的方式访问。
    8. 类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

四、变量

五、修饰符

  1. 访问修饰符

    修饰符用来定义类(接口)、方法或者变量,通常放在语句的最前端。

    修饰符 当前类 同一包内 子孙类 其他包类
    public Y Y Y Y
    protected Y Y Y
    default Y
    Y

    private Y

    注:上表空单元行代表N。

    (1)访问控制继承关系

    1. 父类中声明为 public 的方法在子类中也必须为 public。
    2. 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
    3. 父类中声明为 private 的方法,不能够被继承。
  2. 非访问修饰符
    1. static:用来创建类方法和类变量

      静态变量 声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被成为类变量。局部变量不能被声明为 static 变量。
      静态方法 声明独立于对象的静态方法。静态方法不能使用类的非静态变量。
      对类变量和方法的访问可以直接使用classname.variablename 和 classname.methodname 的方式访问。
    2. final:final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
      final 变量 final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象,但是 final 对象里的数据可以被改变,也就是说 final 对象的引用不能改变,但是里面的值可以改变。final 修饰符通常和 static 修饰符一起使用来创建类常量。
      final方法 类中的 final 方法可以被子类继承,但是不能被子类修改,声明 final 方法的主要目的是防止该方法的内容被修改。
      final类 final 类不能被继承,没有类能够继承 final 类的任何特性。
    3. abstract:用来创建抽象类和抽象方法。
      abstract方法 抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。抽象方法不能被声明成 final 和 static。任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。抽象方法的声明以分号结尾,例如:public abstract sample();。
      abstract类 抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类。抽象类可以包含抽象方法和非抽象方法。
    4. synchronized
    5. transient
时间: 2024-10-27 11:35:53

Java知识点整理——(2)编程基础的相关文章

[Java入门笔记] 面向对象编程基础(三):成员变量和局部变量

在类中,变量根据定义的位置不同,可以分为成员变量和局部变量. 成员变量是在类体内,方法之外定义的变量,局部变量是在方法中定义的参数. 成员变量 成员变量分为类属性和实例属性,定义时没有static修饰的称为实例属性,有static修饰的称为类属性,类属性和实例属性的区别就是类属性是属于类的,它并不属于哪一个对象,它从这个类的准备阶段就一直存在,一直到这个类完全销毁.实例属性属于对象,只有某个对象被创建时,它才被创建,对象被回收,从属于该对象的实例属性也就被销毁了. 类属性的定义语法: [修饰符]

Java高手真经_编程基础卷——读书笔记(9)——Java类修饰符

Java修饰符 一.简述 访问控制修饰符:public .默认无修饰符.private.protected 其他修饰符:abstract.static.final.native public:意思是公开的,使用范围最广 默认无修饰符,什么也不写:在同一个包内可见 private :私有的 protected:受保护的 abstract:抽象的 static:静态的 final:最终的 native:本地的 sysnchronized:同步 以上是修饰符子字面意思,但其真实的意义也差不多少.下面就

Java高手真经_编程基础卷——读书笔记(7)——Eclipse命名小知识

Eclipse作为开发Java的IDE,从出现到现在已经有好多年的时间了,其丰富的特性,操作容易和在提高生产力方面受到了广大开发者的青睐. 在大家打开Eclipse的时候,加载界面Eclipse字样的右下方都会有一个英文单词,这个便是Eclipse的代号,每个版本代号不同. -------此处以下为摘抄自网络---------- Eclipse自3.1开始使用木星的卫星作为版本名,例如: 木卫一:伊奥 lo 木卫二:欧罗巴 Europa 木卫三:伽倪墨得斯 Ganymede 木卫四:卡利斯托 C

Java知识点整理(二)

List.Set.Map典型实现 HashMap/ConcurrentHashMap Java线程池 Java线程池详解 如何更好的使用JAVA线程池 Spring MVC Spring MVC架构浅析 Spring MVC实践 SpringAutowired实现原理 Spring Boot Spring Cloud Dubbo和Spring Cloud区别.优劣势? 一致性哈希 原文地址:https://www.cnblogs.com/kaleidoscope/p/9796560.html

java知识点整理

一.http和tcp/ip的区别?http是应用层协议,主要解决如何封装数据.tcp/ip则是传输层协议,主要解决数据如何在网络中传递.web应用使用http协议作为应用层协议来封装成http文本协议,然后使用tcp/ip做传输层协议将信息发布到网络上. 二.xml的解析方法?(DOM.SAX)基本的解析方式.DTD.XSLTSAX是基于事件流的解析,DOM是基于XML文档树结构的解析 DOM解析的优缺点?原理:解析器读入整个文档,构建一个驻留内存的树结构,然后就可以使用了.优点:整个树结构存在

Java知识点整理(9)——static变量和方法

1.在类中,用static变量声明的成员变量叫静态变量,或者叫做类属性.类变量.它为该类的公有变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化. 2.类变量是类的公有变量,属于类,被该类的所有实例共享,当类被载入时显式初始化. 3.可以使用“对象.类属性”来调用.不过,一般都使用“类名.类属性”. 4.static变量置于方法区中. 5.用static声明的方法称为静态方法.不需要对象就可以调用(类名/方法名). 6.static方法只能使用static变量,非static方法可以使

【Android 面试基础知识点整理】

针对Android面试中常见的一些知识点整理,Max 只是个搬运工,感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章,对于其中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正. 本文将持续更新,同时我也将其放在Github上:Point-of-Android 同时可以看Max的个人博客:海上钢琴师 Android中的异步任务机制 Android中AsyncTak的使用与源码分析 http://blog.csdn.net/bboyfeiyu/article/details/

Java多线程编程基础之线程对象

在进入java平台的线程对象之前,基于基础篇(一)的一些问题,我先插入两个基本概念. [线程的并发与并行] 在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent).而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方式叫做并行(parallel). 在上面包括以后的所有论述中,请各位朋友谅解,我无法用最准确的词语来定义储

Java面试求职之Java编程基础

Java编程基础 小编目前大三在读,专业电子系.由于对编程感兴趣还有就是对本专业前途的不乐观,还是勇敢的加入所谓的码农之路.学习Java也有一段时间了,快要放假了,想找家公司实习一下.至目前为止,已经面试了好几家公司了,大的有像腾讯.百度.联想这样的大公司:小的也有只有10几个员工的创业型公司.拿到过offer.也有碰壁连面试机会都没得到的. 下面就是一些对面试官面试时问的问题做的一些总结和自己搜集的一些知识点. Java概述和开发环境 Java开发包的总类            随着Java语